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:
-
Python and Basic Concepts: Start with Python for Everybody and MIT’s Introduction to Computer Science and Programming in Python, which is also available on edX. These courses require no prerequisites and are perfect for beginners.
-
Advanced Programming: Courses like How to Code: Simple Data and its sequel for complex data, along with Coursera’s three-part series on Programming Languages, take you deeper into programming concepts.
-
Specialized Topics: Explore Scala programming and software debugging with courses like Scala Parallel Programming and Software Debugging on Udacity.
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