5: COMPUTER SCIENCE E-75 (HARVARD COLLEGE)
Computer Science E-75 by the same professor is another good one. Currently the most recent content is a few years old (from 2012), but the fundamentals for the topics are still accurate.
Take a look at the very first lecture on how HTTP traffic works, for example. It is packed with helpful, useful information for anyone who surfs on the Web.
6: INTRO TO COMPUTER SCIENCE (UDACITY)
Intro to Computer Science course at Udacity is another one of my favourites. It focuses on learning computer science basics for beginners and at the same time introduces you to plenty of practical projects using Python.
Some of the problem sets may seem a bit difficult if you’re a beginner. However, if you get stuck you can check out the forum for some help from fellow students.
UNDERSTANDING THE CS JARGON BIT BY BIT
You will start to get the hang of it rather quickly when you learn something completely new that you are genuinely interested in. That said, I started to feel more familiar with the topics in diverse discussion forums and blogs pretty soon after I started with the courses above.
Ultimately, at this point it was clear that I was not doing it all just for the silly, stubborn spreadsheet at work anymore.
Moreover, the more answers and solutions I found to my questions and problems, the more impressed I was by the possibilities of programming in general. It also became quite obvious how important understanding and learning computer science basics before starting programming really is.
Furthermore, reading the forums and blogs (which I now understood!) and seeing how everyone was coming up with solutions for each others’ coding problems was genuinely inspiring. People were helping each other, creating something out of nothing just by writing good code that did the job. This open community with such a positive, supportive atmosphere was just incredibly motivating!