COM 1205 Software Design and Development

Course Description and Catalog Information
Course Information (links to past and current course materials)
Course Format
Course Coordinator
Textbooks and References
Course Goals
Prerequisites by Topic
Major Topics Covered in Course
Laboratory Projects

Course Description

Presents the latest ideas and techniques in software methodology and provides a means for students to apply these techniques. Students, working in groups, will be expected to design, implement, test, and document a large software project.

4 QH credit
Prerequisite: COM 1201 and COM 1204.

Course Information

Course is offered during the Fall and Winter quarters. CS majors are guaranteed a place in class.

Course Format

BSCS03 required course
BSCS04 Design core
BACS focused elective
BSIS general elective

This is a required course for the BS CS majors graduating in the years 2003 and before and is the second of two Sotfware Design core courses for BS CS majors graduating in the years 2004 and beyond..

Course Coordinator

Professor William Clinger

Textbooks and References

Fall 2000
  • Schach, Classical and Object-Oriented Software Engineering with UML and Java, McGraw Hill
  • Winter 2000
  • Frederick P Brooks Jr, The Mythical Man-Month: Essays on Software Engineering, 1975.
  • Gerald M Weinberg, The Psychology of Computer Programming, 1971.

  • Course Goals

  • Learn how to build software within the framework of a multi-team software project.
  • Understand the distinction between working, correct, and good code.
  • Understand the distinction between client code and implementation code, and the role of specifications as a contract between clients and implementors.
  • Know the purposes of testing, walkthroughs, and correctness proofs.
  • Know the more important contributors to software quality, and some of the more important detractors.
  • Gain experience in programming as part of a team.
  • Prerequisites by Topic

    COM 1201 (Algorithms and Data Structures 2)
    COM 1204 (Object-oriented Design)

    Major Topics Covered in the Course

    Laboratory projects

    There are typically six or seven homework assignments. Most of these are one-week assignments. One or two may be ten-day assignments, if they are unusually difficult or the students are having an unusual amount of trouble.