Notes for Programming Languages (CS 341)