CS102 · Programming II· Prince Sultan University
The registrar's office,
written in Java.
A console application where students enrol, instructors grade and administrators run the course catalogue, saved to plain text files between sessions. This site documents it class by class, and runs it in your browser.
- classes
- 9
- methods
- 162
- menu options
- 27
- lines of Java
- 2,772
Live: type into it. Demo logins on the Run page.
run configurations
Three roles, one menu loop each#
S
Student
- View avaliable courses.
- Enroll in course.
- View enrolled courses.
- View credit limit.
- Drop course.
- …
- View enrolled students.
- Grade assignments.
- Update course information.
- Update personal information.
- Logout.
- Add Students.
- Remove Students.
- View student list.
- Add Instructors.
- Remove Instructors.
- …
src/schoolcourseenrolmentsystem
Class map#
Click a class to open it. Helpers and the main class sit around this core: Helpers collects input and calls these classes, and main() drives the loop.
lines per class, from the report
Where the code lives#
Helpers and dataManager hold more than half of the code: the console flows and the file handling. The entity classes stay small.
docs/
Documentation#
ARCHITECTURE.mdLayers, class map, design decisions and the full class index.data/Five pipe-delimited files, column by column, with sample records.VALIDATION.mdEvery validator, guard and exception handler and what it prints.REPORTS.mdThe two admin reports, computed from the sample data.KNOWN_ISSUES.md14 behaviours worth knowing, each linked to its line of code.report.pdfThe 102-page submitted report, readable in the browser.