Course FormatCourse Goals
Textbooks and References
Prerequisites by Topic
Major Topics Covered in Course
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.
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..
Professor William Clinger
Schach, Classical and Object-Oriented Software Engineering with UML and Java, McGraw Hill
Frederick P Brooks Jr, The Mythical Man-Month: Essays on Software Engineering, 1975. Gerald M Weinberg, The Psychology of Computer Programming, 1971.
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.
COM 1201Ý (Algorithms and Data Structures 2)
COM 1204Ý (Object-oriented Design)
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.