关键词 > COMP1007
COMP1007 Programming Design and Implementation Semester Two, 2025
发布时间:2025-10-14
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
COMP1007 Programming Design and Implementation
Assignment: University Student Records System
Semester Two, 2025
Overview
You have been tasked with developing a Java-based software system for managing and analysing student records at a university. This system will handle personal, academic, and enrolment data, stored persistently in a CSV file, and provide analysis functionalities useful to administrators and lecturers.
Objective
To develop a Java based software application that efectively manages student data, ensuring the correct handling of data input/output, storage, and analytical functionality.
Tasks
1. Design Requirements:
Develop at least two classes:
1. Details: Contains fields such as course enrolled (Software Engineering), year level
(between 1 and 4), CWA (Course weighted average, between 0 and 100), status (e.g., "FT" (Full Time), "PT" (Part Time)), credits earned (up to 400).
2. Student: Includes fields such as student ID, first name and last name.
2. Functionalities of the Program:
Your System Should Include:
• Add new student: enter all details for a new student.
• Edit existing student: edit details of an existing student.
• View all students: List all students along with their details in a neatly.
• Filter by Course: Display all students enrolled in a particular course entered by the user.
• Filter by Status: Allow filtering students based on status.
• CWA Analysis:
• Find and display the student(s) with the highest CWA.
• Calculate and display the average CWA for each course.
• Credit Analysis: Identify and display students eligible for graduation (assuming eligibility at 400 credits or more).
3. File Handling:
At the program's start, data must be loaded from a file. Any changes (adding or editing students) must be written back to the file.
4. Error Handling and Validation:
Implement checks to ensure:
- Ensure validation of inputs (non-empty strings, valid numeric ranges).
5. Menu System:
Create a menu interface to allow users to interact with the program. Options should be user-friendly and provide clear instructions.
6. Sample Data: this how the csv file is structured and is available in Blackboard.
StudentID, FirstName, FamilyName, CourseEnrolled, YearLevel, CWA, Status,
CreditsEarned
S1234567, Alice, Brown, Computer Science, 3, 78.53, FT, 250
Important things to note
This is to be an Object Oriented solution. The use of arrays of objects is expected.
It is expected that Details will be class field inside the Student Class.
The use of ArrayLists, StringBuilder, Hash and HashMap related classes are NOT
permitted. You must manually create and iterate over the arrays. You must only use the constructs that we have used within the unit. File Reading and Writing cannot use
Scanner. If you are unsure, please speak with either your practical staff, local staff or the unit coordinator.
Example Menu System
Below is an example of what the first menu could look like.
=============================================
Welcome to Student Central
=============================================
Your options for this system a re listed below
1> Add new student.
2> Edit student.
3> View all students.
4> Filter by course.
5> Filter by status.
6> Highest CWA.
7> Average CWA for each course.
8> Credit Analysis.
9> Exit.
Submission Details and Deliverables
This assessment has several parts of submission for it to be complete. You need to submit via Blackboard by Sunday 12 October 2025, 23:59 (AWST).
• Ensure your code is well-commented, follows the coding practices emphasised in this Unit.
• Include a A check list of the listed functionality showing which functionality has been implemented and functions correctly, and which functionality has not been implemented or is not working correctly.
• Please write a paragraph explaining why something wasn’t implemented and/or is not working correctly including how it might be fixed.
• All submitted work is considered to be your work. If you received assistance from anyone, anything or from anywhere, this MUST be cited in the comments with that code.
What to Submit:
- Declaration of ownership;
- The Pseudocode design;
- The Java code, fully commented and cited;
- A checklist of the completed functionalities;
- 2-minute (maximum) screen capture with audio recording demonstrating your working program, which is playable in VLC.
During the last week of semester’s computer lab, you will demonstrate your code and answer some questions regarding your assignment. For Perth based students, a sign up system will be made available shortly before this. For Miri and Sri Lanka students, your local staf will give you provide you with the viva details.
