Self Studying Computer Science with OSSU
I’m a self taught developer and never formally studied Computer Science. Currently I’m working on the Frontend, mostly in React, and the lack of CS hasn’t been a big obstacle. My approach to learning development was ‘learn to build’ — in a purely practical, product focussed way. This served me well to get started and got me to being job ready in the fastest span of time.
A CS education isn’t essential to work as a Software Engineer, but that doesn’t mean that it isn’t valuable or interesting in it’s own right. I decided to self-study CS mostly to satisfy my own intellectual curiosity, to understand what is happening under the hood when my code runs, and the environment that it is running in. To understand what is and isn’t possible and to open up other areas of software than I will then be able to contribute towards building. It’s part academic, part professional development, and part hobby. And I’m having a lot of fun doing it. This is a subject that is infinitely interesting and there’s inexhaustable, free, high quality material to learn from on the internet — so why not keep studing?
I started with teachyourselfCS and then found OSSU — its structure made learning from it much more sticky for me, so I switched over and will use TYCS for reference when the material diverges.
OSSU is an open source, free, self study Computer Science curriculum that follows what you would learn in an undergraduate programme, with some extras thrown in. It is self paced and asynchronous so it can easily be done on the side of other commitments, and sped up or slowed down as you need to. There is no certification when you complete it — the take-away is the knowledge and skills you build from the process of learning.
It covers all the key subjects that would be covered in an undergraduate syllabus:
- Design Patterns
- Software Architecture
- Math for CS
- Operating Systems
- Plus some extras that aren’t often covered:
- Version Control
- Command Line
There are 54 seperate courses that make up the programme, which sounds daunting, but this is a very thorough course and the advanced courses are electives — you don’t have to cover all of them.
The course is mostly made up of self contained online courses. There are other self-led CS courses, like teachyourselfCS which focus on filmed lectures and text books. Where OSSU is a bit more user-friendly is that the content is specifically made to be studied individually and outside of a classroom. The first course, an introduction to Python by Charles Severance, is a gem, easy to follow, well explained and engaging. Expect lots of coursera and edx.
YMMV, but studying 20 hours a week it should be possible to finish in 2 years.
They have a great google sheet with a timeline that estimates your time to completion based on how many hours you can invest per week.RSS