A fully-featured Java Swing GUI application to input, manage, and analyze student grades β built as Task 3 of the CodeAlpha Java Programming Internship.
- Total number of students
- Class average score
- Highest & lowest average in class
- Passing vs failing student count
- Full grade table with all 5 subjects per student
- Color-coded Grade (A / B / C / D / F) and Status (Pass / Fail) columns
- Add, Edit, and Delete student records
- Input validation (names required, scores must be 0β100)
- Per-subject class averages (Math, Science, English, History, Computer Science)
- Full class breakdown table with total score and deviation
- Auto-generated Summary Report showing:
- Class average
- Top & lowest performing students
- Best & weakest subject
- Export all student data to a CSV file via file chooser
| Requirement | How It's Implemented |
|---|---|
| Input and manage student grades | Add / Edit / Delete dialogs with validation |
| Calculate average, highest, lowest scores | Computed in Student.java + displayed in Dashboard |
| Use ArrayLists to store and manage data | ArrayList<Student> in GradeTrackerApp.java |
| Display a summary report of all students | Analytics tab β formatted class summary report |
| GUI-based interface | Java Swing β dark themed, 3-tab layout |
CodeAlpha_StudentGradeTracker/
βββ src/
β βββ GradeTrackerApp.java β Main window, tabs, dashboard, analytics
β βββ Student.java β Model: scores, average, grade, status
β βββ StudentTableModel.java β Custom AbstractTableModel for JTable
β βββ StudentDialog.java β Add / Edit modal dialog with validation
βββ README.md
βββ .idea/ β IntelliJ IDEA configuration
- Java JDK 17 or higher β Download here
- IntelliJ IDEA (Community or Ultimate)
# Clone the repository
git clone https://github.com/YOUR_USERNAME/CodeAlpha_StudentGradeTracker.git
# Open in IntelliJ IDEA
File β Open β Select the project folder
# Run
Open GradeTrackerApp.java β Click the βΆ Run button| Layer | Technology |
|---|---|
| Language | Java 17+ |
| GUI Framework | Java Swing |
| Data Storage | ArrayList<Student> |
| Architecture | OOP β Model / View separation |
| IDE | IntelliJ IDEA |
| Build Tool | None (plain Java) |
| Grade | Average Range | Status |
|---|---|---|
| A | 90 β 100 | Pass β |
| B | 75 β 89 | Pass β |
| C | 60 β 74 | Pass β |
| D | 45 β 59 | Fail β |
| F | 0 β 44 | Fail β |
Your Name
- π LinkedIn: linkedin.com/in/nihahawas45
- π» GitHub: github.com/nihahawas
- π’ Internship: CodeAlpha
Made with β€οΈ as part of the CodeAlpha Java Programming Internship