*Note, the majority of this lesson is located within the Unit 3 Guide*
What do you notice/wonder about the code in this program?
I noticed that the number passed in the brackets when creating a 1D array is the length of the array. I wonder if I can create an array with a variable number of items.
Summary
In this lesson, I learned how to create 1D arrays as a method for storing and organizing elements efficiently. I also learned how to pass arrays as arguments into objects to perform more complex array assignments, and how to get the number of elements in an array using the length keyword.
*Note, the majority of this lesson is located within the Unit 3 Guide*
What do you notice/wonder about the code in this program?
I notice that each of the colors in this program is called from a pre-defined array list that contains colors defined in an entirely separate array list. I wonder if there is a way to stop the array list from being modified after it is created.
Summary
In this lesson, I learned how to create 1D arrays more efficiently through array lists. I also learned how to change or add values to array lists, or even assign an array value to a variable. This flexibility in array creation significantly increases code efficiency when using dynamic arrays and allows for array modification to be implemented much more easily.
*Note, the majority of this lesson is located within the Unit 3 Guide*
What do you notice/wonder about the code in this program?
I notice that the code in this program progressively calls elements in an array list using the += operator. I wonder if there is a way to go backward in an array list using a similar method.
Summary
In this lesson, I learned how to traverse 1D arrays using a while loop. I also learned about array out-of-bounds-exceptions, and how to recognize how control structure influences array transversal. Through the utilization of loop-based transversal, I can make my code significantly more efficient.
*Note, the majority of this lesson is located within the Unit 3 Guide*
What do you notice/wonder about the code in this program?
I noticed that the for loops used in the program, the functionality is essentially the same as a while loop. I wonder what functionality I will miss out on by using the for loop.
Summary
In this lesson, I learned how to create for loops to loop through incremental values. Using the for loops, I can more efficiently transverse 1D arrays more effectively than with a while loop. While this does not add any additional functionality to my code, it cleans it up, reducing memory and processing use.
*Note, the majority of this lesson is located within the Unit 3 Guide*
What do you notice/wonder about the code in this program?
I noticed that the code in this program passes entire text files as stings which are then processed into arrays. I wonder if there is a way to modify text files through Java.
Summary
In this lesson, I learned how to use the file reader method to use information in a txt file in java, including the conversion to the string data type. This allows for a clean and fast way to store data in Java.
*Note, the majority of this lesson is located within the Unit 3 Guide*
What do you notice/wonder about the code in this program?
I noticed that the code in this program passes different objects into an array which is then used as a parameter for a completely different class. I wonder if this only works with super/subclasses, or if this could work for completely unrelated objects.
Summary
In this lesson, I learned how to create arrays of objects which can be passed into parameters for methods in completely separate classes. I also learned how to override methods with same-named objects to create more complex and efficient code.
*Note, the majority of this lesson is located within the Unit 3 Guide*
What do you wonder about their job and what they do?
I wonder how Polina is combatting the unfair transaction policies at EA.
What problem are they solving?
Polina is using machine learning to solve problems in the video game industry.
What are some of the skills and knowledge they use to do their job?
Polina is using a variety of math, programming, communication, and creativity skills in her job.
What do you notice/wonder about the code in this program?
I noticed that this program uses a simpler version of a for loop to transverse the list of company objects. I wonder if this only works for incremental tasks, or if there is a way to decrement using this version of a for loop as well.
Summary
In this lesson, learned how to write enhanced for loops. These loops are written in a more simple manner than a standard for loop, automatically iterating through the entirety of a data structure like an array. While this doesn't specifically increase functionality, it significantly increases the efficiency of my code.
*Note, the majority of this lesson is located within the Unit 3 Guide*
What do you notice/wonder about the code in this program?
I noticed that the code in this program processes data from three text files in different classes to be called from a main method. I wonder if some of the classes could be consolidated (combine the non-tester classes).
Summary
In this lesson, I integrated all of the concepts I learned throughout the unit to create a more complex algorithm to reverse an array. I also learned how to use the equals operator to compare equal strings.
*Note, the majority of this lesson is located within the Unit 3 Guide*
What is a question you could answer using this data?
What type of music leads to the most mental health improvement?
How would you use 1D arrays and algorithms to help you answer these questions?
Using 1D arrays and algorithms, I can sort or filter out the data to answer the question.
What do you notice/wonder about the code in this program?
I noticed that this program uses nested for loops to create a greater repetition. I wonder if Java sets a limit for how many loops you can nest inside of each other.
Summary
In this lesson, I learned how to write nested for loops. These loops are written the same way as a standard for loop, except with two loops inside of each other. While this doesn't specifically increase functionality, it significantly increases the efficiency of my code.
*Note, the majority of this lesson is located within the Data for Social Good Project Planning Guide*
What does this make you wonder about how you could create a data analysis program for a user?
This makes me wonder how I could use a user interface to help users analyze different data sets to suit their own needs and questions.
What do you notice about the project requirements and rubric?
I noticed that the project requirements require me to use and implement 1D arrays through methods that help analyze their data.
What does success look like for this project?
Success looks like a combination of both fulfilling the project requirements and successfully addressing the scenario at hand in a way that promotes "social good."
What barriers do you anticipate to achieving success on this project?
The primary barrier I anticipate in achieving success in this project is logical errors within Java. As I create more complex programs, the logic becomes more complex, opening up room for possible failure.
Summary
On the first day of the data for social good 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, two algorithms I would implement, and began creating the classes for my project.
Summary
On day two of the project, I wrote the majority of the code for my program, including the album and playlist structure and constructors. I wrote a control structure that allows for the playlist to be filtered based on a string that specifies a certain genre.
Summary
On the final day of the project, I added the ability to control the filter through user input using the scanner class. Additionally, I rewrote some of my code for increased efficiency and readability, along with some code formatting/commenting. Sadly, because I was absent, I was unable to use peer feedback in my code.
*Note, the majority of this lesson is located within the TicketTracker FRQ Handout*
What strategies did you use while working with the FRQs in Units 1 and 2?
The most helpful strategy was breaking down what the requirement for each part of the FRQ is, paying attention to the condition it requires.
What were some keywords you looked for to assist you in answering the question?
I looked for words like "given" or "only," which gave me insights into how to design my logic around those keywords.
What questions do you have about approaching this FRQ?
I wonder if there was a more efficient way to calculate the average than what I wrote on the FRQ.
Summary
In this lesson, I completed the Unit 3 FRQ, designing the logic behind a TicketTracker. This was done through the culmination of knowledge learned throughout Unit 3, specifically traversing 1D arrays and the use of enhanced for loops.
Summary of the topics covered in Unit 3:
In Unit 3 I learned a large variety of topics. In short, the primary ones included:
Writing 1D arrays, including modifying array elements and traversing arrays
Creating for loops and enhanced for loops
Preconditions and postconditions
How to use polymorphism
How to create advanced control structures for arrays
Successes or topics I feel I understand well:
Overall, I feel that I have a very solid understanding of 1D arrays and the logic surrounding them.
Your trouble areas or topics I still have questions about:
While I have strengthened my knowledge of control structures, sometimes it still takes me a while to "digest" more complex code.
A personal goal that will help improve my understanding of those trouble areas:
I feel that working on some personal projects that deal with some of these advanced control structures can help me address these trouble areas.