CS4001NT Programming GUI CW 2 Islington College

https%3A%2F%2Fdrive.google

T4aENjUhCmFao2DIOcfR6RH0gX2glqtrs qids2ETtxreY54oON a3DWdbMPE2K950e5Fdjii0LkNgLot78X0RO8dpavCSTPOD2UAfwlcu4MB5uzhmaXlAF

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

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.javaRegular.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. 

Program (57 marks)  

A sample of GUI is shown below: 

r tV7Z1yYzkfKSAlbizJ0SrNTCARQ ZEZyNaKHZonZ6 I0twKHxzH6Z8ztZ4Ffp84h6pS4JBEzkzlRFFU

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.

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.

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:

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] 

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]

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

Total  100 Marks

10

99 Comments

  1. Предлагаем вашему вниманию интересную справочную статью, в которой собраны ключевые моменты и нюансы по актуальным вопросам. Эта информация будет полезна как для профессионалов, так и для тех, кто только начинает изучать тему. Узнайте ответы на важные вопросы и расширьте свои знания!
    Ознакомиться с деталями – https://medalkoblog.ru/

Leave a Reply

Your email address will not be published. Required fields are marked *