CS575 Software Design

Course Trivia


When designing a significant software system, several design decisions about the structural, architectural, and behavioral properties of the system are made and documented.

In this course, techniques and notations are introduced for specifying these properties of software systems. Software systems are studied at various levels of abstraction from architectures to subsystem decompositions to module and class interfaces and dependencies.

In this course, students will learn to analyze, express, and implement software designs. The course material is drawn from the works of one of the most distinguished software engineers, Dr. David L. Parnas. Practical experience will be obtained by working on a project.


Software architecture, architectural styles, modularity and information hiding, hierarchical structure, program families, exception handing, design reviews.

Intended Audience

This course is intended for graduate students in Software Engineering and Computer Science. Graduate students in other programs may take this course with the permission of the instructor, as significant programming experience is a pre-requisite.

Before taking this course, students should be proficient in the Java object-oriented programming language. Students lacking such a background should read the following Java material:

Course Grading Scheme

Grading Scale

Letter grades (A, B, C, D, F) will be assigned to team paper presentations, quizzes, projects, and class participation.

For team activities (i.e., paper presentations, team projects) every member of the team will receive the same grade. If a team is not satisfied with the contributions of a team member, the entire team may come to discuss the matter with the instructor during office hours. If the instructor agrees with the complaints of a team toward its member, that member will be given the opportunity to drop the course to avoid receiving an F.

Grading Rules

Project (25%)

The deadline for the project's code and design documentation is December 9.

Each team must consist of 3 students. The teams for the project will be the same for the project and for the research paper presentations. Each team must set up and maintain a website to facilitate the distribution of their progress on team activities (project, paper presentations).

The project (code, design documentation) must be available on the each team's web page. Projects are submitted by sending a notification, via e-mail, to the instructor with a URL pointing to the project.

The project description is available here

Paper Presentations (30%)

Each team will have the opportunity to present four research papers to the class. Any member(s) of the team can present the paper. The presentations must be done using Powerpoint and must be available (in their final form) on the team website one day before the presentation. Teams are expected to send a notification, via e-mail, to the instructor one day prior to their presentations. The notification must have a link to the team presentation that is on their website.

Presentations are expected to be of high quality. Each presentation should last 25 minutes followed by a 20 minute period for questions and discussions.

The presentation should not simply repeat what is stated in the paper. The presenting team is expected to have a deep understanding of the paper and come up with interesting examples and explanations of the ideas and techniques.

Quizzes (35%)

Students should prepare for the quizzes by studying the assigned papers for the day of the quiz. The quizzes will be a combination of short answer, essay, and problem solving questions. All quizzes are in class and closed book.

Class Participation (10%)

To aid the discussion process, each student must create one thought-provoking question for each paper. The questions must be sent to the instructor via e-mail one day before the presentation. Late submissions of presentations and questions will not be accepted and will receive a 0 grade.

Students are expected to participate in classroom discussions related to the project and paper presentations. Students who choose not to participate in the discussions will receive 0 for their class participation grade.

Links to Some Helpful Material

Course Schedule

You may use the above links to obtain an on-line copy of the lecture notes.  The lecture notes are provided in both Powerpoint (ppt) and Adobe Acrobat (pdf) format.  Adobe Acrobat Reader is a free viewer for Adobe PDF files. A copy can be downloaded from here:

getacro.gif (712 bytes)

On the MCS Unix workstations, make sure that you specify acroread as a "Helper" under Netscape's "General Preferences".
(e.g., application/pdf acroread %s)

You may print the lecture notes from within Acroread. Note that Acroread enables you to print multiple slides per page.

Academic Honesty

The university's Academic Honesty policy is in effect for this course. Please read Section 10: "Academic Honesty" in the Drexel University Student Handbook to make sure you are familiar with this policy. An electronic version of the Student Handbook appears on the 1998 Drexel CD. You may visit the university's student handbook online at http://www.drexel.edu/studentlife/docs/handbook/shindex.html

Back to my home page.