|
Topics
Here are some topics we may cover as the semester progresses.
Please note that there may be assigned readings from web sources or handouts
in addition to the textbook.
- Introduction
- Design criteria
- Design principles
- Information hiding
- Low coupling and the Law of Demeter
- Design notations: UML
- Object-oriented design patterns
- Goals
- Patterns: Visitor, Observer, etc.
- Refactoring
- Goals
- Patterns: Pull-up Method, etc.
- Identifying Refactoring Candidates
- Architecture Patterns
- Goals of Software Architecture
- Architectures: Model/View/Controller, etc.
- Java
- Java generics, defining generic classes, using bounded polymorphism
- Advanced Java language features
- Concurrency
- Threads, synchronization
- Concurrency design patterns
- concurrency utilities and abstractions
- Distributed computing
- Security
|