CPT111-2324 Coursework 3 Task Sheet
Overview
Coursework 3 (CW3) is the final coursework component of the course this semester. It contributes to 30% of your final marks.
You will apply the object-oriented principles, file processing techniques, data structures, and graphics concepts you have learned throughout the semester to visualize data from input files. Additionally, you will create a video presentation to demonstrate your problem-solving skills and understanding of object-oriented principles.
You are required to submit the following files: Java code, a Word and PDF report, an ethics quiz, an MP4 video, and a PowerPoint (PPT) presentation used in the video.
Timeline
Week 10, Thursday, Nov 23, 2023, 11:00 CST |
CW3 is released (This task sheet, skeleton codes, partial test cases, ethics quiz) |
Week 14, Sunday, |
CW3 Java source file, video files (MP4, PPT), |
Dec 24, 2022, 23:59 CST |
report files (Word, PDF), and the ethics quiz are due |
Late Submission Period |
5% lateness penalty per-day Max 5 days (Monday-Friday) |
Week 15, Friday, |
End of Late Submission Period |
Dec 29, 2023, 23:59 CST |
No submissions are accepted thereafter |
University Lateness Policy
Report and video files are allowed to have late submission with penalty for max 5 days. There will be no late code or ethics quiz submissions since feedback is given by the automatic grader or quiz. This is consistent to University lateness policy on not having late submission period for assessment with feedback.
Outline
The rest of the task sheet will describe the visualization tools, the detailed specification of the tasks, and the deliverables you have to submit.
Coursework 3 – Data Visualization
Data visualization involves the use of graphical elements and structures to represent and communicate data patterns, relationships, and insights. Diagrams are visual representations that can simplify complex data, making it easier for viewers to understand and analyze information. Data visualization using diagrams serves several purposes such as Data Exploration, Data Presentation, and Pattern Recognition.
You must choose one type of diagrams in this coursework:
1. Bar Charts, a simple visualization for a standard mark (max 70 marks).
2. Sankey Diagrams, a more complicated visualization for a higher mark (max 100 marks).
For the remainder of this task sheet, we will explain how the Sankey Diagram will be graded, with a maximum coursework score of 100 marks. The marks for bar graphs will be adjusted proportionally, with a maximum coursework score of 70 marks.
Bar Charts
A bar chart is a graphical representation used in data visualization to display categorical data with rectangular bars. Each bar's length or height corresponds to the value it represents, making it easy to compare and analyze data across different categories. Bar charts are widely used in various fields to convey information effectively, such as the amount of investment, sales and profit over the years.
A sample of Bar Charts from Wikimedia Commons
To create a bar chart from a data file, you will need to specify the categories, setup the chart's axes, and customize its appearance with titles or legends.
Sankey Diagrams
A Sankey diagram is a diagram that represents the flow of quantities or values within a system. It uses arrows or lines to represent the flow of these quantities. The width of the arrows or lines is proportional to the quantity being transferred, to visualize
the relative magnitudes within the system. This diagram can also be adapted to show how a whole quantity or a source value is divided into different categories.
A sample of Sankey Diagram from sankeymatic.com
For example, in the diagram above,a budget of $2,025 is divided among categories such as taxes, housing, food, transportation, healthcare, and other necessities.
Data Set
Several datasets will be given as examples.
Each data set is stored in a text file, with the first line serving as the title of the
diagram and the second line as label of the source. Following these two lines, there area variable number of additional lines, each containing the name of a category along with the corresponding value. For example:
example1.txt |
example2.txt |
Year 1 |
Spending Plan |
Resources |
Budget |
Invest 4300 |
Taxes 500 |
Sales 2400 |
Housing 450 |
Profit 2200 |
Food 310 Transportation 205 Health Care 400 Other Necessities 160 |
Specification and Deliverables
In this section, you will find the expected details regarding your implementation and the files that you are required to submit.
Specification
Your implementation must satisfy the following specification:
1. You may submit multiple files, but your main file must be named by your
student ID followed by an underscore and the diagram of your choice.
For example:
2223344_barcharts.java
2225566_sankeydiagrams.java
2. You must only use libraries taught in this course, such as File, FileReader,
BufferedReader, Scanner, List, ArrayList, Map, HashMap, JavaFX.
You are not allowed to use other libraries, which may instantly produce the
diagram or perform other direct operations.
3. The name of the text file should be passed to the constructor of your class responsible for reading the file. Your program should open the text file and
read the data into the instance variables, before visualizing the data.
Alternatively, for additional feature, the name of the file can be input into
your graphical interface or other creative solutions.
4. You must handle the exceptions that may be thrown.
5. You must consider good code writing practice and code readability. Please
refer to the rubric in the following subsection.
Report Requirements
Create a report satisfying the following criteria:
1. The purpose of your report is to explain your code, algorithms, file/error
handling, display features, and OOP design in well-detailed manner.
2. Your report must consist of exactly 7 Chapters:
Chapter 1 – Object-oriented Principles
(you may add subchapters here)
Chapter 2 - Diagram Display Algorithm
Chapter 3 - Display while Resizing Algorithm
Chapter 4 - Additional Features
Chapter 5 - File Handling
Chapter 6 - Exception Handling
Chapter 7 - My Java Code
3. You must include all your code in Chapter 7.
4. Write your report using Word with the following setting:
Font Calibri, Font Size 12, Line Spacing 1.5, Normal Margins.
There is no page limit.
Headings, code and captions may use different setting.
5. Consider using images and diagrams to improve the readability of your
report. Please refer to the rubric in the following subsection.
6. Save your Word document as a PDF.
Submit to Learning Mall Assignment Boxes both the Word doc and PDF files.
Video Requirements
Create a PPT presentation and video explanation using the PPT satisfying the following requirements:
1. The purpose of your video presentation is to explain your code, algorithms,file/error handling, display features, and OOP design in a succinct manner.
2. You can use any template for your PPT, not limited to XJLTU standard theme.
3. The length of the video must be less than or equal to 4 minutes.
Violating the video length requirements will result in a total marks of 0 foryour coursework.
4. Your video must display your face and include your audio for the purpose of authenticity verification.
Do not use English audio translation software to narrate your video.
Violating the requirement to show your face and use your voice will result in a total marks of 0 for your coursework.
5. The clarity of the presentation will be graded. Please refer to the rubric in the next subsection.
6. Submit to Learning Mall Assignment Boxes both:
a. The video file in MP4,
b. The PPT file you used to create a video.
Rubric
Criteria |
Description |
Marks |
Object-Oriented Principles |
Evaluation of the effective use of object-oriented principles (encapsulation, inheritance, polymorphism, abstraction, modularity, dependency, class design) in the Java code solution. |
30 |
Code Clarity and Readability |
Assessment of code clarity, organization, and readability. Includes appropriate variable naming, comments, and code structure. |
5 |
Display and Code Correctness |
Evaluation of the correctness and accuracy of the Diagram display. Includes titles, categories, legends, labels, correct relative sizes, and different colors. Write report and show demoon at least 2 new datasets. |
15 |
Display After Resizing and Additional Features |
Examination of how well the Diagram grows/shrinks and remains legible, well-structured when the window is resized, and how additional features are added. |
20 |
Exception Handling |
Assessment of the effectiveness of exception handling in the code solution. Includes exceptional case detection and graceful error handling. |
5 |
Report Clarity, Structure and Presentation |
Assessment of the report's clarity, structure, organization, presentation, and overall quality of writing. Includes grammar, punctuation, and language use. |
10 |
Video & PPT Clarity, Delivery and Engagement |
Assessment of the video presentation's delivery, clarity and engagement. Includes code explanation, speaking clarity,visuals, and engagement with the audience. |
10 |
Ethics Quiz |
Five MCQ Questions |
5 |
|
||
Total Marks |
100 |
Show that you satisfy all the rubric (except ethics quiz) in both your report and video!
Please note again that using libraries not covered in CPT111 (for example libraries such Swing or AWT), or submitting a video of length longer than 4 minutes, or without your face/voice will result in an automatic total marks of 0.
Academic Integrity
1. Plagiarism,e.g. copying materials from other sources without proper
acknowledgement, copying, or collusion are serious academic offences.
Plagiarism, copying, collusion, using or consulting unauthorized materials
(including codesharing forum, and generative AI tools including, but not limited to, ChatGPT) will not be tolerated and will be dealt within accordance with the University Code of Practice on Academic Integrity.
2. In some cases,individual students may be invited to explain parts of their code in person, and if they fail to demonstrate an understanding of the code, no
credit will be given for that part.
3. In more severe cases, the violation will be directly reported to the Exam Officer for further investigation and will be permanently recorded in the offender student's official academic transcript.
This is the end of CPT111-2324 CW3 Task Sheet.