Getting B.S. in C.S. 2.0

Getting B.S. in C.S. 2.0

Some time ago I have posted a list of free courses that you can take online to have a degree equivalent to BS in computer science (the equivalence is still questionable1). The reason I made the list is because I was going through the same – I have a degree in Linguistics, and had to spend a lot of time taking online courses to get my MS in Computer Engineering.

I hope you will find it useful for your continuing education! :)))

Note that this is a general curriculum released by MIT and if you disagree with it – sorry, cannot do anything about it. Later on I will publish my own curriculum that I am currently using to get deeper into machine learning.

Online BS 2.0: MIT OCW

In the previous version, the list of all the MOOCs was all over the place, and some links were dead before I even started them. I have decided to regenerate the list using the curriculum and videos from MIT Open Courseware. If some courses are not found on OCW, I will try to find their equivalent on other University websites.

General Curriculum

I will not include any requirements posed by the institution itself, only the department – after all, no one cares if you took Abstract Art and Dog Ethics in college (you should though!).


  • 1 Year = 3 Trimesters
  • 1 Trimester = 4 months
  • 1 hour = 1 hour of work per week


Trimester 0 (Prerequisites)

I am assuming you know all of that already! :)

Link and Code Course Title Hours
OCW 18.06 2Linear Algebra 12
OCW 18.03 2Differential Equations 12
OCW 6.042 2Mathematics for Computer Science 12
  Total 36

Trimester I

Link and Code Course Title Hours
CS 50x Intro to CS 6
OCW 6.01 3Robot Sensing, Software and Control  
OCW 6.02 3Communications Networks 12
MITx 6.041 Introduction to Probability 12
  Total 30

Trimester II

Link and Code Course Title Hours
OCW 6.004 Computation Structures 12
OCW 6.006 Introduction to Algorithms 12
OCW 6.031 Elements of Software Construction 12
  Total 36

Trimester III

Link and Code Course Title Hours
OCW 6.033 Computer System Engineering 12
OCW 6.034 3Artificial Intelligence  
CS 229 3Introduction to Machine Learning 12
OCW 6.045 3Automata, Computability, and Complexity  
OCW 6.046 3Design and Analysis of Algorithms 12
  Total 36


The last trimesters focus on specific topics, and you should choose at least two from the MIT website. The above list just gives you a bare minimum required to start writing good code.

The following show what I would pick

Artificial Intelligence and Machine Learning

I would also include Coursera link to Andrew Ng’s class, but I promised I would stick to university links only

Link and Code Course Title Hours
OCW 6.801 Machine Vision 12
OCW 6.864 Advanced Natural Language Processing 12
OCW 6.869 4Advances in Computer Vision 12
OCW 6.867 Machine Learning 12
  Total 48

Other Specializations will come later :)

  1. The degree that you get when paying full tuition is confirmed, and is definitely worth more. The only way it will be equivalent is if you go through all the online courses and ask some university to confirm your knowledge by testing you. 

  2. This is mathematics course – you can skip it if you are sure you know it well  2 3

  3. Pick one from the group  2 3 4 5 6

  4. I couldn’t find videos for this courses 

Zafar Takhirov

Zafar Takhirov
I am a recent PhD graduate from Boston University. While my work focuses on digital design,error mitigation, and machine learning, my non-work interests range widely from information theory (go Shannon!), quantum computing, grandfather paradox, Star Trek, Little Mermaid, 'why is the grass green?', 1Q84, etc., etc., etc. If you want to talk about, well, anything - just ping me.

Passing cv::Mat as argument

Often times when we pass `cv::Mat`, we forget one important thing: `OpenCV` matrix does not respect the `const` modifier.In this post I w...… Continue reading

Hungarian Algorithm

Published on July 19, 2017

Adaptive Classification and More

Published on February 13, 2017