Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kirillbobyrev/computer-science-resources

collection of interesting Computer Science resources
https://github.com/kirillbobyrev/computer-science-resources

List: computer-science-resources

awesome-list computer-science computer-science-education courses curriculum

Last synced: 5 days ago
JSON representation

collection of interesting Computer Science resources

Awesome Lists containing this project

README

        

# Computer Science Resources

Compilation of Computer Science courses, books, blog posts and videos.

- _**The Fundamentals**_ (this list) - "classic" resources recommended to
me by someone or popular in the internet. Focuses on the most fundamental and
important concepts in Computer Science.
- [_**Further Reading**_](/further-reading.md) - short blog posts, articles
from the internet, more specific resources. Less fundamental, more practical
(and typically up-to-date).
- [_**Machine Learning**_](/machine-learning.md) - everything related to Machine
Learning and its domains (Natural Language Processing, Reinforcement Learning,
Computer Vision, etc).

## Algorithms and Data Structures

- [ ] 📖 [Introduction to Algorithms](https://www.goodreads.com/book/show/108986.Introduction_to_Algorithms) (_"CLRS"_ — Cormen, Leiserson, Rivest, Stein, 2001)
- [ ] 🎥 [Introduction to Algorithms](https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/) (course with assignments and solutions)
- [ ] 📖 [The Algorithm Design Manual](https://www.algorist.com/) (Skienna, 2020)
- [ ] 📖 [The Art of Computer Programming](https://www-cs-faculty.stanford.edu/~knuth/taocp.html) (Donald Knuth)
- [ ] [Volume 1 – Fundamental Algorithms](https://www.goodreads.com/book/show/112247.The_Art_of_Computer_Programming_Volume_1)
- [ ] [Volume 2 – Seminumerical Algorithms](https://www.goodreads.com/book/show/112246.The_Art_of_Computer_Programming_Volume_2)
- [ ] [Volume 3 – Sorting and Searching](https://www.goodreads.com/book/show/363999.The_Art_of_Computer_Programming)
- [ ] [Volume 4A – Combinatorial Algorithms, Part 1](https://www.goodreads.com/book/show/9412211-the-art-of-computer-programming-volume-4a)
- [ ] 🔗 [CP-Algorithms](https://cp-algorithms.com/index.html)

## Distributed Systems

- [ ] 🎥 [MIT Distributed Systems](https://pdos.csail.mit.edu/6.824/schedule.html) (Spring 2023)
- [ ] 🎥 [Paxos & TLA+ Turing Award lectures](https://lamport.azurewebsites.net/tla/paxos-algorithm.html) (shorter videos with the core concepts, 2020)
- [ ] 📄 [The Anatomy of a Large-Scale Hypertextual Web Search Engine](https://storage.googleapis.com/pub-tools-public-publication-data/pdf/334.pdf) ("The Google Paper", Brin, Page, 1998)
- [ ] 📄 [The Google Filesystem](https://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf) (2003)
- [ ] 📄 [MapReduce: Simplified Data Processing on Large Clusters](https://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf) (Jeffrey Dean and Sanjay Ghemawat, 2004)
- [ ] 📄 [The Chubby lock service for loosely-coupled distributed systems](https://static.googleusercontent.com/media/research.google.com/en//archive/chubby-osdi06.pdf) (2006)
- [ ] 📄 [Dremel: Interactive Analysis of Web-Scale Datasets](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36632.pdf) (2010)
- [x] 📄 [The Byzantine Generals Problem](https://www.microsoft.com/en-us/research/uploads/prod/2016/12/The-Byzantine-Generals-Problem.pdf) (Lamport et al., 1982)
- [ ] 📄 [The Part-Time Parliament](https://lamport.azurewebsites.net/pubs/lamport-paxos.pdf) (_"The Paxos Paper"_, Lamport et al., 1998)
- [ ] 📄 [Paxos made simple](https://lamport.azurewebsites.net/pubs/paxos-simple.pdf)
- [ ] 📄 [Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services](https://users.ece.cmu.edu/~adrian/731-sp04/readings/GL-cap.pdf) (_"The CAP Theorem"_ proof, 2002)
- [ ] 📄 [Time, Clocks, and the Ordering of Events in a Distributed System](https://lamport.azurewebsites.net/pubs/time-clocks.pdf)
- [ ] [Distributed Computing in Practice: The Condor Experience](https://chtc.cs.wisc.edu/doc/condor-practice.pdf) (2005)
- [ ] 📄 [CAP Twelve Years Later: How the "Rules" Have Changed](https://sites.cs.ucsb.edu/~rich/class/cs293b-cloud/papers/brewer-cap.pdf) (2012)
- [ ] 📄 [In Search of an Understandable Consensus Algorithm](https://raft.github.io/raft.pdf) ("The Raft Paper", 2014)
- [ ] 🔗 [raft.github.io](https://raft.github.io/raft.pdf)

## Databases

- [ ] 🎥 CMU Database courses
- [ ] [Intro to Database Systems](https://15445.courses.cs.cmu.edu/fall2024/), (Andy Pavlo, 2024, lectures + assignments)
- [ ] [Advanced Database Systems](https://15721.courses.cs.cmu.edu/spring2023/) (Andy Pavlo, 2023, lectures + assignments)
- [ ] 📖 [Designing Data Intensive Applications](https://www.goodreads.com/book/show/23463279-designing-data-intensive-applications) (2015)
- [ ] 📄 [A Case for Redundant Arrays of Inexpensive Disks (RAID)](http://web.mit.edu/6.033/2015/wwwdocs/papers/Patterson88.pdf) (Patterson, 1988)
- [ ] 📄 [Bigtable: A Distributed Storage System for Structured Data](https://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf) (_"The Bigtable Paper"_, 2006)
- [ ] 📄 [Spanner: Google's Globally-Distributed Database](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/39966.pdf) (_"The Spanner Paper"_, 2012)
- [ ] 📄 [F1: A Distributed SQL Database That Scales](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/41344.pdf) (_"The F1 paper"_, 2013)
- [ ] 📄 [Dynamo: Amazon's Highly Available Key-value Store](https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf) (2007)

## Programming Languages

### C++

- [ ] "Effective C++" series by Scott Meyers
- [ ] 📖 [Effective C++](https://www.goodreads.com/book/show/105125.Effective_C_)
- [ ] 📖 [More Effective C++](https://www.goodreads.com/book/show/105123.More_Effective_C_)
- [ ] 📖 [Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14](https://www.goodreads.com/book/show/22800553-effective-modern-c)
- [ ] 📖 [Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library](https://www.goodreads.com/book/show/105124.Effective_STL)

### Functional Programming

- [ ] 📖 [Haskell Programming from first principles](https://haskellbook.com) (2018)

### Rust

- [x] 📖 [The Rust Programming Language](https://doc.rust-lang.org/book/) — the official Rust introduction book
- [x] 🔗 [rustlings](https://github.com/rust-lang/rustlings) (a set of exercises for learning Rust)

### Python

- [ ] 📖 [Fluent Python](https://www.goodreads.com/book/show/60733158-fluent-python)

## Systems Programming (Operating Systems, Low-Level Primitives, Hardware)

- [ ] 🎥 [MIT's Operating System Engineering](https://pdos.csail.mit.edu/6.S081/2022/schedule.html)
- [ ] 📖 [Computer Architecture: A Quantitative Approach](https://www.goodreads.com/book/show/70135.Computer_Architecture)
- [ ] 📖 [Modern Operating Systems](https://www.goodreads.com/book/show/166195.Modern_Operating_Systems) (Tanenbaum, 2001)
- [ ] 📖 [The UNIX TimeSharing System](https://dsf.berkeley.edu/cs262/unix.pdf)
- [ ] 📖 [Reverse Engineering for Beginners](https://www.goodreads.com/book/show/25391593-reverse-engineering-for-beginners)
- [ ] 🔗 [Book website](https://beginners.re/)
- [ ] 🔗 [Challenges](https://challenges.re/)
- [ ] 📖 [The UNIX Programming Environment](https://www.goodreads.com/book/show/337338.The_UNIX_Programming_Environment) (Kernighan, Rob Pike)

### Compilers

- [ ] 📖 [Crafting Interpreters](https://www.goodreads.com/book/show/58661468-crafting-interpreters) (2021)
- [ ] 📖 [Compilers: Principles, Techniques, and Tools](https://www.goodreads.com/book/show/703102.Compilers) (_"The Dragon Book"_, Aho, Sethi, Ullman, 1986)
- [ ] 📖 [Structure and Interpretation of Computer Programs](https://www.goodreads.com/book/show/43713.Structure_and_Interpretation_of_Computer_Programs) (_"SICP"_, 1996)

### Networking

- [ ] 🎥 + 📖 [Computer Networking: A Top-Down Approach](https://gaia.cs.umass.edu/kurose_ross/online_lectures.htm)
- [ ] 📖 [Computer Networks](https://goodreads.com/book/show/166190.Computer_Networks) (Tanenbaum, 2021)
- [ ] 📖 [The Protocols (TCP/IP Illustrated)](https://www.goodreads.com/book/show/505560.The_Protocols) (1993)

## Miscellaneous

- [ ] 🎥 [Performance Engineering of Software Systems](https://ocw.mit.edu/courses/6-172-performance-engineering-of-software-systems-fall-2018/) (MIT, 2018)
- [ ] 🎥 [Computer Systems Security](https://ocw.mit.edu/courses/6-858-computer-systems-security-fall-2014/) (MIT, 2014)
- [ ] 🎥 [Introduction to Computer Graphics](https://youtube.com/playlist?list=PLQ3UicqQtfNuBjzJ-KEWmG1yjiRMXYKhh) (MIT, 2020) (+ [assignments](https://ocw.mit.edu/courses/6-837-computer-graphics-fall-2012/pages/assignments/))
- [ ] 🎥 [Machine Vision](https://ocw.mit.edu/courses/6-801-machine-vision-fall-2020/) (MIT, 2020)
- [ ] 🎥 [Computer Systems Security](https://ocw.mit.edu/courses/6-858-computer-systems-security-fall-2014/) (MIT, 2014)
- [ ] 📖 [Concrete Mathematics: A Foundation for Computer Science](https://www.goodreads.com/book/show/112243.Concrete_Mathematics) (Graham, Knuth, Patashnik, 1994)
- [ ] 📖 [Domain-Driven Design](https://www.goodreads.com/book/show/179133.Domain_Driven_Design) (2003)
- [ ] 📖 [Test-Driven Development](https://www.goodreads.com/book/show/387190.Test_Driven_Development) (2002)
- [x] 📖 [The Pragmatic Programmer](https://www.goodreads.com/en/book/show/4099.The_Pragmatic_Programmer) (2019)