Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

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 for

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