Code Monkey home page Code Monkey logo

open-source-cs-python's Introduction

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
Introduction to Operating Systems Georgia Tech 8 weeks 5-8 hours/week self-paced Build a Modern Computer from First Principles: From Nand to Tetris II

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 Udacity 1 week 5 hours/week self-paced none
The Unix Workbench JHU 4 weeks 4 hours/week once a month none

open-source-cs-python's People

Contributors

forrestknight avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

open-source-cs-python's Issues

Networking and Programming Languages

As mentioned in the video, I think "Programming Languages: Part A/B/C" should be included so that people don't get too focused on only a single language.

I also think networking/web-technologies (at least basics) should be included. It's important to know how the internet works and how computers communicate and share information.

2 courses not working

  • using python to access web data
  • using databases with python
    Links to these 2 seem to be broken

Semester/Term Format Idea

I commented this on your original open-source-cs degree. I figured I'd do it for this one as well. Here is an example schedule broken up into terms inline with the prerequisites listed on the repo and an estimated time of completion.

Term Schedule Idea

Time Estimations: 66 weeks [~ 1.25 years]
  • This assumes that the user abides by each term and waits until the term is completed to assume the "cool off period" and does not continue onwards to the next semester.
  • This assumes max cool off period of 3 weeks is assumed by user in between terms.



Term 1

(13 weeks)

Course Duration Schedule
1 Intro to Computer Science 10 weeks M/W/F
2 Mathematical Thinking in Computer Science 6 weeks T/TH
3 Programming for Everybody (Getting Started with Python) 4 weeks M/W
[ if done with # 3 -> # 4]
4 Python Data Structures 4 weeks M/W
5 Calculus 1A: Differentiation 12 weeks T/TH
6 Introduction to Probability and Data 5 weeks M/W
[if done with # 6 -> # 7]
7 Intro to Statistics 8 weeks M/W




Cool off period: up to 3 weeks


Term 2

(15 weeks)

Course Duration Schedule
1 Using Python to Access Web Data 4 weeks M/W
2 Introduction to Data Science with Python 3 weeks M/W
[if done with # 2 -> # 3]
3 Applied Plotting & Charting... 4 weeks M/W
[if done with # 3 -> # 4]
4 Applied Machine Learning in Python 6 weeks M/W
5 Calculus 1B: Integration 15 weeks T/TH
6 Linear Algebra - Foundations to Frontiers 15 weeks T/TH




Cool off period: up to 3 weeks


Term 3

(12 weeks)

Course Duration Schedule
1 Computer Science: Algorithms, Theory, and Machines 10 weeks M/W
2 Calculus 1C: Coordinate Systems & Infinite Series 8 weeks M/W
3 Database Management Essentials 7 weeks T/TH
[ if done with # 3 -> # 4]
4 Using Databases with Python 3 weeks T/TH
[ if done with # 4 -> # 5]
5 Capstone: Retrieving, Processing, and Visualizing Data with Python 2 weeks T/TH
6 Linux Command Line Basics 1 week F/Sa
[ if done with # 6 -> # 7]
7 The Unix Workbench 4 weeks F/Sa
[ if done with # 7 -> # 8]
8 Build a Modern Computer from First Principles: From Nand to Tetris 6 weeks F/Sa




Cool off period: up to 3 weeks


Term 4

(14 weeks)

Course Duration Schedule
1 Algorithms, Part I 6 weeks T/TH
[ if done with # 1 -> # 2]
2 Algorithms, Part II 6 weeks T/TH
3 Cryptography I 7 weeks M/W
4 Build a Modern Computer from First Principles: From Nand to Tetris II 6 weeks M/W
[ if done with # 4 -> # 5]
5 Introduction to Operating Systems 8 weeks M/W
6 Applied Text Mining in Python 5 weeks F/Sa
[ if done with # 6 -> # 7]
7 Applied Social Network Analysis in Python 5 weeks F/Sa



Graduation! ๐Ÿ’ฏ ๐Ÿ’ฏ

Semester Schedule Format

It'd be cool to see a semester/term schedule format showing a certain number of courses taken per term.
This example adheres to the pre-reqs presented on the original repo and includes an estimated time completion for the whole degree

Term Schedule Idea

Time Estimations: 78 weeks (~ 1.5 years).
  • This assumes that the user abides by each term and waits until the term is completed to assume the "cool off period" and does not continue onwards to the next semester.
  • This assumes max cool off period of 3 weeks is assumed by user in between terms.



Term 1

(12 weeks)

Course Duration Schedule
1 Intro to Computer Science 10 Weeks M/W
2 Mathematical Thinking in Computer Science 6 Weeks M/W
3 Calculus 1A: Differentiation 12 Weeks T/TH
4 Java Programming: Solving Problems with Software 4 Weeks M/W/F
[if done with # 4 -> # 5]
5 Java Programming: Arrays, Lists, and Structured Data 4 Weeks M/W/F




Cool off period: up to 3 weeks


Term 2

(15 weeks)

Course Duration Schedule
1 Computer Science: Algorithms, Theory, and Machines 10 Weeks M/W
2 Linux Command Line Basics 1 Week M/W
3 UNIX Work Bench 4 Weeks M/W
[if done with # 2 and # 3 -> # 4]
4 Build a Modern Computer from First Principles: From Tetris to NAND 6 Weeks M/W
5 Calculus 1B: Integration 15 Weeks T/TH
6 Object Oriented Programming in Java 6 Weeks T/TH
[if done with # 6 -> # 7]
7 Data Structures and Performance 6 Weeks T/TH




Cool off period: up to 3 weeks


Term 3

(13 weeks)

Course Duration Schedule
1 Java Programming: Principles of Software Design 4 Weeks M/W/F
2 Java Programming: Building a Recommendation System 4 Weeks M/W/F
3 Calculus 1C: Coordinate Systems & Infinite Series 8 Weeks T/TH
[if done with # 3 -> # 4]
4 Introduction to Probability and Data 5 Weeks T/TH
5 Algorithms, Part 1 6 Weeks T/TH
[if done with # 5 -> # 6]
6 Algorithms, Part 2 6 Weeks T/TH
7 Build a Modern Computer from First Principles: From Tetris to NAND II 6 Weeks M/W
[if done with # 7 -> # 8]
8 Database Management Essentials 7 Weeks M/W




Cool off period: up to 3 weeks


Term 4

(15 weeks)

Course Duration Schedule
1 Linear Algebra - Foundations to Frontiers 15 Weeks T/TH
2 Intro to Statistics 8 Weeks T/TH
3 Programming Languages, Part A 5 Weeks M/W/F
[if done with # 3 -> # 4]
4 Programming Languages, Part B 3 Weeks M/W/F
[if done with # 4 -> # 5]
5 Programming Languages, Part C 3 Weeks M/W/F
7 Introduction to Operating Systems 8 Weeks T/TH
[if done with # 7 -> # 8]
8 Software Engineering: Introduction 6 Weeks M/W




Cool off period: up to 3 weeks


Term 5

(11 weeks)

Course Duration Schedule
1 Machine Learning 11 Weeks M/W
2 Cryptography 1 8 Weeks T/TH



Graduation! ๐Ÿ’ฏ ๐Ÿ’ฏ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.