Skip to content

notwlsn/teachyourselfcs

Repository files navigation

Project Study Plan for Learning CS: (https://teachyourselfcs.com)

Methodology: Study all nine subjects below, in roughly the presented order, using either the suggested textbook or video lecture series, but ideally both. Aim for 100-200 hours of study of each topic, then revisit. The week resources are the general outline, and the indented material is what I actually used as I was working through this.

Week 1-2: Programming (https://teachyourselfcs.com/#programming)
Best book: Structure and Interpretation of Computer Programs
Best video lecture: Brian Harvey’s Berkeley CS 61A

    Week 1-2 Links: Programming
    Structure_and_Interpretation_of_Computer_Programs.pdf (https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html)
    Brian Harvey's Berkley CS 61A: (https://archive.org/details/ucberkeley-webcast-PL3E89002AA9B9879E)
    
    Homework:
    GitHub repo for HW/solutions: (https://github.com/fgalassi/cs61a-sp11)
    Online Scheme interpreter: (https://code.cs61a.org/)

Week 3-4: Computer Architecture (https://teachyourselfcs.com/#architecture)
Best book: Computer Systems: A Programmer's Perspective
Best video lecture: Berkeley CS 61C

Week 4-5: Algorithms and Data Structures (https://teachyourselfcs.com/#algorithms)
Best book: The Algorithm Design Manual
Best video lecture: Steven Skiena’s lectures

Week 5-6: Math for CS (https://teachyourselfcs.com/#math)
Best book: Mathematics for Computer Science
Best video lecture: Tom Leighton’s MIT 6.042J

Week 6-7: Operating Systems (https://teachyourselfcs.com/#operating-systems)
Best book: Operating Systems: Three Easy Pieces
Best video lecture: Berkeley CS 162

Week 7-8: Computer Networking (https://teachyourselfcs.com/#networking)
Best book: Computer Networking: A Top-Down Approach
Best video lecture: Stanford CS 144

Week 8-9: Databases (https://teachyourselfcs.com/#databases)
Best book: Readings in Database Systems
Best video lecture: Joe Hellerstein’s Berkeley CS 186

Week 9-10: Languages and Compilers (https://teachyourselfcs.com/#languages)
Best book: Crafting Interpreters
Best video lecture: Alex Aiken’s course on edX

Week 10-11: Distributed Systems (https://teachyourselfcs.com/#distributed-systems)
Best book: Designing Data-Intensive Applications by Martin Kleppmann
Best video lecture: MIT 6.824

#TODO
~~ - Finish and include Zotero export which has all extension material and better resource categorization~~

About

Course outline WIP from https://teachyourselfcs.com/

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages