SE2: Software Design & Architecture
(CS446/CS646/ECE452) Spring 2011

Main|Schedule|Term Project

General Information:

InstructorAtif Khan, DC 3318 ,
Office hoursWed 9:30-11:00 DC 3318
Teaching AssistantsSandy Beidu (
Karim Ali (
Lectures8:30AM-9:20AM, MWF at MC 2038
Schedule & readingschedule


11/07/11: Exercise 4 is now available (here).
11/07/11: Marking scheme for Assignment 3 is available (here).
11/07/11: Marking scheme for Assignment 4 is available (here).

03/07/11: Midterm marks are now available (UWACE). Solution is also posted here

27/06/11: Exercise 3: is now available. Due on Jul 4th, 2011

26/06/11: Assignment 4 draft is now available
26/06/11: Assignment 3 draft is now available
26/06/11: Marking scheme for Assignment 2 is now posted

21/06/11: Student project presentation schedule (July 13-25) is now posted. See Schedule

18/06/11: Exercise 1 solution-class diagram

17/06/11: Midterm Spring 2010 with solutions

16/06/11: Exercise 2 solution

12/06/11: Assignment 2 is now available

30/05/11: SE464-Past exam review session today at 2:30PM in mc2017 details

26/05/11: Assignment 1 is due on June 8th, 2011

19/05/11: Exercise 2: is now available. Due on May 27th, 2011
19/05/11: Exercise 1: is now available. Due on May 27th, 2011
19/05/11: Class schedule updated: Please review
19/05/11: EX0 feedback has started to appear at the UWACE wiki-Student Term Projects (found under Lessons tab)
19/05/11: Ex0 will expire on Monday May 23th, 2011

18/05/11: Graduate students please submit your paper selections via UWACE email by Tuesday May 24th, 2011. Try to select more than two papers if possible. I will try to assign you your first choice, however that can not be guaranteed if multiple students show interest in the same paper. Send me a reference or a link to the paper.

09/05/11: Exercise 0 is to be submitted by each group member. You should discuss the project details as a group but then every member must submit in his own words what the group project is about. If project responsibilities were divided over the group members, then the individual reports should highlight that.

07/05/11: added UML reading references
06/05/11: Paper list for graduate students is now available

05/05/11: Assignment 1 is now available
05/05/11: Graduate student presentations on June 17th, 2011
05/05/11: Exercise 0 due by May 11th, 2011

03/05/11: Exercise 0 is now available.
03/05/11: Project ideas posted.
03/05/11: Created Wiki on UWACE for Group Projects.

Important Links

Course overview:

To introduce students to: (i)the software architecture & design process and their models, (ii)representations of design/architecture (iii)software architectures & design plans, (iv)design notations & methodologies.

The main emphasis of this course will be on software architecture & design. Students will select a term-project and will provide various designs along with a limited-scope implementation. Again the emphasis being on design.

Term Project: Students will select a term project for which they will create software architectural and design artifacts. The project is 40% of the course so start early. Four assignments will act as project milestones with marked deliverables. Students will work in teams (minimum of three). The final implementation will be presented towards the end of the course. All project (design and implementation) artifacts will be required for final submission. Students are encouraged to present original project ideas. I could also suggest some if needed. More than one team can work on the same idea (parallel development).

An interesting large-scoped idea can be broken down over multiple teams, where each team works on a smaller scoped component. Extra marks (upto 5%) will be awarded if the components are fully functional when integrated together.

Review Exercises:Five review exercises will be posted covering various fundamentals topics covered in class. Each exercise will be graded on a pass/fail basis.

Course Topics: See schedule.

Guest Speakers: There will be guest lectures by Derek Rayside and others.
Prof. Derek Rayside is teaching SE464. We are working together to keep the two sections similar and will have the same mid-term and final exam for both sections. Material presented in Prof. Rayside's lectures will be on the exams. Other guest lectures are planned as well. I will update the schedule accordingly.

Research Papers: We will be reading a few research papers in the earlier part of this course. I will mark them in the schedule. Students are expected to read them in detail. Material from these papers will be on the exams.

Graduate students research papers: CS 746 has a long list of papers suitable for graduate students.

Design & Development Tools: Any IDE of your choice is fine. Projects can be implemented in C,C++. Java, Perl, Python etc (clear it with the TA). There are a number of UML tools available free of charge (I can suggest some if required). For design validation we will use the Alloy tool from MIT (, and might use the Spin tool from NASA ( Prof. Rayside's lectures will cover these tools.

Intended audience:

Third or fourth year CS/ECE students, or first year CS graduate students


Students must have programming experience. Familiarity with GoF design patterns and UML.

Marking Scheme:

Exercises: (individual)
  • 0: Teams & project proposal
  • 1: UML
  • 2: Design patterns
  • 3: Design validation tools
  • 4: Re-factoring to patterns
Assignment 1: Document the architecture of the term project software15%
Assignment 2: Detailed project design10%
Assignment 3: Project implementation10%
Assignment 4: Project presentation5%
Graduate Research (CS646 only):
GR1: Review two papers10%
GR2: Present one of the two5%

Late Policy: Late submissions for assignments will be accepted only up to 48 hours after the original due date. There is no penalty for accepted late submissions, and multiple assignments can be submitted late, including the last one. Course personnel will not give assistance for assignments after their original due dates. Due dates will be posted well in advance in the Calendar section of the UW-ACE course site. Assignments will be returned in class.

Final Exam: The final exam covers all reading material, lecture material, and project material unless otherwise announced. MUST PASS THE FINAL TO PASS THE COURSE.

Past Exams Prof. Rayside will review the following exams on May 30th, 2011 in SE464 class tutorial

Academic Integrity

Students are encouraged to talk to one another, to the TAs, to the instructor, or to anyone else about any of the assignments. Any assistance, though, must be limited to discussion of the problem and sketching general approaches to a solution. Each student must write his or her own solutions, including code and documentation if appropriate, for the assignments. Consulting another student's solution is prohibited, and submitted solutions may not be copied from any source. These and any other forms of collaboration on assignments constitute cheating. If you have any questions about whether some activity constitutes cheating, please ask the instructor.

The general Faculty and University policy:

Note for students with disabilities

The Office for Persons with Disabilities (OPD), located in Needles Hall, Room 1132, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with the OPD at the beginning of each academic term.