Course Details

CS 257: Software Design

It's easy to write a mediocre computer program, and lots of people do it. Good programs are quite a bit harder to write, and are correspondingly less common. In this course, we will study techniques, tools, and habits that will improve your chances of writing good software. While working on several medium-sized programming projects, we will investigate code construction techniques, debugging and profiling tools, testing methodologies, UML, principles of object-oriented design, design patterns, and user interface design. Prerequisite: Computer Science 200 or 201 or instructor permission
6 credits; FSR; Offered Winter 2017, Spring 2017; E. Alexander, J. Ondich