Fall 2017
Introduction to object-oriented programming and to tools and techniques for software development. Designing, coding, debugging, testing, and documenting medium-sized programs: reading specifications and designing software to implement them; selecting appropriate data structures and control structures; writing reusable code; reusing existing code; basic performance issues; debuggers; test suites.
Prereqs: CS146 or a grade of 60% or higher in CS136 or CS138; Honours Mathematics students only.