*Note, the majority of this lesson is located within the Unit 4 Guide*
What story do you think this data visualization is trying to tell?
I think this data visualization is trying to tell the history of this person's running career through the wins that they've had over time.
Why do you think the creator chose to visualize the data in this way?
I think by visualizing the data this way, the data is present linearly, allowing for the true sense of time to be perceived, and the data is presented organically, replicating the natural, flowing journey that this person has had.
What do you notice/wonder about the code in this program?
I noticed that the code in this program calls a variety of methods from the scene class. I wonder what all of the different possible methods from the scene class are.
Summary
In this lesson, I learned how to use methods from the scene class that can be run in the theater class. Using this "theater" I can create visualizations and animations of data that I create in Java. This includes the creation of images, shapes, text, and sounds.
*Note, the majority of this lesson is located within the Unit 4 Guide*
How might you tell the story behind the data you worked with in the previous unit as a visualization?
Through the creation of visualizations, like graphs, diagrams, and animations, I can create representations of data. These representations can transform data into a format that is more easily understood and more relatable, allowing me to tell a story.
What do you notice/wonder about the code in this program?
I noticed that this program uses a static method when printing the number of members (number of objects created in a class). I wonder why the logic the counting of the members is not also included in this class.
Summary
In this lesson, I learned how to create static variables and methods. Static variables and methods are not specific to one instance of a class, and can be instead called from the class itself, applying to all instances that may have been created. In this case, static variables can be altered through instances of a class or directly form a separate class altogether. Additionally, static variables and methods can be called without the creation of any instances at all.
*Note, the majority of this lesson is located within the Unit 4 Guide*
What do you notice/wonder about the code in this program?
I noticed that the code in this program uses the math class to perform operations like squaring numbers, taking square roots, and absolute values. I wonder what other operations can be performed with the math class.
Summary
In this lesson, I learned how to use the Math class to perform a variety of mathematical operations from taking the absolute value of a number to being able to square a number in Java. Additionally, the Math class contains constants such as Pi that I can use in my code.
*Note, the majority of this lesson is located within the Unit 4 Guide*
How could the owner change the prices of all the desserts they sell so that the prices are all whole numbers?
The owner could round the prices to the nearest dollar. If the price requires 1 to 49 cents, round down, otherwise, round up.
What does casting mean?
In Java, casting is the conversion of one data type to another.
Look at the Food Truck question in your activity guide. How did you round down?
To round down, I simply converted (or cast) the double values into integer values, automatically truncating each price.
Summary
In this lesson, I learned how to cast from one data type to another, specifically from integers to doubles and vice-versa. Converting from doubles to integers can be used to truncate or round numbers. Converting form integers to doubles widens numbers to include decimal points.
*Note, the majority of this lesson is located within the Unit 4 Guide*
What do you notice/wonder about the code in this program?
I noticed that the code in this program uses Math.random() to generate a random number between 0 and 1. I wonder if there is a way to change the range of random numbers generated.
Summary
In this lesson, I learned how to use the Math class to generate random numbers. I also learned how to use mathematical operators to alter the range of these numbers. Using random numbers, I can add complexity to my programs and build models that use random datapoints.
*Note, the majority of this lesson is located within the Unit 4 Guide*
What do you notice/wonder about the code in this program?
I noticed that the code in this program uses == to compare two objects. I wonder how this result will compare when using the equals() method.
When would it be useful to use the == or != operators with objects?
Whenever the reference location of two objects is useful to know, it is useful to use the == or != operators, such as determining if two objects are an alias or not for one object.
When would it not be useful to use the == or != operators with objects?
When only the equality of two objects is useful, regardless of their reference location, it is not useful to use the == or != operators, as they will return false in many instances where the desired outcome is true.
Summary
In this lesson, I learned how to use the == and .equals() operator and method to check for reference locator equality. I also learned how to override the .equals() method to check for true object equality or instance variable equality.
*Note, the majority of this lesson is located within the Unit 4 Guide*
What patterns or relationships do you see in this dataset?
There is a pattern between the platform with the most followers and the target age group for a company. For instance, Red Bull, which has a younger target audience has more followers on YouTube.
What do you notice/wonder about the code in this program?
I notice that this program nests one if statement inside of another if statement. I wonder if there is a more efficient way to achieve nested logic without the use of an if statement.
Why does the length() method not return the last index in a String?
In a string, the index of each character starts at 0, while length starts at one, meaning that the length() method will always return a value that is one greater than the last index in a string.
Summary
In this lesson, I learned how to create nested if loops. These nested loops can check for multiple conditions in order for a result to occur, and can also provide a different result based on whether either the inside or outside if statement is not true.
*Note, the majority of this lesson is located within the Unit 4 Guide*
What do you notice/wonder about the code in this program?
I noticed that this program uses a not operator (!) to tell when a value is not equal to another value. I wonder what other forms of logical operators I can use within Java.
Summary
In this lesson, I used NOT, OR, and AND logical operators to compare conditions that may use operators of their own. Using these operators, I can improve the efficiency of my code, not requiring multiple if statements to achieve equal functionality.
*Note, the majority of this lesson is located within the Unit 4 Guide*
Summary
In this lesson, I learned how to use De Morgan's laws to simplify logical operators to make my code more efficient and more readable. This is through the use of the mathematical distributive property to eliminate parenthesis in logic.
*Note, the majority of this lesson is located within the Unit 4 Guide*
What do you notice/wonder about the code in this program?
I noticed that this program uses a multi-selection if statement to choose between three different shipping methods. I wonder why a switch statement is not used in place of the multi-selection statement.
Summary
In this lesson, multi-selection statements to choose between multiple conditions in order to execute multiple blocks of code depending on the given condition. This significantly increases efficiency over simply using nested if statement, and can increase functionality through the execution order of the multi-selection statement.
*Note, the majority of this lesson is located within the Abstract Data Art Project Planning Guide*
What does this make you wonder about how you could create a visual or animation of your data?
This makes me wonder how I can create a visual for my data that is both visually appealing and statistically significant.
What do you notice about the project requirements and rubric?
I noticed that in the project rubric, a functioning animation and audio playback are required to receive full points on the assignment.
What does success look like for this project?
Success for this project looks like fulfilling all aspects of the rubric while crating an engaging and meaningful project that adequately represents some form of data.
What barriers do you anticipate to achieving success on this project?
The biggest barrier that I anticipate is incorporating animation into my project.
Summary
On the first day of the abstract data project, I broke down the structure of my program, deciding on what attributes and methods I wanted for each of the classes. Additionally, I planned out what user interaction I wanted for my program and most notably, what dataset I would be using, and how I would be using it.
Summary
On the second day, I programmed all of the core components of my project. This included the mountain class, selection randomization algorithm, and all UI components that went into the final design. Additionally, I created two hard-coded animations, one that animates the background from an HSV value, and one that "grows" a mountain based on its real-world height.
Summary
On the final day of the project, I incorporated user interaction through the scanner class. This allows the user to input a custom mountain name from the database and override the database. Additionally, I added in a failsafe in the case that the mountain was not found.
*Note, the majority of this lesson is located within the BingoCaller FRQ Handout*
What knowledge and skills did you use on this FRQ that you learned in this unit?
The majority of new skills that I used on the FRQ in this unit were around the use of nested if statements, and multiple selection if statements. These skills helped me build logical structures that allowed me to successfully complete the FRQ.
Summary
In this lesson, I integrated all of the concepts I learned throughout the unit to solve a three-part FRQ to create a simulated bingo caller. This included the use of if-else statements and the Math.random() method.
Summary of the topics covered in Unit 4:
Using static variables and methods
Using the Math class, including generating random numbers
How to cast, truncate, and round numbers
How to use nested and multi-selection if statements
How to use and simplify logical operators
Successes or topics I feel I understand well:
For the most part, I feel that I understand the majority of topics well, especially the use of the static keyword, the Math class, and if statements.
Your trouble areas or topics I still have questions about:
As far as areas I struggle with, I have a little bit more difficulty with Java casting logic and with more complicated uses of logical operators.
A personal goal that will help improve my understanding of those trouble areas:
I intend to practice past CSA FRQs that target casting in Java and logical operators, specifically FRQs 2 and 3 from previous years.