CMPE343 – Course Project #1
A menu-driven console application developed in Java. The program guides the user through different school levels, each containing specific algorithmic and logical operations.
- 📖 About the Project
- 🏫 School Levels and Features
- 🛠️ Technologies Used
- 📸 Screenshots
- 👩💻 Contributors
This project is a Java console application developed for the CMPE343 – Fundamentals of Java Programming course.
When the application starts, it displays a welcome screen with colorful ASCII Art and team member names. The user is then prompted to select an option from the main menu.
- A – Primary School
- B – Secondary School
- C – High School
- D – University
- E – Terminate
The program continues running until the user selects the Terminate option. Invalid inputs are handled without stopping execution, and the screen is cleared after each operation for a clean interface.
This level focuses on basic string manipulation and date calculations.
- The user enters their date of birth (day, month, year).
- The program calculates:
- Age in years, months, and days
- Zodiac sign
- Calculations are performed without using built-in date/time libraries.
- The user provides a text input (Turkish characters supported).
- Every word containing two or more letters is reversed.
- Numbers and punctuation marks remain unchanged.
- The operation is implemented using a recursive method.
This level includes mathematical algorithms and expression evaluation.
- The user enters an integer
n ≥ 12. - Prime numbers up to
nare generated using:- Sieve of Eratosthenes
- Sieve of Sundaram
- Sieve of Atkin
- For each algorithm, the program displays:
- The first 3 and last 2 prime numbers
- The execution time
- The user enters a mathematical expression.
- Supported operators:
+ - x : ( ) - Invalid characters or mismatched parentheses trigger a re-entry prompt.
- The expression is evaluated:
- According to operator precedence
- Step by step
- Using recursive evaluation
- Each evaluation step is printed to the console.
This level focuses on arrays and statistical computations.
- The user enters the array size and elements (double values).
- The program calculates:
- Median
- Arithmetic mean
- Geometric mean
- Harmonic mean (calculated recursively)
- Proper median calculation is applied for even-sized arrays.
- The user enters the dimension and elements of two arrays (values between
0–9). - The program calculates:
- Manhattan Distance
- Euclidean Distance
- Cosine Similarity
- Invalid inputs trigger warnings and require re-entry.
This level contains the Connect Four game.
- The user selects the board size:
5×4,6×5, or7×6
- Game modes:
- Single Player (against the computer)
- Two Players
- Game rules and features:
- Players take turns dropping discs into columns
- If a column is full, the player must choose another column
- The screen is refreshed after each move
- The game ends when:
- A player connects four discs
- The board is full (draw)
- A player quits the game
- In Single Player mode, the computer makes random moves
- Java
- Java Console (CLI)
- Git & GitHub
- JavaDoc
👩💻 Contributors
Zeynep Sıla Şimşek
Pelin Cömertler
Simay Mutlu
Nezihat Kılıç