Hacker News Comments on
Massachusetts Institute of Technology
Introduction to Computer Science and Programming Using Python
Hacker News Stories and CommentsAll the comments and stories posted to Hacker News that reference this url.
(MIT has its own EdX introductory CS course using Python: https://www.edx.org/course/introduction-to-computer-science-... )
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: https://www.coursera.org/learn/learning-how-to-learn
- Harvard's Online CS50: https://cs50.harvard.edu/college/2020/spring/
- MIT's Introduction to Computer Science and Programming Using Python: https://www.edx.org/course/introduction-to-computer-science-...
- MIT's algorithms course: https://ocw.mit.edu/courses/electrical-engineering-and-compu...
- MIT's distributed systems course (going on now): https://pdos.csail.mit.edu/6.824/
All of the above have high quality video lectures and assignments to work on to get some practice with the concepts.
⬐ minhazm423Are you saying you’ve bought more expensive courses? If so, which ones?⬐ otras⬐ thickiceI 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 (http://eecs.oregonstate.edu/academic/online-cs-postbacc), 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.⬐ vikram360⬐ BossingAroundIt's on the 'schedule' page: https://pdos.csail.mit.edu/6.824/schedule.html⬐ otrasAs vikram360 pointed out, they're on the schedule page (https://pdos.csail.mit.edu/6.824/schedule.html). 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: https://www.youtube.com/channel/UC_7WrbZTCODu1o_kfUMq88gHighly 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.⬐ throwaway123x2I actually felt the same. I forced myself to take it after seeing the hype, and it really fell flat for me.⬐ bkrishnanIs there a CliffsNotes version of the content?⬐ otrasKind 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: http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme...
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: http://www.amazon.com/Algorithms-4th-Edition-Robert-Sedgewic... (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: https://www.edx.org/course/mitx/mitx-6-00-1x-introduction-co...
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.