This repository contains solutions to the Java programming problems assigned in the labs during my first year at university.
In CS 101, Algorithms and Programming I, we focus on foundational programming concepts, particularly object-oriented programming (OOP). The course introduces students to designing programs using classes, objects, inheritance, and encapsulation. As the course progresses, we learn how to structure and organize code by implementing real-world models using these OOP principles.
In CS 102, Algorithms and Programming II, we deepen our understanding of Java by exploring advanced concepts like inheritance, polymorphism, and recursion. The course emphasizes applying these techniques through practical programming assignments, which not only solidify our coding skills but also prepare us for a major collaborative project. This team project challenges us to design and develop a professional-grade Java application, fostering both technical proficiency and teamwork. Additionally, we enhance our ability to present and communicate our work, an essential skill for clearly explaining complex technical ideas in the real world.