Miscellaneous
Here are some useful courses and learning materials.
Parallel
The Art of Multiprocessor Programming - Maurice Herlihy
C++ Concurrency in Action
Concurrency with Modern C++
An Introduction to Parallel Programming (Pacheco, Peter etc.)
HPC
MIT 6.172 Performance Engineering of Software Systems, Fall 2018
UCB CS267 Spring 2023 - Application of Parallel Computers
Stanford CS149 Fall 2023 PARALLEL COMPUTING
15-418/15-618: Parallel Computer Architecture and Programming
Machine Learning
CS224W: Machine Learning with Graphs
Book - 机器学习中的概率统计
Machine Learning System
CMU 10-414/714: Deep Learning Systems
Programming Languages
Cornell CS 4110
Cornell CS 6110
Semantics with Applications: An Appetizer
The Formal Semantics of Programming Languages
Types and Programming Languages
Compiler & Program Analysis
Cornell CS 4120 Introduction of Compilers
Cornell CS 6120: Advanced Compilers: The Self-Guided Online Course
U of T CSCD70 Compiler Optimization
DCC888 Static Program Analysis
Introduction to Program Synthesis
Book - Static Program Analysis
Book - Program Analysis - Jonathan Aldrich
Book - Static Single Assignment Book
Architecture
CS61C: Great Ideas in Computer Architecture
Berkeley CS 152/252A Spring 2023
MIT 6.823 Computer System Architecture - Fall 2024
LLVM
The LLVM Target-Independent Code Generator
Thoughts
Yuanyuan Zhou: Learning from my startup mistakes (前车之鉴)
- Tips on writing a research paper by Thomas Reps
- Writing a technical paper by Michael Ernst
Doing research in software analysis: lessons and tips by Zhendong Su
C++
Book - C++ Templates: The Complete Guide