Programming Assessment
ProgrammringProjectV0.docx Page 1 of 5
Student Management System (SMS) Prototype
Background
You are invited by HKIT to develop a system for student to update their profile, check their
attendance and exam marks. The system requirement is as below:
• System user: student.
• A student’s profile associates with the student ID, student name, password, the name of
programme the student has registered, the current level of the programme, number of modules
they have enrolled in the current term, the module codes and names, attendance of each
module and exam mark of each module.
• The student must login the system by providing the student ID and password. The password
must contain 8 characters with at least 1 capitalized letter and 1 small letter and 1 numeric
value.
• A student must take at least 2 modules and at most 4 modules each semester.
• The student ID consists of 8 digits and starts with 1001.
• The maximum length of the student’s name is 25 characters with space inclusive.
• The name of the programmes could be selected from the programme list as shown in the table
below.
• The current level of the programme could be 1 or 2. 1 means year 1 and 2 means year 2.
• The list of module codes and names could be selected from the modules list as shown in the
below table.
• Module attendance could be any number between 0 to 100%.
• Exam mark of each module could be any integer between 0 and 100.
When required, summary outputs should be displayed using the following format:
±-------------------------------------------------------+
| |
|Student Name: Ada Zheng |
|Student ID: 10010001 |
| |
|Programme: |
|Higher Diploma in Information Technology (Computing) |
|Current Level: Year 2 |
|Number of modules take by the current term: 3 |
|Module Code Attendance Exam Mark Grade |
| CS402 100% 86 HD |
| CS406 95% 74 D |
| CS407 67% 34 F |
| |
|Average Mark: 64.67 |
|Average attendance: 87.33% |
|Final Grage: C |
|Remark: You need to retake some modules. |
±-------------------------------------------------------+
Programming Assessment
ProgrammringProjectV0.docx Page 2 of 5
List of programmes and modules under each programme
Programme Name Module
Code
Module Name
Higher Diploma in
Information Technology
(Computing)
CS401 Computational Theory
CS402 Programming Principles
CS403 Introduction to Networks and Computer Security
CS404 Database Systems
CS405 Data Structures and Algorithms
CS406 Web and Mobile Application Security
CS407 Applied Cryptography
CS408 Artificial Intelligence
CS409 Ethical Hacking Skills (CEF)
CS410 Introduction to Cybersecurity and Cybercrime
Higher Diploma in
Information Technology
(Cyber Security and
Investigation)
CI401 Computing for Cyber Security
CS402 Programming Principles
CI404 Criminal Behaviour and Cyber Security
CI405 Introduction to Criminal Justice System
CI406 Investigation Practices I
CI407 Investigation Practices II
CI408 Introduction to Forensic IT
CI409 Evidence Collection and Cyber Security
CI410 Practices of Cyber Security & Investigation
Marks and Grade Conversion Table
Marks Grade
Below 40 F (Failure)
40 ~ 59 P (Pass)
60 ~ 69 C (Credit)
70 ~ 79 D (Distinguish)
80 ~ 100 HD (High Distinguish)
Programming Assessment
ProgrammringProjectV0.docx Page 3 of 5
Requirements
A prototype console application (no GUIs or GUI dialogs) is required. Your prototype should fulfil
below function requirements:
❖ Enter at least 4 student profiles (21 marks)
• Create a Student Class to store the profile data including: student ID, student name,
password, the name of programme the student has registered, the current level of the
programme, number of modules they have enrolled in the current term, the module codes,
attendance of each module and exam mark of each module
Mark breakdown:
Create a proper Student class (1 mark)
Variables to store the profile data (5.5 marks)
Use array list to record the module details (module code, module name, mark, and
attendance). ( 2 marks)
Proper setter for each variable in the Student class with data validation ( 5.5 marks)
Proper getter for each variable in the Student class (1 mark)
Proper constructor for the Student class (1 mark)
• In the main method, ask the user for the inputs: student ID, student name, password, the
name of programme the student has registered, the current level of the programme,
number of modules they have enrolled in the current term, the module codes, attendance of
each module and exam mark of each module for each student profile.
Mark breakdown:
Display message to ask the input from user (1 mark)
Proper use of Scanner for all inputs: 3 marks
• Please use array to record the 4 student profiles. (1 mark)
❖ Log in the system as one of the students to check his or her profile (19 marks)
• The system shall verify the username and password. If wrong username, please show the
error message: Wrong username, please check and the re-enter your username. If wrong
password, please show the error message: Wrong password, please check and re-enter your
password.
Marks breakdown:
Display message to ask the input from user (1 mark)
User name and password validation ( 2 marks)
Display the error message. (2 marks)
Proper use of loop so the user could re-enter the username/password when wrong input ( 2
marks)
• If successful login, display the summary of the student (it must use the format in the
example).
Marks breakdown:
Correct format ( 1 mark)
Full set of details included as shown in the example ( 1 mark)
Programming Assessment
ProgrammringProjectV0.docx Page 4 of 5
Correct display of modules details ( 2 marks)
Correct calculation of average mark, average attendance, grade conversion and correct
display of remark message (2 marks)
• Testing:
Please create testing report by including the output summary of the 4 students. Among the
4 students, there should be 1 student who passes all modules exam and attendance
(Remark: Congratulation! You pass the module!), 1 student who passes all modules exam
but fails some attendance (Remark: You fail the module due to low attendance. Please
attend the make up classes.), 1 student who fails some module exam but pass all modules
attendance (Remark: You fail the module. Please take the re-exam.), 1 student who fails
some modules in both exam and attendance (Remark: You fail the module. Please retake the
module.). (6 marks)
Technical Information