Object-Oriented Design and Programming

This was the first official Java programming course at NTU. Though the emphasis was on Object Oriented Programming styles, the majority of the course content was taught in Java except one chapter in C++. In the first half, the course covered all of the standard OOP concepts such as Encapsulation, Inheritance, Polymorphism and Abstraction. These topics were similar to what I had learnt in high school so I was able to cope with them easily. The latter half was based more on the UML and representation side; it covered class diagrams, sequence diagrams and UML relationships such as aggregation and composition.

The course also had a final group project, where we had to create a simple movie booking application. The features needed for the project include listing movie screenings, ticket reservation and admin functions such as editing the movie information, changing currently viewing movies and so on. We employed many aspects that we learnt in the course including design principles such as Open-Closed Principle, Liskov Substitution Principle etc. We also employed many professional best practices and error checking mechanisms. This project helped me learn many new things in terms of design principles and writing good quality code. As I was already quite familiar with Java programming, this project served as a good opportunity to improve my skills and also my code styling and quality.

This project also involved a report about the design principles and OOP concepts we used, and the test cases we validated our application on. Writing the report was a good opportunity for me to learn good documentation practices, and learn how best to explain technical aspects on paper. The skills I acquired here were also very helpful in a future documentation-centric project in another course called Software Engineering in the next semester.

Keywords
  • OOP Concepts
  • Java
  • Group Project Experience
  • A Grade
More Posts
Courses taken in the same semester or experiences with related concepts