OSS University - A Free Computer Science Degree Curriculum Source: Sue Gee
Open Source Society is an initiative on GitHub to devise a complete curriculum for studying computer science using courses from prestigious universities in your own time and for free.
Lots of computer programmers are self taught, picking up the knowledge they need as they go along and many don't find the lack of formal qualifications a barrier. On the other hand, having a computer science degree is likely to enhance your employment opportunities.
If you don't want, or can't afford, to interrupt your career to enroll in a traditional bricks and mortar university the newly launched Computer Science curriculum from the Open Source Society's “path to free self-taught education” might be what you are looking for as an alternative.
According to its GitHub Page:
“This is a solid path for those of you who want to complete a Computer Science course on your own time, for free, with courses from the best universities in the World.”
It goes on to explain:
"we gave preference to MOOC (Massive Open Online Course) type of courses because those courses were created with our style of learning in mind.”
What OSS University provides isn't just a collection of courses, it is a list that equates to the core content of a typical computer science undergraduate degree. Students are expected to tackle them sequentially although as some run to specific schedules this might not always be possible - the trick here would be to sign up while they are open, complete the material in your own time and re-register if you have missed the deadline for the exam the next time around.
Helpfully the first course on the list, Introduction to Computer Science, CS50x on the edX platform, is one you can start at any time. Coming from Harvard University this course, which is listed as lasting 12 weeks with 10-20 hours effort per week is based on "live lectures" taught in 2011 by David J. Malan at Harvard.
Intended as:
an introduction to the intellectual enterprises of computer science and the art of programming
CS50 teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, PHP, and JavaScript plus SQL, CSS, and HTML. Its nine problem sets are inspired by real-world domains of biology, cryptography, finance, forensics, and gaming.
This seems a really good starting point. It is a popular course that presents sufficient challenge to test students commitment. The next two courses on the list:
Introduction to Computer Science and Programming Using Python
(9 weeks, 15 hours per week)
and
Introduction to Computational Thinking and Data Science   
(9 weeks, 15 hours per week)
are also on edX and form a two-course sequence from MIT taught by Eric Grimson and John Guttag. Together 6.00.1x and 6.00.2x are designed to help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle useful problems.
The final course in the introductory section of the curriculum is on the Cousera platform:
From Nand to Tetris (7 weeks, 5-10 hours per week)
In it students:
Build a modern computer system, starting from first principles. The course consists of six weekly hands-on projects that take you from constructing elementary logic gates all the way to building a fully functioning general purpose computer. In the process, you will learn -- in the most direct and intimate way -- how computers work, and how they are designed.
For more details of this groundbreaking course, see Learn By Building Your Own Computer.
After this foundation the curriculum goes on to other topics that are part and parcel of a computer science degree such as program design, programming paradigms, software testing, computer architecture, databases, cloud computing to machine learning, natural language processing, Big Data, and the Internet of Things, interspersed with quite a lot of math.   
To join the growing group of students "officially enrolling" in the OSS and embarking on their studies the main prerequisite is a familiarity with GitHub. you need to create a student profile giving your name, GitHub, Twitter and LinkedIn user names plus a link to your blog which also lists your completed courses as a comment on the repo's Students Profiles issue. The idea of doing this is to make a "public commitment" making it less likely that you will drop out and also forms part of the community experience of being part of OSS University. Other community aspects are a Facebook group and a subreddit to enable participants to share their experiences and OSS also suggests students create a blog or GitHub repository to summarize what they learned, and to keep their files course files organized.
To track progress though your degree, which will take many months, especially if you go on to specialist electives, as you finish each course you update the comment to reflect your progress.
OSS University seems a great way to take advantage of the MOOC phenomenon. Now it needs enough committed students to form a supportive community and recognition from the outside world of the validity of this self-taught approach.
| }
|