I just started the Harvard University CS50x online MOOC (Massive Open Online Course) about 3 weeks ago and I think it's FANTASTIC! For a relative programming newbie (not counting learning some BASIC and Pascal in high school about 35 years ago, and one semester of FORTRAN in college), I am getting WAY MORE information and experience from this one course than I've gotten from any Udemy course, YouTube videos, or book I've ever tried in the past. Yes, Professor David Malan does not teach Swift or Xcode, so for you fellow future iOS and Mac programmers out there, this may seem like useless extra information. But what he DOES teach is HOW to code. And by that, I mean he teaches the logic behind programming and how to learn to find information as you go. The bulk of the course is spent learning C, but later on he gets into Python, SQL, HTML, CSS and JavaScript (I think the point being that once you learn C, you can pretty much learn ANY modern language pretty easily).
Anyway, the point of my post is to tell the newbies out there that if you REALLY want to learn how to program, this is one of the best introductory courses I've ever seen...and I've tested out quite a few of them. The trick is, though, that you need to really work through the labs and the problem sets for each lecture. It's not enough to simply sit through the videos and try to absorb it. In order to really understand how to program, you need to work through the PROGRAMMING. And as a warning, some of these problems are pretty simple, but many of them are VERY CHALLENGING. It requires a lot of time, hard work, and just plain THOUGHT. Sometimes, you really feel like a particular problem is painful just to wrap your brain around it. But when you figure it out, it's EXTREMELY SATISFYING!!! I now see why the coding gurus out there LOVE their jobs so much. It feels like you just climbed a mountain every time you solve one of these challenging programming assignments. So, I highly recommend this course for those of you who want to learn to code, and for those of you who are just looking for fun new challenge.
Anyway, the point of my post is to tell the newbies out there that if you REALLY want to learn how to program, this is one of the best introductory courses I've ever seen...and I've tested out quite a few of them. The trick is, though, that you need to really work through the labs and the problem sets for each lecture. It's not enough to simply sit through the videos and try to absorb it. In order to really understand how to program, you need to work through the PROGRAMMING. And as a warning, some of these problems are pretty simple, but many of them are VERY CHALLENGING. It requires a lot of time, hard work, and just plain THOUGHT. Sometimes, you really feel like a particular problem is painful just to wrap your brain around it. But when you figure it out, it's EXTREMELY SATISFYING!!! I now see why the coding gurus out there LOVE their jobs so much. It feels like you just climbed a mountain every time you solve one of these challenging programming assignments. So, I highly recommend this course for those of you who want to learn to code, and for those of you who are just looking for fun new challenge.