CMSC 250 Notes