Skip to content

Commit

Permalink
Undergrad curriculum Computer Science
Browse files Browse the repository at this point in the history
  • Loading branch information
douglasbc authored May 19, 2019
1 parent cd9a8d4 commit 483b745
Showing 1 changed file with 69 additions and 2 deletions.
71 changes: 69 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,69 @@
# curriculum-CS
A repository with a selection of hand picked free courses from high quality universities that amount to a full Computer Science undergrad curriculum, based on 2019's MIT undergrad curriculum.
# Be a self-taught computer scientist

This is a repository with the study planning that my wife [Andressa](https://github.com/andressadotpy) and I have made. Our goal was to plan the equivalent of an entire Computer Science undergraduate program, based on the [6-3: Computer Science and Engineering 2019 MIT Curriculum](https://www.eecs.mit.edu/docs/ug/freshman_roadmaps.pdf), with only freely available courses. Pretty much every lecture is from top notch Universities such as MIT, Stanford and UC Berkeley. We also added some extra lectures that we will be watching as a complement to our studies.

The courses were divided in:
- Introductory
- Intermediate
- Advanced
- Extras *

\* Extras not being included in the base MIT CS curriculum.

## Introductory

### Math

- TU Delft: Pre-University Calculus - [edX](https://www.edx.org/course/pre-university-calculus)
- MIT: Calculus 1A: Differentiation - [edX](https://www.edx.org/course/calculus-1a-differentiation)
- MIT: Calculus 1B: Integration - [edX](https://www.edx.org/course/calculus-1b-integration)
- MIT: Calculus 1C: Coordinate Systems & Infinite Series - [edX](https://www.edx.org/course/calculus-1c-coordinate-systems-infinite-series)
- MIT: Mathematics for Computer Science (2010) - [MIT OpenCourseWare](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/video-lectures/) \**
- MIT: Mathematics for Computer Science (2015) - [MIT OpenCourseWare](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-spring-2015/proofs/tp1-1/) \**
- 3Blue1Brown: Essence of Linear Algebra - [YouTube](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab) \***
- MIT: Linear Algebra [MIT OpenCourseWare](https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/)

\** These video lectures are from the same MIT course, one recorded in 2010, the other in 2015. Don't watch both, choose the one you like better.
\*** 3BlueBrown is an YouTube channel.

### Introduction to Computer Science and Programming

- MIT: Introduction to Computer Science and Programming in Python - [MIT OpenCourseWare](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lecture-videos/)
- MIT: Introduction to Computational Thinking and Data Science - [edX](https://www.edx.org/course/introduction-to-computational-thinking-and-data-science-2)

## Intermediate

- Cornell: The Computing Technology Inside Your Smartphone - [edX](https://www.edx.org/course/computing-technology-inside-smartphone-cornellx-engri1210x-0)
- MIT: Computation Structures - Part 1: Digital Circuits - [edX](https://www.edx.org/course/computation-structures-part-1-digital-mitx-6-004-1x-0)
- Stanford: Algorithms: Design and Analysis - [Lagunita](https://lagunita.stanford.edu/courses/course-v1:Engineering+Algorithms1+SelfPaced/about)

## Advanced

- MIT: Computation Structures 2: Computer Architecture - [edX](https://www.edx.org/course/computation-structures-2-computer-mitx-6-004-2x)
- MIT: Computation Structures 3: Computer Organization - [edX](https://www.edx.org/course/computation-structures-3-computer-mitx-6-004-3x-0)
- Stanford: Algorithms: Design and Analysis, Part 2 - [Lagunita](https://lagunita.stanford.edu/courses/course-v1:Engineering+Algorithms2+SelfPaced/about)
- UC Berkeley: Operating Systems and Systems Programming - [YouTube](https://www.youtube.com/watch?v=hry_qqXLej8&list=PLRdybCcWDFzCag9A0h1m9QYaujD0xefgM&index=2&t=9s)
- Stanford: Introduction to Computer Networking - [Lagunita](https://lagunita.stanford.edu/courses/Engineering/Networking-SP/SelfPaced/about)
- UC Berkeley: Introduction to Database Systems - [Internet Archive](https://archive.org/details/UCBerkeley_Course_Computer_Science_186)
- Stanford: Compilers - [Lagunita](https://lagunita.stanford.edu/courses/Engineering/Compilers/Fall2014/about)
- MIT: Distributed Systems - [YouTube](https://www.youtube.com/watch?v=hBWfjkGKRas&list=PLkcQbKbegkMqiWf7nF8apfMRL4P4sw8UL)

## Extras

### Data Science and Machine Learning

#### Introductory
- MIT: Probabilistic Systems Analysis and Applied Probability - [MIT OpenCourseWare](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-041-probabilistic-systems-analysis-and-applied-probability-fall-2010/video-lectures/)

#### Intermediate
- MIT: Introduction to Probability: Part II – Inference & Processes - [edX](https://www.edx.org/course/introduction-to-probability-part-2-inference-processes)

#### Advanced
- MIT: Machine Learning with Python: from Linear Models to Deep Learning - [edX](https://www.edx.org/course/machine-learning-with-python-from-linear-models-to-deep-learning)

### Artificial Intelligence
- UC Berkeley: Intro to Artificial Intelligence - [YouTube](http://ai.berkeley.edu/lecture_videos.html)

### Blockchain
- UC Berkeley: Bitcoin and Cryptocurrencies - [edX](https://www.edx.org/course/bitcoin-and-cryptocurrencies)
- UC Berkeley: Blockchain Technology - [edX](https://www.edx.org/course/blockchain-technology)

0 comments on commit 483b745

Please sign in to comment.