COMP SCI 2OO3 Object Oriented Programming - Outline
Goal
This course has two goals: one is to familiarize participants with an industrially relevant object-oriented development environment and to give sufficient opportunity to get "fluent" in one object-oriented programming language. The other goal of the course comes from the observation that many of the techniques and principles are indepenent from the programming language and enviroment and have a more universal value, for example those for robustness, testing, and modularization. The lectures will focus on those, the labs will cover current technology.
Topics (not necessarilly in order or presentation)
- The object-oriented approach to software development
- Programming in an integrated development environment (IDE)
- Modeling, the object physical object relation
- Problem decomposition techniques using classes
- Classes, objects, fields, methods
- Interfaces and contracts
- Subclasses, inheritance, overriding
- Abstract classes
- Exception handling and robustness
-
- Libraries and frameworks
- Design Patterns
- Design notations
- Modularization in object-oriented languages
- GUI programming
- Documentation
-
- Interface documentation
- Design documentation
- Concurrency
- Concurrency concepts
- Threads and thread communication
- Testing
- Configuration Management
- Concepts
- Tools (subversion, CVS)
Last update 23 December 08 by Emil Sekerinski, McMaster University.