Hacker News new | ask | show | jobs
by georgecmu 5594 days ago
Eventually I plan on going back to a real University and getting a CS degree

Here's a shortcut to going to a real university. Go to the courses' websites, read the lectures and do the homeworks. If you can find a course where lectures have been recorded (video, or even audio), so much the better. Chances are you'll find this approach easier to follow and stick with than working through a book. These lectures have been specifically designed to feed students knowledge in 45-90 minute chunks, and assignments have been designed to reinforce the lectures contents without overwhelming the students. I'm partial to CMU CS course structure, which basically is:

1. Intro to programming (basic Java/C++ course: principles and syntax)

2. Intro to Data Structures and Algorithms (some theory, mostly programming in imperative languages -- C++ or Java)

3. Advanced Data Structures and Algorithms (more theory, but mostly programming in functional languages -- ML)

4. Systems level programming (systems concepts -- memory, cache, page tables, etc; programming -- C and assembly)

5. Algorithms (CS theory, almost no coding)

I think you can safely skip 1 and 4, and even 3, to get CS fundamentals that would carry you far in enterprise-level programming world.

Here are materials you could start using immediately:

Data/Algo 1:

lectures: http://www.andrew.cmu.edu/course/15-200/s06/index/lecture_in...

assignments: http://www.andrew.cmu.edu/course/15-211/hw.html

Data/Algo 2:

lectures: http://www.cs.cmu.edu/~me/212/schedule.html

assignments: http://www.cs.cmu.edu/~me/212/assignments.html

Algorithms

assignments, tests and lectures: http://www.cs.cmu.edu/afs/cs/academic/class/15451-s10/www/

And finally trying to memorise all those linux commands I ALWAYS forget.

Make a Linux box your primary computer at home (if you aren't allowed to do it at work). You'll be surprised how quickly you'll memorize them.