Thomas Gilray
This class is known to change people's degrees from a BS to BA in CS. Your grade comes from homework assignments, tests that are every two weeks, and three programming assignments, all of which are hard. If at all possible, take Johnstone for this course as he doesn't do programming. Gilray usually scales at the end of the year though.