Professor. Ric
Holt, DC 2508, x37242
Organizational
meeting. Monday, 4:00,
September 10, 2012, DC3313
Meetings. Monday, 4:00-6:20, DC3313
Web site. http://plg.uwaterloo.ca/~holt/cs/746/12
Course sheet. http://plg.uwaterloo.ca/~holt/cs/746/12/course_sheet.html
Schedule. http://plg.uwaterloo.ca/~holt/cs/746/12/schedule.html
Assignments. http://plg.uwaterloo.ca/~holt/cs/746/12/assignments.html
Course cap (max size). 24
Description. This is a seminar course that reviews literature on software architecture.
Prerequisites. There is no formal course
prerequisite. However, students are expected to be familiar with the problems
of structuring large, complex software systems. Courses such as CS446 and CS445
may be useful background, but are not required. Some industrial experience may
be helpful.
Seminar organization. The course will be run as a
sequence of seminars in which papers relating to software architecture are
discussed.
Moderator. In a typical meeting of the class, we
will discuss one to three papers. Beforehand, one class member, called the
"moderator", will be chosen for each paper. The moderator will
introduce the paper to the class, and make sure that the relevant points in the
paper are clarified in the discussion. Points in the paper should be related to
points in other papers. Ideally, there will be 20 minutes for the
presentations, followed by a 10-15 minute discussion on the paper. Before the
class, the moderator is to attempt to find and study the web pages of the
article's author(s). On the day of the presentation, the moderator will send an
electronic copy of his or her slides to the lecturer. The presentations are to be of professional
quality with informative and attractive slides.
See Hints
on Presentations for ideas on improving your presentation.
Participation. All participants are to read each
article before the meeting that discusses the article. All participants have
the responsibility to see that they and other participants get the maximum
benefit from the discussions.
Surveys of architecture. Each student will present a survey
of 1 or 2 software architectures from Part 2 of the Brown/Wilson book on software
architecture. Each
(written) survey should generally follow the format of surveys as described
with the assignments. Each (oral)
presentation will be much the same as the presentation of papers, using slides. Generally you will have 20 minutes for the
actual presentation plus 10 minutes of
discussion. Be sure that your
presentation clearly describes the function of the software. Be sure your presentation is informative and
interesting. Submit the survey and
slides electronically by the beginning of the corresponding class.
Assignments. The course
assignments are covered in a separate web page.
Project. Each student or team of students
will do a project along the theme of software architecture. Ideally, this will
involve practical work, such as investigating the architecture of an actual
software system, or building demo tools for displaying software architecture
structures. Some sample topics can be found at http://plg.uwaterloo.ca/~holt/cs/746/03/project.html
.
Project presentation. Each student or team will present
their project during the last few weeks of class. Presentations are to be
professional quality, with well prepared slides, beginning with a clear
statement of the area of interest, and proceeding to an easy-to-follow
technical presentation. On the last day of class, each student or team is to
turn in their project paper.
Text: The text for the fundamental
material is Shaw and Garlan's book on Software Architecture. However, their
book serves as background and does not cover the breadth of this course –you do
not need to purchase this book. The
free electronic book on Software Architecture Part 2) by Brown and Wilson will
serve as a basis for surveys of the practice of software architecture.
Marking scheme: Class participation 10, Presentation of papers and architecture surveys
20, Assignments 30, Course project 40, TOTAL 100.
Academic
Integrity: In order to maintain a culture of academic integrity, members of
the
Grievance: A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70 - Student Petitions and Grievances, Section 4, http://www.adm.uwaterloo.ca/infosec/Policies/policy70.htm
Discipline: A student is expected to know what constitutes academic integrity, to avoid committing academic offenses, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offense, or who needs help in learning how to avoid offenses (e.g., plagiarism, cheating) or about “rules” for group work/collaboration should seek guidance from the course professor, academic advisor, or the Undergraduate Associate Dean. When misconduct has been found to have occurred, disciplinary penalties will be imposed under Policy 71 – Student Discipline. For information on categories of offenses and types of penalties, students should refer to Policy 71 - Student Discipline, http://www.adm.uwaterloo.ca/infosec/Policies/policy71.htm
Avoiding Academic Offenses: Most students are unaware of the line between acceptable and unacceptable academic behaviour, especially when discussing assignments with classmates and using the work of other students. For information on commonly misunderstood academic offenses and how to avoid them, students should refer to the Faculty of Mathematics Cheating and Student Academic Discipline Policy, http://www.math.uwaterloo.ca/navigation/Current/cheating_policy.shtml
Appeals: A student may appeal the finding and/or penalty in a decision made under Policy 70 - Student Petitions and Grievances (other than regarding a petition) or Policy 71 - Student Discipline if a ground for an appeal can be established. Read Policy 72 - Student Appeals, http://www.adm.uwaterloo.ca/infosec/Policies/policy72.htm
Last
revised 8 July 2012, RCH