My experience with 6.0001 on MIT OpenCourseWare

Palash Sharma
4 min readMay 15, 2020

Hi stranger. I hope you’re having a great day. Since you’ve taken this really dangerous step of actually reading my first blog on Medium, I’m going to try extra hard to look cool, just for you!

6.0001 — “Introduction to Computation and Programming using Python” — is a half a semester long MOOC offered by MIT, both on it’s OCW website and on edX. It is the 1st part of a 2 part series on “Computational Thinking Using Python”. The 2nd part is called “Introduction to Computational Thinking and Data Science”, which I am going to start tomorrow.

Photo by Nick Dunlap on Unsplash

What did the course offer?

If you go over to the edX web page for the course, you’ll see this listed under “What you’ll learn”-

A Notion of computation

The Python programming language

Some simple algorithms

Testing and debugging

An informal introduction to algorithmic complexity

Data structures

Disclaimer: I did not technically take the course on either OCW or edX. I did kinda both. After enrolling on edX in late January, I watched the first 2 lectures and then,… well, something happened, and I decided to stop until the beginning of this month. I had obviously downloaded the videos. I did not see any difference between the problem sets on OCW and edX.

So, from 1st of May, I spent more than 10 hours per day everyday on 6.0001. And I am glad to say it was more than worth the time. I should say, though, that I was not a complete beginner.

My past curious explorations

Photo by Sharon McCutcheon on Unsplash

I learnt C before joining college and could implement basic data structures and algorithms in it. This was all self-taught, as my college will be teaching Data Structures & Algorithms courses in sophomore year.

Plus, throughout my freshman year (August 2019 to present), I tried many different things, including —

Competitive programming(2 contests + some practice). I realized it was really stupid, or maybe I was. I don’t know.

Then I began reading the book “Structure and Interpretation of Computer Programs”, which I left reading after ~100 pages. I’ll do it in my sophomore year.

And like I said, I learnt basic data structures and algorithms.

In between, my other self imposed intellectual expeditions included - Linear Algebra — MIT’s famous MOOC, Multivariable Calculus — ditto and other general physics & math books I read for — to fill the void I have created in my life with no one to talk to — oh … fun, I read it for fun.

The Real Deal:

So!

Was this MOOC offered by the best university in the world a cakewalk for me?

Are you medically stupid?

But seriously, this class was just enough challenging to be interesting(like sicp). It taught me what it promised to teach, more importantly what I wanted to learn and it gave me something that was just fundamentally lacking in me — confidence. It was like I met Tyler Durden (Prof. Eric Grimson) who lifted me up from my past self and introduced me to this Fight Club(Spyder).

Photo by David Guliciuc on Unsplash

Those things I spent hours on trying to get my head around but still couldn’t, were so easily explained by him.Things like Big Oh, merge sort and OOP(I know Java!) don’t seem so hard now. And may I offer my special thanks to Professor Guttag for writing that fine book that the course recommended. I thoroughly enjoyed reading it.

What did I actually do?

So, here is what I did.

I spent the first 5-7 days only reading the book(the first 10 chapters(including finger exercises(Lisp helped beautify brackets for me))required for 6.0001), then the remaining days were spent on watching the lectures(which would help review the book) and solving the problem sets(which was my first exposure to writing(or at least reviewing) >250 lines of code in a day). I am so thankful for these two geniuses(and proud of myself!) because I did not even have to search the web for solutions! I did it all on my own!

Future Plans!

After getting done with 6.0002, I have decided to utilize this lockdown by finally finishing “Algorithms in C” — by Sedgewick and another OCW course called — “Mathematics for Computer Science”. I’ll then get started with Lisp again and CLRS, of course.

What do you think? Am i going too fast? Should I slow down? Should I speed up? Will you be my friend? — sorry for that.

I have put all the code on my GitHub — https://github.com/palashsharma891

Thank you MIT. Thank you professors. Thank you for reading!

See you after 6.0002!

--

--