I’m pursuing a Bachelors in Science, Computer Science and Information Technology (BSc. CSIT) in Nepal. About fourth semester in, I realized I could not just rely on what I was taught in the class. For one, I didn’t understand what the teachers said. They made things complex than it was absolutely necessary and obviously not all of them were qualified in the subject matter. I prefer learning from videos than from texts, so I started looking for MOOCs.

This is a list of MOOCs that I followed during my four year study of BSc. CSIT (although I started following MOOCs since fourth semester only). As of the moment of writing this, I am in seventh semester so this list is in no way comprehensive or complete, for that matter. It’s just something I hope would help you along the way just like it helped me.

Fourth Semester

  • Theory of Computation: Jeffrey Ullman, the author of the textbook recommended for the course, hosted an excellent MOOC on Coursera in 2012 that covered most of the topics mentioned on CSIT syllabus. It is not available on Coursera now, but you can watch it on YouTube. Another one you might find worth watching (especially for the latter parts in the syllabus) is by Prof. Harry Porter (no kidding): Theory of Computation.
  • Database Mangement System: Available via NPTEL Open Online Course (NOC), this series on Fundamentals of Database Systems, taught by Prof. Arnab Bhattacharya of IIT Kanpur, closely relates to our syllabus.

Fifth Semester

  • Computer Networks: I followed the Computer Networks MOOC which was hosted by Prof. David Wetherall (University of Washington). It was an awesome course where the professor even shared the advances in the current networking technologies, which even my college’s professor didn’t know of, and was not mentioned on the textbooks either. One of the reasons why I love MOOCs. Unfortunately, the course is no longer available on Coursera and I couldn’t find it on YouTube.  I was able to find it preserved by the Archive Team. But, you’ll need to download a huge archive (44G to be exact :O ) to view it. Here’s the gist file that contains the download link and the related slug name: https://gist.github.com/mihaitodor/b0d8c8dd824ab936c057508edec377ad. Search for “Computer Networks” and download the archive that is linked just above it.
  • Design and Analysis of Algorithms: One of my friends suggested me the NPTEL MOOC hosted by Madhavan Mukund (Chennai Mathematical Institute). It’s very easy to understand and very thorough. I’d recommend it to anyone. It was available on YouTube as a Playlist. But seems like they’ve changed the videos to unlisted status, so now you need to go through their site’s course listing.
  • Neural Networks: This course is very vast. I mean, it covers a lot of grounds that are not at all introductory. Our teacher claimed that it is better suited for graduates. You can find several resources to learn Neural Network on the web. Nonetheless, the best ones include the well renowned course on Machine Learning taught by Prof. Andrew Ng. If you like, you can follow it up with Prof. Geoffrey Hinton’s course. For a practical introduction, I highly recommend you to go through the book Make Your Own Neural Network by Tariq Rashid.
  • Cryptography: There are a few courses on Cryptography on Coursera: Course 1, Course 2. I followed these selectively, because I found many of the videos difficult to understand.

Sixth Semester

  • Real Time System: It is one of those subjects that you just can’ t get enough of. Just kidding. Real Time System was hated by most of my friends, and I did too. Until I came across an MOOC, that is. It made life easier. Although it doesn’t cover everything on our syllabus, it certainly makes most of the things understandable. Do not completely depend on it, as it does not cover things in as detail as the book does, and the later chapters are not even mentioned. But, it does make it easy to understand the basic concepts so that you can follow what’s being said on the book. The course is available on Coursera.
  • Compiler Design and Construction: Prof. Alex Aiken’s MOOC is very thorough and understandable. But, the semantic analysis part differs from the one in our syllabus. So, I had to follow it up with lectures by Sarfaraz Masood. However, these videos are quite fast and may not be suitable for someone who hasn’t gone through the text already.

How & Where to get Notes?

Sure there are several sites where you can get notes. But, what I usually do is, I google. As you know, most of the part of our course is lifted off of Indian courses. So, I usually look up for Indian notes as well. Faadooengineers is a site with study materials for Indian students, and the forum is where users post their notes and study materials. So, what you can do to search for notes is, go to Google and search for: “site:Faadooengineers.com subject notes“. Obviously, you will need to replace subject with the name of the subject whose notes you’re searching. You might need to register before you are able to download the attached files. I have found some useful notes this way. I even saw one of my teachers downloading lecture contents from the site.

Bonus 1: Notes of every semester.

Bonus 2: List of final year projects.