Courses
- Harvard - CS50’s Introduction to Computer Science
- This is a great introduction to Computer Science from Harvard that’s aimed at the general population (i.e., not necessarily CS/programming majors). It’s free and self-paced (like everything else I’m going to suggest), and covers the fundamentals of CS/programming/algorithms and algorithmic thinking, plus it serves as an introduction to several popular programming languages, and Web development. I suggest to go through this course end-to-end once, and come back later to revisit specific topics as you gain more experience.
- MIT - Introduction to Computer Science and Programming
- This is another entry level CS/programming course, from the top university in the field. As opposed to the Harvard course, this one is aimed at CS/programming majors and is significantly more difficult. It covers algorithms and data structures on a more detailed level. I suggest to start with lectures 1-9 and lecture 11 initially, then go through the rest of the content slowly, and revisit all of it often.
- Stanford School of Engineering - Databases
- Another great introductory course from a top university. No matter what kind of software development you do, you will most likely have to deal with databases often so it’s good to have a solid understanding of them. This is another course that you’ll have to revisit often as you gain experience.