The major emphasis of this course is to teach the students object-oriented development and coding. At the same time the students will be given an overall understanding of the entire software development process.
At all times the student will be challenged to look at what they are doing from the customer perspective. A software solution only has worth if it solves the customer's challenge. Therefore selection of objects, classes, methods, algorithms, etc. have to make sense not only in the fact that the code works, but issues such as:
- Testing
- Reuse
- Maintenance
- Budget
- Efficiency
- Error Handling
- Intuitiveness of the Customer Interface
- Programmer skill set
and other issues are discussed and debated.