Foundational knowledge is very different from basic knowledge : if you're a newcomer in the field, it may not be the shortest path to become "job-ready"... but what you'll learn here will last your life long !
Feel free to contribute if you know some great resources that fits the definition above.
- Structure and Interpretation of Computer Programs (MIT) (video playlist) (book)
- Mathematics for Computer Science (MIT) (video playlist)
- Software Foundations in Coq by B. Pierce (website)
- Logical Foundations (website)
- Programming Language Foundations (website) (video serie, see page bottom)
- Verified Functional Algorithms (website)
- Programming Language Foundations in Agda by P. Wadler (book) (repo)
- Category Theory for Programmers by B. Milewski (video playlist) (book)
- Programming with categories (MIT) (video playlist)
- Seven Sketches in Compositionality: An Invitation to Applied Category Theory (book)
- Propositions as Types (video)
- The Little Typer (💲 book)
- Oregon Programming Languages Summer School 2010 (video playlist)
- The Little Prover (💲 book)
- Oregon Programming Languages Summer School 2010 (video playlist)
- Dependent types with Idris by Edwin Brady (video playlist)
- Adventure with Types in Haskell - Simon Peyton Jones (video playlist)
- wikipedia article
- Programming Paradigms (Stanford) (video playlist)
- Erik Meijer: Functional Programming (video)
- Programming from the ground up by Jonathan Bartlett (book)
- Hewitt, Meijer and Szyperski: The Actor Model (everything you wanted to know... (video)
- Architecture of Open Source Applications
- System Design (video playlist)
- Time, Clocks, and the Ordering of Events in a Distributed System (article)
- The TLA+ Video Course by Leslie Lamport (course)
- Computer Architecture (ETH Zürich) (video playlist)
- Programming from the ground up by Jonathan Bartlett (book)
- Analysis of Algorithms by Steven Skiena (video playlist)
- Purely Functional Data Structures by Chris Okasaki (book)
- The Algorithm Design Manual (💲 book)
- Linear Algebra course by Gilbert Strang (MIT) (video playlist)
- Notes on Discrete Mathematics (Yale) (pdf)
- Introduction to Calculus (pdf)
- Mathematics of Machine Learning (MIT) (pdf)
- The Matrix Calculus You Need For Deep Learning (University of San Francisco) (pdf)
- Deep Reinforcement Learning (Berkeley) (video playlist)
- Convolutional Neural Networks for Visual Recognition (Stanford) (video playlist)
- Natural Language Processing with Deep Learning (Stanford) (video playlist)
- Network Fundamentals (video playlist)
- PKI bootcamp (video playlist)
- Introduction to Cryptography by Christof Paar (video playlist)
- Cryptography (MIT) (video playlist)