several course notes for CMU