1st SIT COURSEWORK-2 QUESTION PAPER Year Long 2022/2023
Module Code: CS4001NT Module Title: Programming Module Leader: Mr. Jeewan Dhamala / Mr. Ujjwal Subedi (Islington College) |
Coursework Type: Individual Coursework Weight: This coursework accounts for 30% of your total module grades. Submission Date: 11th August 2023 When Coursework is 17th July 2023 given out: Submission Submit the following to Itahari International College’s MST Portal before the deadline and before 01:00 PM. Instructions: A Report in PDF format and a zip file which includes a BlueJ Project File Warning: London Metropolitan University and Itahari International College takes Plagiarism seriously. Offenders will be dealt with sternly. |
© London Metropolitan University
Plagiarism Notice
You are reminded that there exist regulations concerning plagiarism. Extracts from University Regulations on Cheating, Plagiarism and Collusion
Section 2.3: “The following broad types of offence can be identified and are provided as indicative examples ….
(i) Cheating: including copying coursework.
(ii) Falsifying data in experimental results.
(iii) Personation, where a substitute takes an examination or test on behalf of the candidate. Both candidate and substitute may be guilty of an offence under these Regulations.
(iv) Bribery or attempted bribery of a person thought to have some influence on the candidate’s assessment.
(v) Collusion to present joint work as the work solely of one individual.
(vi) Plagiarism, where the work or ideas of another are presented as the candidate’s own.
(vii) Other conduct calculated to secure an advantage on assessment. (viii) Assisting in any of the above.
Some notes on what this means for students:
(i) Copying another student’s work is an offence, whether from a copy on paper or from a computer file, and in whatever form the intellectual property being copied takes, including text, mathematical notation, and computer programs.
(ii) Taking extracts from published sources without attribution is an offense. To quote ideas, sometimes using extracts, is generally to be encouraged. Quoting ideas is achieved by stating an author’s argument and attributing it, perhaps by quoting, immediately in the text, his or her name and year of publication, e.g. ” e = mc2 (Einstein 1905)”. A reference section at the end of your work should then list all such references in alphabetical order of authors’ surnames. (There are variations on this referencing system which your tutors may prefer you to use.) If you wish to quote a paragraph or so from published work then indent the quotation on both left and right margins, using an italic font where practicable, and introduce the quotation with attribution.
Further information in relation to the existing London Metropolitan University regulations concerning plagiarism can be obtained from http://www.londonmet.ac.uk/academic regulations
2
Assessment
This assignment will be marked out of 100 and carries 30% of the overall module weighting. Your .java files and report for this part must be uploaded and submitted by RTE deadline. The assignment must be carried out individually so you must not obtain help from anyone other than the module teaching staff. You must not copy code from any source apart from the module core text and the module materials. Collusion, plagiarism (unreferenced copying), and other forms of cheating constitute Academic Misconduct, which can lead to failure of the module and suspension.
The viva will be conducted for this assignment.
Note: If a student would be unable to defend his/her coursework, s/he might be penalized with 50% of total coursework marks
Aim
The aim of this assignment is to add a class to the project that you developed for the first part of the coursework to make a graphical user interface (GUI) for a system that stores details of Students (Regular and Dropout) and its details in an ArrayList. The class will contain the main method and will be tested using the command prompt. You will also need to write a report about your program.
Deliverables
Create a new class within the project called StudentGUI. When you are ready to submit your solution, upload your StudentGUI.java file, together with the Student.java, Regular.java, and Dropout.java files from the first part of the coursework (not any other files from the project) together with your report .pdf format.
3
Program (57 marks)
A sample of GUI is shown below:
1. Your GUI should contain the same components, but you are free to use a different layout if you feel that it improves the aesthetics, ease of use, etc. The StudentGUI class should store an array list (not an array) of the type Student class to hold Regular and Dropout. There should be text fields for entering:
i.Student Name
ii.Enrollment ID
iii.Course Name
iv.Course Duration
v.Tuition Fee
vi.Number of Modules
vii.Number of Credit Hours
viii.Number of Days Present
ix.Number of Remaining Modules
x.Number of Months Attended
xi. Remaining Amount
The attributes Date of Birth, Date of Enrollment, Date of Dropout should be entered in a combo box.
4
2. The GUI should have the following buttons
i. Add a Regular Student
When this button is pressed, the input values of enrollment id, course name, student name, date of birth, date of enrollment, course Duration, tuition Fee, number of modules, number of credit hours, days present are used to create a new object of type Regular Student which is added to an array list of Student class.
ii. Add a Dropout Student
When this button is pressed, the input values of enrollment id, course name, student name, date of birth, date of enrollment, course Duration, tuition Fee, Number of Remaining Modules, Number of Months Attended, Date of Dropout, and, Remaining Amount are used to create a new object of the type Dropout Student which is added to an array list of Student class.
iii. Calculate Present Percentage of Regular Student
The enrollment id, and, number of days are entered in the GUI. When the valid Enrollment ID is entered in the text box along with Number of days present, display the information dialog. When the book button is pressed, the input value of Enrollment ID is compared to the existing Enrollment ID, and if a valid Enrollment id has been entered, it is used to calculate the present percentage of Regular Student. The method to calculate Present Percentage from Regular class is called here.
Hint: An object of Student is cast as Regular Student.
iv. Grant Certificate of Regular Student
The enrollment id, course name, and, date of enrollment are entered in the GUI. When the valid enrollment ID is entered in the text box, along with course name, and date of enrollment display the information dialog. When this button is pressed, the input value of Enrollment ID is compared to the existing Enrollment ID, and if a valid Enrollment id has been entered, it is used to grant certificates to Regular student. The method to grant certificates from the Regular Student class is called here.
5
Hint: An object of Student is cast as Regular Student.
v. Pay the bills of Dropout Student
The enrollment id is entered in the GUI. When this button is pressed, the input value of Enrollment ID is compared to the existing Enrollment ID, and if a valid Enrollment id has been entered, it is used to pay the bills of dropout students. The method to pay the bills of dropout student from the Dropout student class is called here. Also, display the appropriate messages in the dialog box.
Hint: An object of Student is cast as Dropout Student.
vi. Remove DropoutStudent
The enrollment id is entered in the GUI. When this button is pressed, the input value of Enrollment ID is compared to the existing Enrollment ID, and if a valid Enrollment id has been entered, it is used to remove dropout students. The method to remove students from the Dropout student class is called here. Also, display the appropriate messages in the dialog box.
Hint: An object of Student is cast as Dropout Student.
Display
When this button is pressed, the information relating to the appropriate class is displayed.
vii. Clear
When this button is pressed, the values from text fields are cleared. Additional Information:
6
Return the values of each of the text fields using the getText() method. For the number type variable get the text from the text field, convert it to a whole number and return the whole number.
Also, create setter methods for attributes (if needed) in previous coursework.
Additionally, use try & catch blocks to catch any Number Format Exception that might be thrown in converting the string to an integer or double. If the text input is incorrect in any way and output a suitable error message in a message dialog box.
Following parts of the programming will be focused mainly to award the Marks i. GUI and main method [12 marks]
ii. Functionality of Buttons [20 marks]
iii. Reading input, checking input and displaying appropriate messages for information as well as error dialog [13 marks] iv. Programming Style [12 marks]
7
Report (43 marks)
Your report should describe the process of development of your classes with: a. A class diagram [5 marks] b. Pseudocode for each method in each class [8 marks]
c. A short description of what each method does [10 marks]
d. You should give evidence (through appropriate screenshots) of the following testing that you carried out on your program:
Test 1: Test that the program can be compiled and run using the command prompt, including a screenshot like Figure 1 from the command prompt learning aid. [2 marks]
Test 2: Evidences should be shown of: [2 marks] a. Add a Regular Student
b. Add a Dropout Student
c. Calculate Present Percentage of Regular Student
d. Grant Certificate of Regular Student
e. Pay the bills of Dropout Student
f. Remove Dropout Student
Test 3: Test that appropriate dialog boxes appear when unsuitable values are entered for the Enrollment ID, (include a screenshot of the dialog box, together with a corresponding screenshot of the GUI, showing the values that were entered). [3 marks]
e. The report should contain a section on error detection and error correction where you give examples and evidence of three errors encountered in your implementation. The errors (syntax and/or runtime) should be distinctive and not of the same type. [3 marks]
f. The report should contain a conclusion, where you evaluate your work, reflecting on what you learnt from the assignment, what difficulties you encountered and how you overcame the difficulties. [5 marks]
The report should include a title page (including your name and University ID number), a table of contents (with page numbers), and a listing of the code (in an appendix). Marks will also be awarded for the quality of writing and the presentation of the report. [5 marks]
8
Viva
Note: If student would be unable to defend his/her coursework, s/he might be penalized with 50% of total coursework marks
Marking Scheme
Marking criteria | Marks | |
A. | Coding Part | 57 Marks |
1. GUI and main method 2. Functionality of Buttons 3. Reading input, checking input and displaying appropriate messages 4. Program Style | 12 Marks 20 Marks 13 Marks 12 Marks | |
B. | Report Structure and Format | 43 Marks |
1. Class Diagram 2. Pseudocode 3. Method Description 4. Test-1(Compiling & Running using command prompt) 5. Test-2 (Adding Regular and Dropout Students, calculate present percentage and grant certificate to regular students, pay bills and remove Dropout students) 6. Test-3(Testing Appropriate Dialog boxes when unsuitable values entered ) 7. Error Detection and Correction 8. Conclusion 9. Overall Report Presentation/Formatting | 5 Marks 8 Marks 10 Marks 2 Marks 2 Marks 3 Marks 3 Marks 5 Marks 5 Marks |
9
Total | 100 Marks |
10
Loving the info on this internet site, you have done great job on the content.
At BWER Company, we prioritize quality and precision, delivering high-performance weighbridge systems to meet the diverse needs of Iraq’s industries.