A broad survey of the computer science discipline, focusing on the computer's role in representing, storing, manipulating, organizing and communicating information. Topics include hardware, software, ...
Abstraction and design in computation. Topics include functional and object-oriented styles of programming, software engineering in the small, and models of computation. Our main goal is to understand ...