At the end of this course, students will be able to:
- Use major object-oriented technologies and tools that are covered in the course.
- Apply major object-oriented design principles when designing software systems.
- Point out the advantages and disadvantages of various object-oriented solutions.
- Evaluate and compare existing system designs in terms of flexibility and modularity.
- Identify and revise components of existing system designs for better performance.
- Create UML class diagrams to model software systems with realistic requirements.
- Design and implement object-oriented software solutions to realistic problems.