This repository contains resources and assignments for the Object-Oriented Programming II course. Advanced OOP topics include design patterns, exception handling, file I/O, and more complex data structures.
The Jupyter notebooks with summaries created by Professor Guilherme Derenievicz and adapted by Professor Jônata Tyska can be accessed in the Jupyter notebooks folder.
The following table lists all the exercises completed during the course, in order of their submission date. The group assignments were completed by me, Augusto Schweitzer, Rodrigo Schwartz, and Tom Hunt.
Task | Description | Group Work |
---|---|---|
Hello World | Task to get accustomed to Python and introduce ourselves | |
Exercise List I | Warm-up exercises for creating programs with classes in Python | |
Exercise List II | Exercises for creating programs using arrays | |
Exercise List III | Exercises for creating programs using dictionaries | |
Naval Battle | Naval battle game implemented using dictionaries | |
Library UML Diagram | Creation of a UML diagram to simulate a library | |
Store Simulation | Program to learn getters and setters by simulating a store | |
Library Simulation | Program to learn association, aggregation, and composition by simulating a library | |
Animal Inheritance | Program to learn inheritance using animals | |
Help Ticket System | Program to implement a help ticket system for companies using interfaces | |
Card Game | Program to implement a card game with earth elements | |
Chatbot System | System with an interactive chatbot | |
Transport System | Program using polymorphism to implement a transport system | |
Library (Exam) | First exam of the course where a library with loan system had to be implemented | |
BMI Calculator (GUI) | System to calculate BMI using a graphical interface | |
Client Registration System | Graphical system for client registration, using error management | |
Elevator Control | Program using error management to control an elevator | |
SOLID Exercise | Programs to implement each item of the SOLID principle | |
Vote Counter | Program to analyze received votes and create charts | |
Soccer Championship (Exam) | Second exam of the course where a soccer championship manager had to be implemented |
The final project of the course was completed in a group by me, Augusto Schweitzer, Rodrigo Schwartz, and Tom Hunt. The project consisted of creating an object-oriented game using the concepts learned during the course (such as aggregation, composition, inheritance, polymorphism, clean code, SOLID principle, UML diagram).
For more details about the game, visit the official repository.