Should I take MIT 6.001x after completing Harvard CS50x?

Quora Feeds

Active Member
Brian Lang

It really depends on how well you did in CS 50x.

The only real thing you'll be learning if you take 6.00.1x that you wouldn't in CS 50x is Python- you already know about different algorithms, and the process of writing code. If you did decently in 50x, I wouldn't recommend taking 6.00.1x; basically all you'll get out of it is just the syntax of a new language, which you will learn at a horribly slow pace.

If you didn't do so well in CS 50x, then consider taking 6.00.1x. It may seem slow at times, covering material you've already learnt, but, it will help you solidify your knowledge of basic programming concepts.

Either way, consider taking MITx 6.00.2x: Introduction to Computational Thinking and Data Science. It will provide some more useful, structured programming practice, just like 6.00.1x, and is taught by the same professors. However, instead of rudimentary programming, it covers useful topics such as simulations and statistics. If you're interested, you can just brush up on Python from one of many online tutorials (versus spending 9 weeks) and jump right in.

Keep on learning more Computer Science if it's your thing, but don't take 6.00.1x unless you struggled in CS 50x- move on to more "intermediate" level courses, such as 6.00.2x.

MITx 6.00.1x:
covers the notion of computation, the Python programming language, some simple algorithms, testing and debugging, and informal introduction to algorithmic complexity, and some simple algorithms and data structures.​
HarvardX CS 50x:
teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, PHP, and JavaScript plus SQL, CSS, and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming.​
MITx 6.00.2x:
6.00.2x is aimed at students with some prior programming experience in Python and a rudimentary knowledge of computational complexity. We have chosen to focus on breadth rather than depth. The goal is to provide students with a brief introduction to many topics, so that they will have an idea of what’s possible when the time comes later in their career to think about how to use computation to accomplish some goal. That said, it is not a “computation appreciation” course. Students will spend a considerable amount of time writing programs to implement the concepts covered in the course. Topics covered include plotting, stochastic programs, probability and statistics, random walks, Monte Carlo simulations, modeling data, optimization problems, and clustering.​


See Questions On Quora

Continue reading...
 
Top