Techniques, languages, and tools for the development and maintenance of software systems. Topics include specification languages, configuration modeling, testing techniques, process modeling, program annotations, and program proofs. Object-Oriented Analysis and Design. An applied analysis and design class addressing the use of object-oriented techniques. Topics include domain modeling, use cases, architectural design, and modeling notations.
Students apply the techniques in analysis and design projects.
User Interface Design. Covers techniques for creating and evaluating effective user interfaces for computing systems. Introduces relevant findings and theory from psychology and human factors, as well as implementation methods. Topics in Software Engineering. Selected topics of current interest in software engineering.