Object oriented programming in Java. Class libraries for collections, grafical components, client-server programming and threads. UML class diagrams.
Design patterns for object oriented program development and design criteria.
XML. Common object oriented methodologies. Testing. Other UML than class diagrams.
Lab work in Java. Alls labs are documented with UML.
The overall aim of the course is to provide an understanding of basic object oriented software development including the use of design patterns, based on the Java programming language.
After the course you should be able to:
- Use object oriented principles and concepts including loose coupling, encapsulation, inheritance and polymorphism in your own programming.
- Describe and apply principles for good object oriented design.
- Describe common design patterns and choose suitable patterns for simple applications.
- Use UML class diagrams to document your own programming work in a clear and legible way.
- Interpret UML class diagrams, e.g. as introduction to new
design patterns. - Understand a variety of advanced Java features including Swing GUI
components, exceptions, network programming and concurrency and be
able to use these in lab work. - Perform an object-oriented analysis of an informal text-based software requirements document and use a Noun/Verb/Relational-Phrase methodology, to construct a data dictionary.
- Translate the information contained in a data dictionary into a UML class diagram which accurately models the same information, including aggregation, inheritance and multiplicity.