APPLIED COMPUTER SCIENCE

ACS-3913/3-050

Software Design and Architecture

Instructor Information

Instructor :Ron McFadyenOffice: 3D15

E-mail: ficeHours: TBD

Class Meeting Time:Slot 20, M,18:00-21:00Room No:3D03

Instructor web page:see

Important Dates

  1. Midterm Test: 6:00pm October 22, 2007
  2. Final Exam (Comprehensive): 6:00pm December 3, 2007
  3. Final Withdrawal Date w/o academic penalty:October 30, 2007

Course Objectives/Learning Outcomes

  1. The primary objective is to provide the student with additional OO software design techniques suitable for professional practice and for the Applied Computer Science Project Course. In particular the course covers several software design patterns using UML and Java.

For each of the patterns the student learns when and how to apply the pattern, and understands its structural and behavioural aspects.

The student’s knowledge of Java and programming capabilities are advanced.

The student’s knowledge of UML class, object, statechart, and sequence diagrams is advanced.

The student is prepared to further their study of design patterns in software design, human computer interaction, database, etc.

Evaluation Criteria

5.Assignments (20 %)

Number of Assignments: 4

Late assignments will be accepted, with a 25% penalty, up to and including the Friday of same week the assignment is due.

Assignments are equally weighted.

Some assignments require Java to extend or modify existing Java code.

Some assignments require UML.

Some questions on assignments must be answered using a word processor or drawing tool.

6.Midterm Test (30 %)

Unless a medical certificate is provided, no accommodation is made for missed tests or assignments.No calculator or any other electronic device (e.g. cell phone) is allowed during a test.

7.Final Exam (50 %)

Exam Requirements

8.Photo ID is not required
9.No calculator or any other electronic device (e.g. cell phone) is allowed in final exam

Required Text Book(s)/Reading List

  1. Head First Design Patterns

By Freeman and Freeman

Pulisher O’Reilly

ISBN 0-596-00712-4

  1. Schaum’s UML Outline, 2nd edition

By Bennett, Skelton, and Lunn

McGraw Hill

ISBN 0-07-710741-1

Prerequisite Information* (This information can be found in the UW General calendar)

  1. A grade of at least C in ACS-2913/3 (or the previous ACS-2911/3 and ACS-2912/3) and ACS-2947/3.

*Make sure that you have the necessary prerequisites to take this course. If you have not successfully completed the above listed courses, it is in your interest to go to student registration office and officially drop the course. Otherwise, the registration office will do it on your behalf.

Misuse of Computer Facilities, Plagiarism, and Cheating

  1. Academic dishonesty is a very serious offense and will be dealt in accordance with the University’s discipline bylaw. Be sure that you have read and understood section 7a beginning on page 120 in the 2007-2008 UW Campus Guide.

Topics to be covered

We will cover at least the Strategy, Observer, Decorator, Iterator, Composite, Singleton, Command, Adapter, Façade, and State patterns (see chapters 1, 2, 3, 5, 6, 7, 9, 10). In conjunction with these, we cover aspects of Java and UML as they are needed. Our focus is on design patterns, but note that we will review and cover a number of Java and UML topics at the same time.

We will be covering various aspects of UML including the representations for class, interface, abstract class, collaboration, object, association, navigability, generalization, stereotype, generalization, aggregation

UML diagrams will include the class, sequence, object, statechart, and package diagrams.

The most relevant chapters of the UML text are 4, 5, 6, 7, 9, 12, 17.

Pattern / topic / Significant dates
Strategy / Sept 10
Observer
Decorator
Iterator
Composite
Thanksgiving / Oct 8 / no class
comprehensive example
Singleton
Test / Oct 22 / midterm test
Command
Adapter
Façade
State
others if time permits
review / Nov 26/Nov 27 / last class is on a Tuesday!
Examination / Dec 3