A Java console-based application designed to efficiently manage student records and academic performance. The application allows users to add, view, search, update, delete, and sort student records while automatically calculating grades and generating detailed summary reports.
This project was developed as part of my Java Programming Internship at CodeAlpha and demonstrates the practical implementation of Core Java concepts, Object-Oriented Programming (OOP), Collections, Exception Handling, and Input Validation.
- โ Add new student records
- ๐ View all students
- ๐ Search students by unique Student ID
- ๐ Search students by name
- ๐ค Partial and case-insensitive name search
- โ๏ธ Update student marks using Student ID
- ๐๏ธ Delete student records using Student ID
- ๐ฏ Automatic grade calculation based on marks
- โ Pass/Fail result calculation
- ๐ Display grade-wise statistics
- ๐ Generate detailed student performance summary
- ๐ค Sort students by name (A-Z)
- ๐ Sort students by marks (Highest to Lowest)
The application generates a detailed summary containing:
- Total number of students
- Average marks
- Highest scoring student
- Lowest scoring student
- Pass percentage
- Grade-wise student statistics
- Prevents invalid menu input
- Validates Student ID
- Validates marks between
0and100 - Handles invalid numeric input
- Prevents duplicate Student IDs
- Prevents empty student names
- Java
- Object-Oriented Programming (OOP)
- Java Collections Framework
- ArrayList
- Comparator
- Scanner Class
- Exception Handling
- Lambda Expressions
- Git & GitHub
- IntelliJ IDEA
CodeAlpha_StudentGradeTracker/
โ
โโโ src/
โ โโโ Student.java
โ โโโ StudentManager.java
โ โโโ StudentGradeTracker.java
โ
โโโ .gitignore
โโโ README.md
| File | Description |
|---|---|
Student.java |
Represents a student and stores Student ID, name, marks, grade, and result information. |
StudentManager.java |
Contains the main business logic for managing, searching, updating, deleting, sorting, and analyzing student records. |
StudentGradeTracker.java |
Contains the main method and provides the menu-driven console interface. |
This project demonstrates several important Core Java concepts:
- Classes and Objects
- Encapsulation
- Constructors
- Getters and Setters
- Method Overriding
- Static Methods and Variables
- ArrayList
- Collections
- Comparator
- Loops and Conditional Statements
- Exception Handling
- Input Validation
- Lambda Expressions
git clone https://github.com/rajpandey4706/CodeAlpha_StudentGradeTracker.gitOpen the cloned project using:
- IntelliJ IDEA
- Eclipse
- VS Code with Java extensions
cd srcjavac Student.java StudentManager.java StudentGradeTracker.javajava StudentGradeTracker==========================================
STUDENT GRADE TRACKER
==========================================
1. Add Student
2. View All Students
3. Search Student
4. Update Student Marks
5. Delete Student
6. Sort Students
7. Display Summary Report
8. Display Grade Statistics
9. Exit
==========================================
Enter your choice:
The application provides two ways to search for students:
Each student is identified using a unique Student ID.
Enter Student ID: 1001
The name search supports partial and case-insensitive searching.
For example, if the student's name is:
Raj Pandey
The student can be found using:
Raj
raj
Pandey
PANDEY
Raj Pan
This makes searching student records easier and more flexible.
| Marks | Grade |
|---|---|
| 90 - 100 | A |
| 80 - 89 | B |
| 70 - 79 | C |
| 60 - 69 | D |
| Below 60 | F |
Students scoring 40 marks or above are considered PASS, otherwise FAIL.
Project screenshots will be added here to demonstrate:
The following features can be implemented in future versions:
- ๐พ File Handling for permanent data storage
- ๐๏ธ JDBC and MySQL database integration
- ๐ฅ๏ธ GUI using Java Swing or JavaFX
- ๐ Spring Boot REST API
- ๐ Admin Login System
- ๐ Export student reports
- ๐ Subject-wise marks management
- ๐ Advanced performance analytics
The objective of this project is to apply Core Java and Object-Oriented Programming concepts to build a practical console-based application for managing student academic records.
The project focuses on writing clean, modular, and maintainable Java code by separating the application into different classes based on their responsibilities.
Raj Pandey
MCA Student | Aspiring Java Developer
Developed as part of the CodeAlpha Java Programming Internship.
โญ If you found this project useful, consider giving the repository a star!