0% found this document useful (0 votes)
93 views14 pages

CSA Unit 4 Abstract Data Art Project Planning Guide

The document provides guidance for a data visualization project using object-oriented programming concepts. Students are instructed to create at least two 1D arrays from datasets, implement algorithms to analyze the data, use methods from the Math class, create a visualization conveying patterns or relationships in the data, and document their code.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views14 pages

CSA Unit 4 Abstract Data Art Project Planning Guide

The document provides guidance for a data visualization project using object-oriented programming concepts. Students are instructed to create at least two 1D arrays from datasets, implement algorithms to analyze the data, use methods from the Math class, create a visualization conveying patterns or relationships in the data, and document their code.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 14

CSA Unit 4 Project

Name(s) __________________________________________________ Period _______ Date _____________________

Abstract Data Art Project Planning Guide

Data visualizations are powerful tools to present information and convey patterns and relationships.
Sometimes visualizations are charts or graphs, and other times they are more abstract pieces of art. Your goal
is to create a visual representation relating at least two categories from your dataset that engages your viewer
and encourages them to learn more about your chosen topic.

Project Requirements
Use your knowledge of object-oriented programming, one-dimensional (1D) arrays, and algorithms to create
your data visualization program:

● Create at least two 1D arrays – Create at least two 1D arrays to store the data that will make up your
visualization.

● Implement one or more algorithms – Implement one or more algorithms that use two-way or multi-
selection statements with compound Boolean expressions to analyze the data.

● Use methods in the Math class – Use one or more methods in the Math class in your program, such
as to perform calculations on the values in your dataset and display the results, choose random values
from the dataset, or display images or shapes at random locations.

● Create a visualization – Create an image or animation that conveys the story of the data by illustrating
the patterns or relationships in the data.
Note: This may be abstract! Others do not necessarily need to know what the story or pattern is right
away, but you do need to be able to explain it to them.

● Document your code – Use comments to explain the purpose of the methods and code segments and
note any preconditions and postconditions.

Optional Features
● Incorporate user interaction – Use methods in the Scanner class to obtain user input to interact with
your data visualization program.

● Use inheritance and polymorphism – Create classes to represent the types of data with overridden
methods and use a 1D array of a superclass type to store the objects.

● Use static variables, constants, and/or static methods – Use static variables to represent values
that are shared by all objects of a class, a constant to represent a value that doesn't change, and/or a
static method to represent a behavior that doesn't require an object or as a helper method.

1
Project Rubric
Category Extensive Evidence Convincing Evidence Limited Evidence No Evidence

One-Dimensional (1D) Creates more than one one- Creates more than one one- Creates one one-dimensional Does not create a one-
Arrays dimensional (1D) array by dimensional (1D) array by (1D) array by reading the dimensional (1D) array.
reading the contents of text reading the contents of text contents of a text file into the
files into the 1D arrays. files into the 1D arrays. 1D array.

AND OR

Creates a new 1D array Creates one one-dimensional


containing values to address (1D) array using an initializer
a question for the scenario. list to assign values.

Algorithms Implements more than one Implements one algorithm Implements one algorithm Does not implement an
algorithm using the one- using a one-dimensional (1D) using a one-dimensional array algorithm using a one-
dimensional (1D) arrays. array. but does not use two-way or dimensional (1D) array.
multi-selection statements
AND AND with compound Boolean
expressions to analyze the
More than one algorithm uses The algorithm uses two-way data and create the
two-way or multi-selection or multi-selection statements visualization.
statements with compound with compound Boolean
Boolean expressions to expressions to analyze the
analyze the data and create data and create the
the visualization. visualization.

Math Class Uses more than one method Uses one method in the Math Uses one method in the Math Does not use any of the
in the Math class to perform class to perform calculations class to perform calculations methods in the Math class.
calculations on the values in on the values in the dataset on the values in the dataset
the dataset and displays the and displays the results in the but does not display the
results. visualization. results in the visualization.

AND/OR OR OR

Generates a random number Generates a random number Generates a random number


that is used in some part of that is used in some part of but does not use it as part of
the visualization. the visualization. the visualization.

2
Category Extensive Evidence Convincing Evidence Limited Evidence No Evidence

Data Visualization Creates an animation that Creates an animation or Creates an image or Does not create an image or
illustrates the patterns or image that illustrates the animation that conveys the animation that conveys the
relationships in the dataset. patterns or relationships in the chosen topic but not the chosen topic.
dataset. patterns or relationships in the
AND dataset itself.

Uses sound effects or music


to emphasize the story or
theme of the chosen topic.

Documentation Uses single and multi-line Uses single-line comments to Uses single-line comments to Does not use comments to
comments to explain the explain the functionality and explain the functionality and document the functionality
functionality and purpose of purpose of methods and code purpose of methods in the and purpose of methods or
methods and code segments segments in the program program code segments in the
in the program and note any program
preconditions and
postconditions

3
Step 1: Identify the story you want to convey
List the types of values you will use in your project, and explain the story you want to convey about the data
based on the patterns and relationships you identified.

Note: You may want to use two types of values from the same dataset or two different datasets.

Value #1 Dataset:

Value #2 Dataset:

The Story

Sketch the visual you want to create to convey the story that illustrates the patterns or relationships you
identified.

4
(Optional) Getting Data
If you want to use your own dataset, here are some websites you can search:

● Kaggle, https://www.kaggle.com/

● Data.gov, https://catalog.data.gov/dataset

● World Bank, https://databank.worldbank.org/home.aspx

● UNICEF, https://data.unicef.org/resources/resource-type/datasets/

● United States Census Bureau, https://data.census.gov/cedsci/

● U.S. Bureau of Labor Statistics, https://www.bls.gov/data/

● NASA, https://data.nasa.gov/browse

There are many other websites with datasets in addition to these that you can explore and use!

After you find the dataset you want to use, copy and paste the values you want to use for your project into a
text file in Java Lab. You should have one text file per column of data you want to use.

1. Copy one column of values from your chosen dataset.

2. In Java Lab, create a new file and change the .java extension to .txt. Be sure to give the text file a
meaningful name.

3. Paste the values into the text file you created.

5
Step 2: Create UML diagrams for your classes
Create a UML diagram for your class that will
Class Name
represent the scene and any additional
classes you might need. Instance Variables

Methods

Class Name Class Name

Instance Variables Instance Variables

Methods Methods

6
Step 3: Decide how you will use Math class methods
Plan how you will use one or more methods in the Math class in your program. Identify any methods you will
need to implement, and write pseudocode for it below.

The _________________ method in the Math class will be used to:

Pseudocode for __________________________________________________ method

7
(Optional) Step 4: Decide how users will interact with
your data visualization program
Plan how users will interact with your data visualization program. Identify any methods you may need to
implement, and write pseudocode for it below.

Users should be able to:

Pseudocode for __________________________________________________ method

8
Step 5: Decompose the Problem
Class:

Method

Precondition(s)

Postcondition(s)

Pseudocode

9
Class:

Method

Precondition(s)

Postcondition(s)

Pseudocode

10
Day 1 Reflection
What did you accomplish today?

What do you need to do next?

What obstacles are in your way?

Day 2: Software Engineers


How are you being a problem-solver while you are working on your project?

How are you being creative while you are working on your project?

11
Prioritize Updates and Changes
Software engineers constantly update and change their code to reflect different priorities. They may have
limited time, money, or resources to make every possible change they may want. Similarly, you have limited
time to update your code to implement the feedback you received from the code review.

Follow the steps to create a prioritized worklist to help you focus on completing what is most important first.
You might not get through every item on this list, and that's okay!

Steps to Prioritize Updates and Changes


1. List each change or update that needs to be made based on the feedback from your code review.

2. In the Priority column, indicate which item you will complete first (#1), second (#2), third (#3), and so
on until you have numbered each item on your list.

3. If you want, rewrite your list so that it is in priority order.

4. Complete one item at a time, starting with Priority #1. Cross it off when you finish, then move on to the
next item on your list!

Priority # Update or Change Notes

12
Day 2 Reflection
What did you accomplish today?

What do you need to do next?

What obstacles are in your way?

13
End of Project Reflection
Describe your project.

What are two things about your project that you are proud of?

Describe something you would improve or do differently if you had an opportunity to change something about
your project.

14

You might also like