HN Academy

The best online courses of Hacker News.

Hacker News Comments on
Introduction to Computer Science and Programming Using Python

edX · Massachusetts Institute of Technology · 3 HN comments

HN Academy has aggregated all Hacker News stories and comments that mention edX's "Introduction to Computer Science and Programming Using Python" from Massachusetts Institute of Technology.
Course Description

An introduction to computer science as a tool to solve real-world analytical problems using Python 3.5.

HN Academy Rankings
Provider Info
This course is offered by Massachusetts Institute of Technology on the edX platform.
HN Academy may receive a referral commission when you make purchases on sites after clicking through links on this page. Most courses are available for free with the option to purchase a completion certificate.

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this url.

(MIT has its own EdX introductory CS course using Python: )

I haven't taken any paid online courses that fit within your budget, but there are plenty of high quality free courses. Depending on your experience, I'd recommend the following:

- Coursera Learning How To Learn:

- Harvard's Online CS50:

- MIT's Introduction to Computer Science and Programming Using Python:

- MIT's algorithms course:

- MIT's distributed systems course (going on now):

All of the above have high quality video lectures and assignments to work on to get some practice with the concepts.

Are you saying you’ve bought more expensive courses? If so, which ones?
I took one class (computer architecture & assembly language) through Oregon State University's online CS program as a soft-requirement for some in-person classes I'm currently taking. They have the full post-bacc program (, and they also do allow you to take one-off classes. Officially it says you can only take the intro classes, but I just signed up for this class anyways.

It was quite a bit more than OP's budget (total cost came to $1,200 or so), but that ended up being much cheaper than having to take the class at my current program. My employer also helped with 2/3 of the cost.

Are there videos for MIT's distributed systems course ? Can't seem to locate it in the site.
It's on the 'schedule' page:
As vikram360 pointed out, they're on the schedule page ( Since this is the class going on right now (Spring 2020), only a couple that have already happened have been posted so far, but I'd bet they're uploaded pretty soon after their date.

You can also find the Youtube playlist here:

Highly unpopular opinion, I know, but I didn't find learning how to learn very useful. It might as well have been a 30-minute video, and it wouldn't lose much of its content. A lot of the content seems to be rather inspirational than educational.
I actually felt the same. I forced myself to take it after seeing the hype, and it really fell flat for me.
Is there a CliffsNotes version of the content?
Kind of like any book or course like that, I found that the magic wasn't in watching the lectures or reading the book but in deliberately applying some of the strategies to my own learning process.

It was easy to watch and think "OK that makes sense". It was much harder but much more worthwhile to deliberately set aside time for diffuse mode, practice spaced repetition, and quiz myself as I worked through a reading.

What do you want to learn? Programming or CS? CS is more than just programming, and CS theory is more than just Algorithms & Data Structures.

If you want to learn about Algorithms and Data Structures and you have a strong math background, then CLRS is the book to get:

An undergraduate CS curriculum will mostly cover the parts I-VI of the book (that's around 768 pages) plus a few chapters from the "Selected Topics Chapter" (we covered Linear Programming and String Matching). Mind you, this book is very theoretical, and all algorithms are given in pseudocode, so if you don't know any programming language, you might have to go with a an algorithms textbook that is more practical. In my DS course we had to implement a Red-Black tree and a binomial heap in Java, and in my Algorithms course we only wrote pseudocode.

Maybe Sedgewick's (Knuth was his PhD advisor!) "Algorithms (4th ed)" will be a better choice for a beginner, as it shows you algorithm implementations in Java: (If you decide to go this route, you might as well take his two Algorithms courses on Coursera, they will really help).

There are also a bunch of Python-based introductions to computer science which have a broader focus than just teaching specific data structures and algorithms. Some of them emphasize proper program design, debugging and problem solving. I haven't read any of them, so I can't vouch for them, but here are a few of the more popular ones:


This book was written to go along with John's edX course:


Oh and btw, there's also the Theory of Computation, which is a major part of CS theory. Here are a few MOOCs and recommended books on the subject:






Sipser's book is probably the best introduction to the theory of computation, and I believe its last chapter deals with Complexity theory as well.


I loved this book very much. It has a very informal and conversational style (don't let it fool you, the problem sets can be HARD).


Once you are familiar with some computation models, its time to study computational complexity and this is one of the best books on the subjects. It is used both for graduate and undergraduate courses.

HN Academy is an independent project and is not operated by Y Combinator, Coursera, edX, or any of the universities and other institutions providing courses.
~ yaj@
;laksdfhjdhksalkfj more things ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.