Search | Directories | Reference Tools
UW Home > Discover UW > Student Guide > Course Catalog 

Instructor Class Description

Time Schedule:

Martin Stepp
CSE 331
Seattle Campus

Software Design and Implementation

Explores concepts and techniques for design and construction of reliable and maintainable software systems in modern high-level languages; program structure and design; program-correctness approaches, including testing; and event-driven programming (e.g., graphical user interface). Includes substantial project and software-team experience. Prerequisite: CSE 143.

Class description

This course explores concepts and techniques for the design and construction of reliable and maintainable software systems in modern high-level languages. The prerequisite for this course is CSE 143, and we assume that you come to the course with significant experience in either Java, C++, or a similar object-oriented language. Core topics include:

* program structure and design, particularly object-oriented design * object-oriented features of Java such as inheritance, interfaces, polymorphism, and generics * types, classes, abstract data types (ADTs), subtyping * deeper Java coverage, e.g. exceptions, reflection, threading, enumerations, collections, packages, annotations * object-oriented design patterns * unit testing, debugging, and other approaches for program correctness * code documentation via comments, Javadoc, and related techniques * learning and using a large application programmer interface (API) * using various software tools such as development environments (IDEs), testing frameworks, and version control * event-driven programming using graphical user interfaces in the standard Java AWT and Swing libraries * working in groups, including a significant group programming project at the end of the course

Student learning goals

General method of instruction

Recommended preparation

Class assignments and grading

The information above is intended to be helpful in choosing courses. Because the instructor may further develop his/her plans for this course, its characteristics are subject to change without notice. In most cases, the official course syllabus will be distributed on the first day of class.
Last Update by Martin Stepp
Date: 03/26/2011