Project
Object Oriented Programming
Software Design
Professor Christine Reiley
Fares Yahmadi
During the Spring of 2023, I enrolled in a course called “Software Design,” and it introduced me to the world of programming using Java. This course provided me with a solid foundation in Java programming, equipping me with the skills necessary to create a wide range of applications. Throughout the course, I had the opportunity to apply Java’s object-oriented programming principles to develop diverse projects, such as interactive user interfaces and robust back-end systems. This experience expanded my horizons, enabling me to solve real-world problems and immerse myself in the dynamic field of software development.
PROJECT I: BANK ACCOUNT CALCULATION APP
The Bank Account GUI application is a user-friendly software designed to facilitate banking transactions in a digital environment. Written in Java, this application features an intuitive Graphical User Interface (GUI) that allows users to interact with their bank accounts seamlessly.
PROJECT II: FOREST FIRE SIMULATION
The Forest Fire Simulator is a Java-based program that provides a dynamic and interactive way to study the spread and behavior of forest fires within a controlled virtual environment. This simulation serves as a valuable educational tool and research platform for understanding the complexities of forest fires.
PROJECT III: LUNAR LANDER GAME

The goal of the Lunar Lander Game is to safely land on the moon. The player must click the “Thrust” button
to thrust the lander’s engine to slow its descent and reach the safe landing speed. The challenge is the
lunar lander has a limited amount of fuel and each click of the “Thrust” button uses one unit of fuel. This
requires the player to figure out a strategy for slowing the descent of the lander without running out of
fuel. If the lander reaches the moon at a speed above its safe landing speed (4 m/s), it will crash.
Unit tests successfully complete
