Programming
Courses
- UIUC Intro to Competitive Programming
- William Fiset Youtube Playlists on various topics
- From Nand to Tetris: Building a Modern Computer From First Principles
- 15-150: Principles of Functional Programming by Brandon Wu
Books
- Software Engineering at Google
- How to Design Programs, Second Edition
- Algorithmica - Code
- Foundations of Multidimensional and Metric Data Structures - Hanan Samet
- Data Structures and Algorithm Analysis - Clifford A. Shaffer
Implementations
Software Design
Engineering Management
Tools
Parallel Computing
- MIT 18.337J/6.338J: Parallel Computing and Scientific Machine Learning in Julia
- Patterns of Distributed Systems
- Programming Parallel Computers
- Distributed Algorithms 2020
Contest Programming
General
Data Structures
- Tradeoffs of data structures
- Applications of data structures
- Suffix arrays – a programming contest approach (PDF)
Dynamic Programming
- http://prismoskills.appspot.com/lessons/Dynamic_Programming/Chapter_01_-_Introduction.jsp
- https://medium.freecodecamp.org/demystifying-dynamic-programming-3efafb8d4296
- Dynamic Programming in Functional Programming