Features include CSV data import/export, menu-driven interaction, insertion sort by student ID, and automated grade reporting.
Implements a student record management system where users can add, remove, display, sort, and analyze coursework and research student data stored in an ArrayList.
The program supports file handling for .txt and .csv datasets, with systematic testing for validation.
This system manages student records for both coursework and research enrolments.
Data is read from .txt and .csv files, stored in an ArrayList, and manipulated using menu-driven options.
It demonstrates Object-Oriented Programming concepts including inheritance, polymorphism, and dynamic binding, as well as manual implementation of the insertion sort algorithm.
- Language: Java (JDK SE, NetBeans 19)
- Paradigm: Object-Oriented Programming
- Concepts: Inheritance, Polymorphism, Dynamic Binding
- Data Structure: ArrayList of Student objects
- File Handling:
.txtand.csvimport/export
Client.javaStudent.javaStudentCourse.javaStudentResearch.javaUnit.javaUnitCourse.javaResearch.javastudentRecords.txt(initial dataset)additionalStudentRecords.csv(for new student records)
-
Inheritance
StudentCourse&StudentResearchextendStudentUnitCourse&ResearchextendUnit
-
Polymorphism
- Overriding
reportGrade()in subclasses
- Overriding
-
Dynamic Binding
reportGrade()called onStudentreference executes subclass method
-
Sorting
- Insertion sort implemented manually (ascending by student ID)
-
CSV Handling
getStudentData()reads.txt/.csvintoArrayListprintSortedStudents()writes sorted list into.csv
- Student (base class) β
StudentCourse,StudentResearch - Unit (base class) β
UnitCourse,Research - Client β menu-driven program
Menu:
1. Quit
2. Add students from CSV
3. Remove student by ID
4. Output all student details
5. Coursework performance (above/below average)
6. Report grade by student ID
7. Sort students by ID (insertion sort)
8. Export sorted list to CSV
Enter your choice:
Styverson Ng
Bachelor of Information Technology
Artificial Intelligence & Autonomous Systems
Cyber Security & Cyber Forensics
Murdoch University