This repository contains my preparation for the final exam of the 094219 Software Engineering course at the Technion Institute of Technology. It includes exercises, solutions, and notes on various topics covered during the course.
The following topics are covered in this repository:
- Programming paradigms – procedural vs. object-oriented.
- Java basics.
- Classes & Objects.
- Composition & Inheritance.
- Abstract classes & interfaces.
- The cosmic Object superclass.
- Object-oriented design and programming (SOLID principles).
- UML diagrams.
- Generics.
- Collections (Java’s Data structures).
- Error handling (Exceptions and Errors).
- Testing methodologies.
- Recursion.
- Design patterns, anti-patterns, and code smells.
- Multithreading programming.
- Annotations (if time permits).
- Reflection (if time permits).
- 📅📝 Past final exams from the course.
- 💡💼 Exercises from course TAs.
- 🏋️♂️💻 Additional exercises from CodeWars.
You can simply clone this repository to your local machine and navigate through the exercises
directory to find the solutions for each exercise. Feel free to explore the code and use it as a reference for your own understanding. If you spot any mistakes or improvements, I welcome your feedback and contributions via pull requests.
Please note that while I strive for accuracy, there might be errors or incomplete information in some parts of this repository. This is a personal study repository and should be used as a supplementary resource to your own learning and the official course materials.
This project is licensed under the MIT License.