- Context
This course was an elective taught to final-year undergraduates on the main B.Sc. computing degrees in UCC's Computer Science Department. It was designed to be a one-off 'catch-up' course, taught for the first and only time in 1999-2000.
- Workload
- Lectures: 26 * 1 hr lectures
- Private study: 52 hrs (including revision)
- Prerequisites
Students should have done well in CS393, Object-Oriented Programming with Java.
- Assessment
- 1.5 hour written exam (worth 80% of the marks) in the Summer term;
- A design & programming assignment (worth 20% of the marks) to be completed in small teams during the Spring term.
- Description
The course mostly looks at object-oriented software architectures. We will use parts of the Unified Modeling Language, UML, to express designs, and we will map designs into Java source code.
Case studies will be used throughout the course to illustrate the ideas.
We will cover many of the following topics (although not all at the same level of detail and not necessarily in this order): cohesion, coupling, interfaces, association, inheritance, when to use association and when to use inheritance, design patterns, programming to an interface, defensive programming, exception-handling, design-by-contract, GUIs and event-driven programming.
- Aims
- Students should learn how to evaluate given object-oriented designs.
- Students should learn how to produce their own simple object-oriented designs.
- Teaching materials
- Copies of overheads (gzipped postscript) and programs discussed
in class (tar'd files) are available
below:
- What is good design?
Overheads: .ps - Java Revision++
Overheads: .ps
Code: .tar - Programming to an interface (and other topics)
Overheads: .ps
Code: .tar - Defensive programming (and other topics)
Overheads: .ps
Code: .tar - Model-View-Controller (and other topics)
Overheads: .ps
Code: .tar - Implementing association & generalisation (and other topics)
Overheads: .ps
Code: .tar
- What is good design?
- The assignment, 1999-2000
- Sample exam paper (gzipped postscript)
- Summer 2000 exam paper (gzipped postscript)
- Copies of overheads (gzipped postscript) and programs discussed
in class (tar'd files) are available
below:
- Recommended reading
Visit this article in JavaWorld and read the articles that are linked to.