Skip to content

Hencyraj/open-source-cs-python

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

The Python Open Source Computer Science Degree

This is a curated list of free courses from reputable universities like MIT, Stanford, and Princeton that satisfy the same requirements as an undergraduate Computer Science degree, minus general education.

Computer Science Basics

Courses School Duration Effort Frequency Prerequisites
Intro to Computer Science Harvard 10 weeks 10-20 hours/week self-paced none

Programming

Courses School Duration Effort Frequency Prerequisites
Programming for Everybody (Getting Started with Python) University of Michigan 4 weeks 4-6 hours/week self-paced none
Python Data Structures University of Michigan 4 weeks 4-6 hours/week self-paced Programming for Everybody (Getting Started with Python)
Using Python to Access Web Data University of Michigan 4 weeks 4-6 hours/week self-paced Python Data Structures
Using Databases with Python University of Michigan 3 weeks 4-8 hours/week self-paced Using Python to Access Web Data
Capstone: Retrieving, Processing, and Visualizing Data with Python University of Michigan 2 weeks 4-6 hours/week self-paced Using Databases with Python
Alternative
Courses School Duration Effort Frequency Prerequisites
Python 3 Programming Specialization University of Michigan 5 months 7 hours/week self-paced none

Math

Courses School Duration Effort Frequency Prerequisites
Calculus 1A: Differentiation MIT 12 weeks 6-10 hours/week self-paced pre-calculus
Calculus 1B: Integration MIT 15 weeks 6-10 hours/week self-paced Calculus 1A: Differentiation
Calculus 1C: Coordinate Systems & Infinite Series MIT 8 weeks 6-10 hours/week self-paced Calculus 1B: Integration
Linear Algebra - Foundations to Frontiers UT Austin 15 weeks 6-10 hours/week self-paced pre-calculus
Introduction to Probability and Data Duke 5 weeks 5-7 hours/week twice a month none
Intro to Statistics Udacity 8 weeks 5-7 hours/week self-paced none

Data Science

Courses School Duration Effort Frequency Prerequisites
Introduction to Data Science in Python University of Michigan 3 weeks 4-6 hours/week self-paced basic programming knowledge
Applied Plotting, Charting & Data Representation in Python University of Michigan 4 weeks 5-7 hours/week self-paced Introduction to Data Science in Python
Applied Machine Learning in Python University of Michigan 6 weeks 5-7 hours/week self-paced Applied Plotting, Charting & Data Representation in Python
Applied Text Mining in Python University of Michigan 5 weeks 5-7 hours/week self-paced Applied Machine Learning in Python
Applied Social Network Analysis in Python University of Michigan 5 weeks 5-7 hours/week self-paced Applied Text Mining in Python

Systems

Courses School Duration Effort Frequency Prerequisites
Build a Modern Computer from First Principles: From Nand to Tetris Hebrew University of Jerusalem 6 weeks 5 hours/week twice a month basic programming knowledge
Build a Modern Computer from First Principles: From Nand to Tetris II Hebrew University of Jerusalem 6 weeks 10-15 hours/week once a month Build a Modern Computer from First Principles: From Nand to Tetris

Theory

Courses School Duration Effort Frequency Prerequisites
Computer Science: Algorithms, Theory, and Machines Princeton 10 weeks 2-5 hours/week once a month Calculus 1A (all), basic programming
Algorithms, Part I Princeton 6 weeks 6-12 hours/week once a month Computer Science: Algorithms, Theory, and Machines
Algorithms, Part II Princeton 6 weeks 6-12 hours/week once a month Algorithms, Part I

Applications

Courses School Duration Effort Frequency Prerequisites
Database Management Essentials CU 7 weeks 4-6 hours/week twice a month basic programming & CS knowledge
Cryptography I Stanford 7 weeks 5 hours/week once a month Linear Algebra - Foundations to Frontiers & Introduction to Probability and Data

Unix

Courses School Duration Effort Frequency Prerequisites
Linux Command Line Basics IBM 1 week 12 hours/week self-paced none
The Unix Workbench JHU 4 weeks 4 hours/week once a month none

🚀 How to Use This Repository

This repository is designed as a self-learning roadmap for Computer Science using Python.

Steps to Follow:

  1. Start with Programming Basics to understand Python fundamentals.
  2. Move to Data Structures & Algorithms using Python.
  3. Learn Databases, Operating Systems, and Computer Networks.
  4. Practice by writing small Python programs for each topic.
  5. Use this repository as a reference, not a replacement for practice.

👨‍🎓 Who Is This Repository For?

This repository is helpful for:

  • Beginners starting Python
  • Computer Science students
  • Self-learners without a CS background
  • Students preparing for internships and placements

🤝 How to Contribute

Contributions are welcome and appreciated.

You can contribute by:

  • Improving documentation
  • Fixing typos or formatting
  • Adding learning resources
  • Adding simple Python examples
  • Suggesting better learning paths

Contribution Steps:

  1. Fork this repository
  2. Clone your fork
  3. Make changes
  4. Commit and push
  5. Create a Pull Request

🗺 Suggested Learning Path

A recommended order to follow:

  1. Python Programming Basics
  2. Data Structures using Python
  3. Algorithms
  4. Databases (SQL + Python)
  5. Operating Systems
  6. Computer Networks
  7. System Design Basics

Consistency and practice matter more than speed.

About

Video discussing this curriculum:

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published