UMD logo

CMSC 435: Course Description


CMSC 435 is a first course in software engineering. After you learn how to develop a program, CMSC 435 emphasizes how to develop a programming system.

In addition to the usually programming activities of designing, testing, and documenting programs, CMSC 435 goes into issues such as economics (how much will it cost?) and risk (what happens if we don't finish?). Various methods for improving program development are discussed, including various lifecycle models, process improvement, requirement and specification languages, as well as newer techniques such as agile development.
Course Objectives

Course has four major objectives:


At least one other CMSC 400-level course where you had to develop a large program (or be a CMSC graduate student).


There will be 2 projects, one report, and several individal tasks - a small individual system due within a week or two in early February and a large group activity.

40% group project, 20% first, 20% second exam, 10% Class participation, homeworks, quizzes, and individual assignments, 10% Individual report.

Group project: Maintain and enhance the TSafe air traffic control system
Report: (Due April 30, 2009). Investigate some project that failed due to software. Explain the problem. What happened? Why did it occur? What in the development process failed to permit the failure of the software? How could this have been avoided? If you had to pick liability, who was to blame? Has anything been done to avoid this in the future?

If you are not sure of what project to discuss, see Dr. Zelkowitz first. If you pick something discussed in class (e.g., Ariane 5 failure, Therac 25), make sure you go well beyond what was discussed in class. Other possible choices: NASA Mars mission failures, IRS tax moderization system, Denver airport baggage handling.

Grading Policy

As stated above, the economics and risks of a software development are important characteristics of any software project. Accordingly, projects must be completed on time. Late projects receive a penalty of 20% for being submitted late, and 10% for each additional 24-hours that they are late. Exceptions may be made for valid written medical excuses from a doctor.

Academic Integrity

All work that you submit in this course must be your own. See the Undergraduate Catalog for definitions and sanctions. Academic dishonesty is a serious offense which may result in suspension or expulsion from the University. In addition to any other action taken, the grade "XF" denoting "failure due to academic dishonesty" will normally be recorded on the transcript of students found responsible for acts of academic dishonesty. Sharing of code on programming assignments or solutions of homework assignments are forms of academic dishonesty.

For further information see the Student Honor Council and Code of Academic Integrity.