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
- Midterm Test: 6:00pm October 22, 2007
- Final Exam (Comprehensive): 6:00pm December 3, 2007
- Final Withdrawal Date w/o academic penalty:October 30, 2007
Course Objectives/Learning Outcomes
- 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
- Head First Design Patterns
By Freeman and Freeman
Pulisher O’Reilly
ISBN 0-596-00712-4
- 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)
- 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
- 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 datesStrategy / 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