Skip to main content

Computer Science Degree using Coursera


Open Source Computer Science Degree is not a new concept. It's been in the online learning community for a while. The most prominent resources for this concept degree are, OSSU and ForrestKnight. From these two, OSSU provides a very comprehensive roadmap. They also have created a community that helps the progression through the roadmap.

Inspired by them I have decided to create my own version of this using only Coursera as the content provider. This is also something I'm trying myself at the moment (to some extent). What I have done here is quite simple. I have studied the OSSU and ForrestKnight degree roadmaps and I'm substituting the courses in them with relevant courses (preferably I will focus on specializations) in Coursera.

There are a few reasons for focusing on Coursera,
  • There is an option for university students to take courses their university has sponsored for free. (My reason) - Link
  • There is a Coursera+ option which just has a monthly cost for 3000+ courses. With this kind of a plan, it makes sense.
  • Many courses let you audit for free.
Now, since these three reasons are also three options, I should be making different roadmaps for each of them. However, defining a roadmap for the university student option is not a successful endeavor since there are several things I don't know the details about. So instead of listing the courses, I would like to list the keywords and concepts that define the required knowledge from such a course. Also, I will provide sample courses for reference. I would like to focus on the Coursera+ option since it is a general option.

I have categorized the courses/specializations into three categories,
  • Introduction Level
  • Intermediate Level 
  • Advanced Level
Please keep in mind that this process does not guarantee that you will get a CS degree or a job related to CS. However, if you want to just learn and enhance your knowledge this will help you.

So here are the resources,

Intro Level

Introduction to Programming
Introduction to Computer Science
Intermediate Level

Intermediate Programming
Intermediate Computer Systems
Mathematics
Advanced Applications (Directly from OSSU)
That is it. Credit goes to OSSU and ForrestKnight for creating these amazing lists. My contribution is just finding specializations and courses that are in Coursera. When doing this there were several shortfalls. Please refer to OSSU for free resources to go through them as well.

Comments

Popular posts from this blog

How to program in R language in Jupyter Notebooks using Conda environments

In this blog post, we will discuss how to use conda environments to install the R kernel and program in R in Jupyter notebooks. 1. Install conda The first step in using conda environments is to install conda itself. You can download the conda installer from the Anaconda website and follow the instructions to install it on your system. Once you have conda installed, you can create and manage virtual environments. 2. Create a new conda environment To create a new conda environment, you can use the following command in your terminal: conda create -n myrenv This will create a new environment called "myenv" that you can use to manage your packages and dependencies. You can activate this environment by using the following command: conda activate myrenv 3. Install the R kernel Now that you have an active conda environment, you can use it to install the R kernel. You can do this by using the following command (you may have to press Enter key several times to finish the process): c...

Cracking the Black Box: Six Lenses for Understanding Deep Learning

Deep learning has revolutionised technology, giving us everything from uncannily smart chatbots to medical imaging that can spot diseases better than the human eye. Yet, for a long time, a central mystery has haunted the field: why do these enormous models work so well? According to classical statistics, a model with billions of parameters—far more than its training data—should fail spectacularly. It ought to memorise the data, noise and all, and be unable to generalise to new, unseen examples. But deep neural networks defy this wisdom. They generalise brilliantly. How do we explain this apparent magic? There isn't one single answer. Instead, researchers view the problem through several different theoretical "lenses." Here are six of the most important ones. 1. The Linearisation Lens: The Neural Tangent Kernel (NTK) ⚙️ The NTK offers a startling insight: what if, under the right conditions, a massively complex neural network is just a simple, linear model in disguise? The...

Webinar Series on Smart Grid and Microgrids by Smart Grid Research Lab, University of Moratuwa

This webinar series is created by the Smart Grid Research Lab of the University of Moratuwa , Sri Lanka. As a research assistant and a Ph.D. student, I had the honor of organizing the series.  The webinar series is titled "Discussion forum on Smart Grid and Microgrids". It will cover the fundamentals of Smart Grid and Microgrids and the research areas of Smart Grid Research Lab. The webinars will be uploaded to YouTube and created as a playlist . Check out the introduction to the webinar series and the lab by Prof. K. T. M. U. Hemapala.