/notes

Primary LanguageRust

Disclaimer

Notes and solutions to exercises in this repository are side products of informal and unsupervised self-teaching. Who produced these notes is not a graduate in computer or mathematics related fields, nor a native English speaker. There is no warranty for any part of the notes to be correct, neither mathematically nor grammatically.

Reading:

  • Operating Systems: Three Easy Pieces, Remzi H Arpaci-Dusseau & Andrea C Arpaci-Dusseau, Version 1.00, in C & Rust

Read (in temporal order):

  • Introduction to Algorithms, Thomas H. Cormen et al., 3rd Edition, in Typescript
  • Types and Programming Languages, Benjamin C. Pierce, in Haskell
  • Automata and Computability, Dexter C. Kozen
  • (partial) Introduction to the Theory of Computation, Michael Sipser, 3rd Edition
  • Design Patterns, Gang of Four, in Typescript
  • Introduction to Modern Cryptography, Johnathan Katz & Yehuda Lindell
  • Cryptography Engineering: Design Principles and Practical Applications, Niels Ferguson et al., in Rust
  • Computer Systems: A Programmer’s Perspective, Randal E. Bryant & David R. O’Hallaron, 2nd Edition, in Rust
  • Compilers: Principles, Techniques, & Tools, Alfred V. Aho et al., 2nd Edition, in Rust
  • Artificial Intelligence: A Modern Approach, Stuart J. Russell & Peter Norvig, 3rd Edition, in Rust
  • Computer Networking: A Top-Down Approach, James F. Kurose & Keith W. Ross, 6th Edition, in Rust
  • Operating System Concepts, Abraham Silberschatz et al., 9th Edition, in Rust
  • Elements of Information Theory, Thomas M. Cover & Joy A. Thomas, 2nd Edition
  • (partial) Mathematical analysis, Tom A. Apostol, 2nd Edition
  • A First Course in Database Systems, Jeffrey D. Ullman et al, 3rd Edition, in Rust & Typescript
  • Designing Data-Intensive Applications, Martin Kleppmann