How do I completely self study computer science?
- by Optimus
Being a completely self taught programmer I would like it if I could better myself by self-learning computer science course taught to a typical CS grad.
Finding different resources on internet has been easy, there is of course MIT open course ware, and there are Coursera courses from Stanford and other universities. There are numerous other open resources scattered around the Internet and some good books that are repeatedly recommended.
I have been learning a lot but my study is heavily fragmented, which really bugs me, I would love If somewhere I could find a path I should follow and a stack I should limit myself to so that I can be sure about what essential parts of computer science I have studied and systematically approach those I haven't.
The problem with Wikipedia is it doesn't tell you whats essential but insists on being a complete reference.
MIT open course ware for Computer science and Electrical Engg. has a huge list of courses also not telling you what courses are essential and what optional as per person's interest/requirement. I found no mention of an order in which one should study different subjects.
What I would love is to create a list that I can follow like this dummy one
SUBJECTS DONE
Introduction to Computer Science *
Introduction to Algorithms *
Discrete Mathematics
Adv. Discrete Mathematics
Data structures *
Adv. Algorithms
...
As you can clearly see I have little idea of what specific subjects computer science consists of.
It would be hugely helpful even if some one pointed out essential courses from MIT Course ware ( + essential subjects not present at MIT OCW) in a recommended order of study.
I'll list the Posts I already went through (and I didn't get what I was looking for there)
Computer science curriculum for non-CS major? - top answer says it isn't worth studying cse
How can a self-taught programmer learn more about Computer Science? - points to MIT OCW
Studying computer science - what am I getting myself into?
Overview of computer science, programming