The Amazing Colossal Lifelong Learning Ketchup

Taking inspiration from some guy who decided to do a self learning journey through the entire MIT CS undergrad education in 1 year, I’m curious how I stand after spending 1 year doing something in the same spirit.  There was quite a bit of overlap of my own undergrad education and that of the MIT CS undergrad, so let’s see how I would stack up if I were to attempt the MIT CS 1 Year Learning Challenge.  

8.01: Physics I – Classical Mechanics – COMPLETED @ UIUC

18.01: Single Variable Calculus – COMPLETED in High School

18.02: Multi-Variable Calculus – COMPLETED in High School

8.02: Physics II – Electromagnetism – COMPLETED @ UIUC

6.01: Introduction to EE and CS I – COMPLETED @ UIUC

5.111: Principles of Chemical Science – COMPLETED @ UIUC (I will count this as Orgo)

7.012: Introduction to Biology – COMPLETED @ UIUC (I will count my microbiology)

18.03: Differential Equations – COMPLETED @ UIUC

6.02: Introduction to EE and CS II – COMPLETED @ UIUC

6.042J: Mathematics for Computer Science – TBD 

6.006: Introduction to Algorithms – COMPLETED with Coursera

18.06: Linear Algebra – TBD with Coursera

6.041: Probabilistic Systems Analysis – TBD

6.002: Circuits and Electronics – COMPLETED @ UIUC

6.046J: Design and Analysis of Algorithms – COMPLETED with Coursera

6.034: Artificial Intelligence – TBD with EDX

6.003: Signals and Systems – COMPLETED @ UIUC

6.004: Computation Structures – TBD

24.241: Logic I – COMPLETED with Coursera

14.01: Principles of Microeconomics – TBD?

6.033: Computer Systems Engineering – COMPLETED @ UIUC & futher on Coursera

6.013: Electromagnetics and Applications – COMPLETED @ UIUC (I will count Power Circuits towards this goal)

14.02: Principles of Macroeconomics – TBD?

24.242: Logic II – TBD

6.011: Intro to Comm., Control and Signals – COMPLETED @ UIUC

24.244: Modal Logic – TBD

14.20: Industrial Organization – TBD

14.23: Government Regulation of Industry – TBD?

14.48J: Economics of Education – TBD?

6.005: Elements of Software Construction – TBD

6.801: Machine Vision – TBD

6.837: Computer Graphics – TBD

COSC 545: Theory of Computation – TBD

I’m not sure I’d actually want to complete the rest of this course list!  I’m very glad I am not forced to jump through these hoops.

I count Coursera curriculum as part of some hypothetical uber undergrad curriculum based on the level of rigor of the coursework.  Comparatively, the Coursera (Edx, etc) coverage will go far beyond that of any single undergrad major in breadth and sometimes in depth, without going into the details of research and papercraft!  

Mirroring the MIT Challenge FAQ, my Endless Coursera Et All Challenge FAQ.

Here’s my progress after one year.

Completed Fall 2011 

  • Intro to C Programming – UW Online * CS61A – UC Berkeley (Part 1/3)
  • Relational Databases – Stanford (no samples) Completed Spring 2012 

Completed Spring 2011

  • Software Engineering for Saas in Ruby on Rails – UC Berkeley 
  • Natural Language Processing – Stanford (1/4)
  • Design and Analysis of Algorithms I Part 1 – Stanford
  • Udacity CS101 – Building a Search Engine
  • Game Theory – Stanford 
  • CS61A – UC Berkeley (Part 2/3)

Completed Summer 2012 

  • Algorithms I – Princeton 
  •  Networked Life – UPenn Completed Fall 2012

Completed Fall 2012

  • Statistics One – Princeton
  • Computing for Data Analysis – John Hopkins 
  • Introduction to mathematical thinking – Stanford – Lectures only
  • Web Intelligence – IIT  

Currently In Progress Fall 2012 

  • Functional Programming Principles in Scala – EPFL 
  • EDX CS188 – Berkeley 
  • Mathematical Biostatistics Bootcamp – John Hopkins
  • Computational Investing – Gtech 
  • CS61A – Berkeley (Part 3/3)

What rules am I following?
Coursera is definitely easier to delineate completion as it was designed to be taken in a self-study format.  However, I am also supplementing with EDX, Udacity, Berkeley, and any other online material that is sufficiently polished to cowboy on.  

Unless specified, I am doing all the following for “Class Completion”:
  • Watch all posted lectures
  • Do all in lecture quizzes
  • Do all assigned quizzes and homeworks
  • Do all non-optional programming assignments
  • Do all programming projects as long as they have some sort of unit tests or test cases written so that I can quickly measure my progress. 
  • Attempt to complete course within the time constraint that the class is in session or sooner

Because I hate exams, I generally do not do them unless it’s a math class.  Generally these online classes will automatically grant certificates based on achieving at least a 70% in the class, so I do not have to do that measurement myself.  I do aim for a score that I would be happy with if this were my GPA though.

Why do this?

I am not sadistic. I just feel like this is actually the path of least resistance to gaining knowledge.  I believe failing and trying again and sometimes taking longer than others is part of the learning process.  If I don’t complete a class within time constraints, I continue until I finish.  In the normal time-constrained world, that would be counted as failure — end of story.  I am doing this as part of an exploratory process that can only be simulated if I were to stay in college for decades.  

Is there No Failure?

Sometimes I have encountered classes I just cannot stomach or I just can’t seem to make any headway into.  Those I will abandon readily but with great sadness! 

What’s Next?

There’s quite a few more Courseras on my list in my bigger list of things I’d like to achieve personally. 
  • Go back and review some Calculus and Linear Algebra with the upcoming Courseras
  • Learn more Chinese with
  • With the undergrad curriculum as a guideline, use Coursera to further that as well as for my own exploratory desires
  • Start and finish a personal project
  • Get to 300K on!
  • Work on my colossal reading list, see also the Amazing Colossal Science Fiction Ketchup

The Online & Free Education

This is such an amazing week.  It is such an incredible time to be young of mind and free to pursue educational desires.  Free, online classes are starting to populate for this semester.  I’m feeling more and more torn that I cannot just drop everything else in my life just to enjoy these amazing resources.  On the other hand, it was as if these classes were conceived with the busy, corporate worker in mind.  It’s as if the designers put every thought of my schedule and convenience when creating the online curriculum.


Tonight is something of a historical night, now that two offerings on have finally come online after some time in preview.  I’m going to be following both the Software As A Service Berkeley class with Ruby on Rails, and Model Thinking from UMich.  The first is interesting because it is teaching something that is very relevant to the IT industry, whereas in general a computer science curriculum emphasizes the science and math aspect.  The second class fits more under philosophy or some other soft science.   I am very curious how they will be utilizing Coursera and how effective they will be in educating me.  

Luckily for the administrative hiccups, Stanford’s Coursera courses have all been delayed, and I might be able to consume all of their offerings after all.


Tomorrow, the first Udacity CS classes will be launching!  I will be following along the CS 101 Search Engine class, although it hardly seems as basic as 101 suggests it should be.  Udacity will be an interesting experiment to see if Professor Thrun’s certifications for his classes will carry any weight in the real world.  I love the idea that a single man is doing what it took universities so long to get running.  I love that a single man will accredit his classes and universities be damned.  I would love to see a future where professors break free of the university model, break free of the ivory tower by getting real time feedback from the world, stay current with technological trends, and teach the world.


MITx is doing something similar to Stanford and Professor Thrun, in that they are offering free online courses then charging a fee for the certification, although if done correctly it shouldn’t be too different from other types of accredited engineering certifications.  I am excited they will be offering “real engineering” classes rather than so many more software classes.   But I won’t be experimenting on their platform until they’ve offered something I haven’t taken.  I am sad yet relieved at the same time!

Open Courseware

I’m also following along Berkley’s SICP class online in near real time. These are just independent study materials, but the exercises and projects have been educational!  I found this material to be easier to digest than the MIT opencourseware’s equivalent Intro to Computer Science course material.  Both courses are taught in Python.  The first has homework solutions and the later has the benefit of video lectures.  Probably the most wholesome approach is to use both, although I don’t plan to do that.

I wonder how and will fare with these giants now playing in their sandbox?   It seems to me that neither offers a very complete solution to the online education problem.  Codecademy is still very vocational and lacks anything that resembles study material, while codelesson is essentially structured self study and doesn’t have the power to draw large virtual rosters.  

Greatest hits

  • 1,734 hits