TASK 01 · CODEALPHA JAVA INTERNSHIP Object-Oriented Programming Collections Framework

Student Grade Tracker.

A Java-engineered academic performance management system. Computes weighted grade statistics, overall class averages, highest/lowest scores, and GPA rankings with defensive input validation.

O(1)
Lookup Efficiency
100%
Input Validation
4.0
Standard GPA Scale
A–F
Letter Grade Auto-Assign

Interactive User Input & Output Suite

Use the dedicated INPUT and OUTPUT buttons below to enter data and generate comprehensive performance reports directly on this page.

IN-BROWSER SUITE

📥 Student Grade Input Form

Accepts scores from 0.0 to 100.0

📊 Academic Performance Output Report

Updated: Just now
Class Average
--
Grade: --
Class Highest
--
Top student score
Class Lowest
--
Lowest score
Pass Percentage
--
0 Students Total
🏆
Top Performer
None yet
📉
Needs Academic Support
None yet
# Student Name Subjects Count Entered Scores Average % Highest Lowest Letter Grade GPA (4.0) Action

📊 Student Performance Bar Chart

Scale: 0% to 100%

Official Video Walkthrough

Watch the Java application in action handling student records, inputs, and generating console reports.

TASK 1.mp4

▶ Task 1 Demonstration — Student Grade Tracker Execution

Full HD 1080p Recording

System Architecture & Java OOP Design

Built following robust Object-Oriented principles, separating data models, business logic, and UI execution.

Student.java

Encapsulates student identity and an internal ArrayList<Double> of marks. Provides getter/setter boundaries and computes student-level metrics.

  • getAverage(): Sum of grades / count
  • getHighest(): Peak recorded score
  • getLowest(): Minimum recorded score

GradeTracker.java

Acts as the controller maintaining the master registry of all students. Implements class-wide statistics, duplicate prevention, and tabular formatting.

  • Case-insensitive student lookup
  • Dynamic ASCII formatted summary table
  • Class-wide highest, lowest & average computation

Main.java

Interactive CLI driver with Scanner input, robust exception handling, and an easy menu-driven interface for seamless command execution.

  • Menu Loop with exit validation
  • Defensive numeric parsing
  • Real-time console updates
Java 25 LTS
public class Student {
    private String name;
    private List<Double> grades;

    public Student(String name) {
        this.name = name;
        this.grades = new ArrayList<>();
    }

    public void addGrade(double grade) {
        grades.add(grade);
    }

    public double getAverage() {
        if (grades.isEmpty()) return 0.0;
        double sum = 0;
        for (double g : grades) sum += g;
        return sum / grades.size();
    }
}

How to Run Locally in Terminal

Navigate into the task folder and compile the Java sources using the standard JDK.

Compile and run Main class directly:

cd Task1_StudentGradeTracker
javac *.java
java Main
← Back to Portfolio Overview Next Project: Stock Trading Platform →