Foundations of Programming Languages
Notes from the MSc course at FCUL, built on Pierce's Types and Programming Languages, Advanced Topics in Types and Programming Languages and Gay and Vasconcelos's Session Types: abstractions, formal reasoning, linearity, ownership and session types.