Achieve a Computer Science Bachelor's Degree Online with MOOCs

University Lecture

Achieve a Computer Science Bachelor's Degree Online with MOOCs

Achieve a Computer Science Bachelor’s Degree Online with MOOCs

August 31, 2023

In the ever-evolving world of technology, the demand for skilled software engineers continues to soar. But what if I told you that you could gain the knowledge equivalent to a computer science bachelor’s degree, all from the comfort of your home and without breaking the bank? Yes, it’s possible through a carefully curated list of Massive Open Online Courses (MOOCs).

A New Era of Learning

The beauty of MOOCs lies in their accessibility and flexibility. Most of these courses offer free access (with freemium options), making them ideal for anyone interested in diving into the world of computer science. Whether you’re a beginner, a professional looking to upskill, or just curious about the field, these courses are designed to cater to a variety of learning needs.

The Path to Mastery: A Two-Year Journey

First Year: Laying the Foundations

Your journey begins with the basics. These courses cover everything from Python programming to software testing. Here’s a snapshot of what your first year might look like:

Second Year: Diving Deeper

Your second year is about diving deeper into Algorithms and Databases. Here’s a brief overview:

  • Algorithms: Start with Algorithms Divide and Conquer and progress through a series of courses covering everything from graph and data structures to NP-completeness.

  • Databases: Gain expertise in database modeling, SQL, and semistructured data with courses available on edX.

Beyond the Basics

For more courses and detailed information, visit the comprehensive list on GitHub.

The Democratization of Education

What’s remarkable about this journey is the democratization of education it represents. The idea that anyone with a laptop and internet access can gain skills and knowledge on par with a traditional university degree is truly transformative. This path is not just about acquiring technical skills; it’s a testament to the power of self-motivation and the endless possibilities that online learning offers.

A collection of courses for someone who is interested to do an online bachelor on Computer Science.

1st year

Courses Duration Effort Prerequisites
Python for Everybody 10 weeks 10 hours/week none
Introduction to Computer Science and Programming using Python (alt) 9 weeks 15 hours/week high school algebra
How to Code - Simple Data (textbook) 7 weeks 8-10 hours/week none
How to Code - Complex Data 6 weeks 8-10 hours/week How to Code: Simple Data
Programming Languages, Part A 5 weeks 4-8 hours/week How to Code (Hear instructor)
Programming Languages, Part B 3 weeks 4-8 hours/week Programming Languages, Part A
Programming Languages, Part C 3 weeks 4-8 hours/week Programming Languages, Part B
Parallel Programming 4 weeks 6-8 hours/week Scala programming
Learn Prolog Now! (alt)* 12 weeks - -
Software Debugging 8 weeks 6 hours/week Python, object-oriented programming
Software Testing 4 weeks 6 hours/week Python, programming experience

2nd Year

Algorithms

Courses Duration Effort Prerequisites
Divide and Conquer, Sorting and Searching, and Randomized Algorithms 4 weeks 4-8 hours/week any programming language, Mathematics for Computer Science
Graph Search, Shortest Paths, and Data Structures 4 weeks 4-8 hours/week Divide and Conquer, Sorting and Searching, and Randomized Algorithms
Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming 4 weeks 4-8 hours/week Graph Search, Shortest Paths, and Data Structures
Shortest Paths Revisited, NP-Complete Problems and What To Do About Them 4 weeks 4-8 hours/week Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

Databases

Courses Duration Effort Prerequisites
Databases: Modeling and Theory 2 weeks 10 hours/week core programming
Databases: Relational Databases and SQL 2 weeks 10 hours/week core programming
Databases: Semistructured Data 2 weeks 10 hours/week core programming

This list is incomplete and focusses heavily on programming. You can find more courses in

GitHub - ossu/computer-science: :mortar_board: Path to a free self-taught education in Computer Science!