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.
Students should have done well in CS393, Object-Oriented Programming with Java.
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.
Visit this article in JavaWorld and read the articles that are linked to.