I basically followed this: http://coursecatalog.web.cmu.edu/schools-colleges/schoolofco...
- but "took" more courses than necessary for my self-learning (I think I read through all of Logic / Language courses, insanely fascinating topic).
- I would not recommend a self-learner to follow it rigorously. Like if you are a working programmer, look for material that will help you at your work. Idea is to apply the knowledge.
- Some courses have assignments shared so that's great if you have the time check them out too. Definitely great for their database courses.