Hacker News Comments on
CS50's Introduction to Computer Science
Hacker News Stories and CommentsAll the comments and stories posted to Hacker News that reference this url.
This is very good stuff. I'd also recommend CS50x,  the Intro to Computer Science from Harvard for those who need an intro before diving deeper, as it gives a solid grounding in most of these topics.
Harvard’s CS50  is where I started in my self learning journey. I found it very difficult but it’s given me a really good base to build upon.
CS50 hits the sweet spot of excellent online material, large online community and fun.
I'm surprised you didn't list CS50. That's one of the best intro to programming / CS courses around.
You can enroll for free at: https://www.edx.org/course/cs50s-introduction-to-computer-sc...
I never went to University and didn't take a lot of CS courses but since I create web development video courses I wanted to be able to reference other courses to folks who asked so I took CS50 a few years ago to vet it. It was a great intro course and I even learned a little bit of C in the process. David Malan (the head instructor) is also top notch.
⬐ 8589934591CS50 is good, but I personally don't like it. I prefer MIT/Princeton/UCB intro courses comparatively. CS50 starts off with C for 3-4 weeks IIRC. Then moves on to python/sql/webdev. Not only is this fast paced, but it also covers a lot of breadth in a short time. For a self learner who has a full time job without proper support structure like peers and office hours which you get in the on campus version, it is difficult (not impossible) to go with the pace of the course. I do agree Malan is a great instructor.
In contrast, I like the MIT/Princeton/UCB courses since they use an easier language to start with and also introduce C in the later courses for systems programming.⬐ bananaheel⬐ tinodotimI found CS50’s schedule very difficult to keep up with while working full-time. I fell behind at points but I didn’t find much if any penalty in taking a little longer to finish the class. I was motivated and putting the time in to absorb the material to the point where I was satisfied.edx still has last years version online (I think until like mid-January), so if anybody wants to start between now and then, use: https://cs50.harvard.edu/college/ for the latest Fall 2019 edition.
You can still switch to edx as soon as it's live there.⬐ markus_zhangCS50 should really stick with C and go as deep as possible. But it's good to learn multiple languages in the same course -- even then I prefer they put a functional language like Scala instead of Python. I mean once you know C it's really easy to pick up Python by yourself.
I'd say 50% C and 50% Functional, and remove the web part, really superficial and boring. And then go as deep as possible. Can even intertwine the C/Functional part, e.g. write an interpreter for a subset of the functional language in C as the last large project.
I taught myself programming over the course of a couple of years, having started from pretty much zero. Now I am working part time as a developer for a startup, and run a business of my own - having built not just the website and app for my business, but also developed the hardware and firmware!
Below are the classes that I took to get started along with a bit of a storyline:
http://learnpythonthehardway.org/ - I started this a while ago and never finished because I got distracted. It's kind of bare bones, but will get your wheels spinning.
https://www.edx.org/course/introduction-computer-science-har... - I started and got all the way through the last problem set. This course is EXCELLENT: wonderful lectures, challenging assignments, expansive community (facebook group, reddit.com/r/cs50, stackoverflow, etc). If there was only one class to pick from this list, CS50 would be it.
After CS50, I wanted to get good at a specific language and decided to learn Python. It is a very flexible and powerful language. It's very clean syntactically making it easier to learn. You can use if for data science, for little scripts, for web development, for pretty much anything.
https://www.edx.org/course/introduction-computer-science-mit... - i started this late (not self paced like the CS50), and played catch-up a good amount of the time. A solid class, mostly did it because I wanted to get good at Python. I got most of the way though this course as well.
https://www.edx.org/course/introduction-computational-thinki... - I started this class next because I wanted to use Python to crunch numbers, and eventually get into machine learning. I made it just a few weeks into this course before getting distracted with my own projects.
It's not just about learning a programming language, but learning to program. With two hours a day, you can churn through the CS50 course in a couple of months, during which you'll build a website & webapp. It'll definitely be a challenge (it took me a couple of tries to make it all the way through), but it's an amazing course - make sure to take advantage of the huge community.
I recommend cs50x: https://www.edx.org/course/introduction-computer-science-har...
Top notch quality free course
CS50 , if you're just getting started. It's Harvard's entry course to Computer Science, free, and covers most of the knowledge a beginner needs to get started.
There's a really great course from Harvard called CS50. This course teaches C with training wheels on so to speak and later removes them. Would highly recommend taking it. It's also free!
⬐ philonoistThese are self-paced! Very handy. Thank You.⬐ hugjaNo problem! I forgot to add in my original post that after the first 5 or 6 lectures the course switches to Python from C. You'll end up hitting two birds with one stone.
Also, there's a very active community around CS50 on Reddit where you can get help when ever you need it.
This is CS50!
⬐ shpxThis is how I got into programming, some people laughed at me for learning C as my first language, but I think it paid off.⬐ marincountyThe Harvard computer sci course really helped me out. I didn't take the class, but put all classes on my iPod. I would listen to lectures while exercising at night.
This course really helped me understand the ever changing computer lingo. I probally should have done the lessons.
Once you get used to the vocabulary, and all the acronyms--it's all starts to fall into place.
Harvard offers a free web course that teaches basic concepts and helps start the process of learning to code.
Check out this class https://www.edx.org/course/introduction-computer-science-har.... It might be below your skill level, but if it's not go through it. It's very interactive and you'll enjoy learning the course material.