*Note, the majority of this lesson is located within the Unit 8 Guide*
How did the strategies we used in the previous unit to plan and develop our projects help us manage and track our work?
The strategies we used in the last unit helped me decompose my project and lay it out in a way I can not only comprehend easily but break down over the course of project development such that I could work more efficiently.
Summary
In this lesson, I started to plan out my project for the end of this unit and reviewed the different parts of the unit. Additionally, I reviewed the different aspects of this unit's project rubric, identifying what I know, and still need to learn. Past that, I reviewed different sample projects, comparing them to find commonalities.
*Note, the majority of this lesson is located within the Unit 8 Guide*
Summary
In this lesson, I learned about linear searches and how case scenarios and list length can affect computation time. I also learned about how the scenario of a search can affect the execution count of the search as a whole.
*Note, the majority of this lesson is located within the Unit 8 Guide*
What do you notice/wonder about the code in this program?
I noticed that the code in this program uses a binary search algorithm to search through an ordered numerical array. I wonder if there is a search algorithm that is as fast as binary search and does not require the use of a sorted array.
Summary
In this lesson, I learned how to use binary search to more efficiently search through sorted arrays. This allows me to find items in fewer executions than a linear search, potentially allowing me to increase the efficiency of my code overall.
*Note, the majority of this lesson is located within the Unit 8 Guide*
How do you use the "Sort By" feature on an e-commerce site, like Amazon? What are some of the different options offered to sort the products?
On Amazon, I use the "Sort By" feature commonly to sort through items I've searched for, in the order that is most relevant to me. Usually, some of the primary options include sorting by price, customer review, "newness," featured, or best sellers.
What do you notice/wonder about the code in this program?
I noticed that the code in this program uses a selection sort algorithm to sort an array numerically. I wonder if there is a faster sorting algorithm that achieves the same result in fewer executions.
Summary
In this lesson, I learned how to selection sort to sort algorithms numerically. Through the use of selection sort, I can prepare a list to be used in other contexts, such as a search algorithm, or a form of visual representation.
*Note, the majority of this lesson is located within the Unit 8 Guide*
What do you notice/wonder about the code in this program?
I noticed that the code in this program uses insertion sort to order a list by inserting the next item in a list into its relatively correct (sequential) location. I wonder if there is a way to cut down on the number of checks needed for later item in the list.
Summary
In this lesson, I learned how to use insertion sort to sort lists sequentially. Through the use of insertion sort, I can sort items far more efficiently than with selection sort, improving my code efficiency as a whole, decreasing my execution count.
*Note, the majority of this lesson is located within the Unit 8 Guide*
What do you notice/wonder about the code in this program?
I noticed that the code in this program splits up different arrays, into smaller and smaller arrays before recombining them into one large, sorted array. I wonder if there is a way to achieve a more optimized version of this using ArrayLists.
Summary
In this lesson, I learned about the divide-and-conquer method. Outside of code, this method can be used to break up different tasks and tackle smaller problems individually, before combining those solutions into one final result. Within code, this process can be seen through merge sort, which splits up arrays into smaller and smaller arrays, before combining them back together into one coherent array. This cuts down on the number of executions significantly, especially with very large numbers of items.
*Note, the majority of this lesson is located within the Unit 8 Guide*
What do you notice/wonder about the code in this program?
I notice that this program is able to use a variety of searching and sorting algorithms to interpret a dataset(s) in a variety of ways. I wonder if there are built-in algorithms that I can call from the Java library.
Summary
In this lesson, I built on my knowledge of sorting and searching algorithms by implementing them in more complex use cases. In this way, I am able to analyze numerous data sets of different types, at varying levels of efficiency depending on the algorithms utilized.
*Please See Creative Coding Day 1*
*Note, the majority of this lesson is located within the Unit 8 Guide*
Summary
In this lesson, I learned about the potential impacts of software bugs and vulnerabilities and their potential impacts. I also learned about how to maintain system reliability, including the use of open-source code as a collaborative approach to maintain a codebase. Lastly, I applied some of these concepts to understand some past real-world scenarios in which security vulnerabilities has posed an issue, compromising system reliability.
*Note, the majority of this lesson is located within the Creative Coding in the Console Project Planning Guide*
Summary
On the first day of the project, I began planning out my project, including what classes and methods I would need, along with my creative coding project itself. My current plan for this project is a password game that progressively becomes more difficult as it continues.
Summary
On day two, I built the overall layout for the password game. This includes each of the class files for my program along with the general method structure for each of these programs. This includes the use of private and abstract methods in order to maximize efficiency within my code. Additionally, I began to code the some of the levels themselves, with full functionality through level five.
Summary
On the last day of the project, I finished the password game in its entirety. This included the code for the last five levels, a bonus level, and a final password check. These levels involved the utilization of string methods, array lists, arrays, complex iteration, compound boolean operators, and more to ensure proper functionality. Additionally, I added single-line and multi-line comments throughout my code to ensure a high level of readability.
What were you confident about?
Are there some things you left out that could have brought up your score?
Summary
In this FRQ, I used my knowledge of ArrayLists and String methods, along with all of the other information I have learned thus far in CSA to complete an FRQ. This FRQ managed an ArrayList of schedules temperature changes, requiring me to write methods to add and remove items from the ArrayList.
Summary of the topics covered in Unit 5:
ArrayLists
String Methods
Wrapper Classes
Successes or topics I feel I understand well:
Overall, I feel that I have a fairly strong grasp on most, if not all of the topics in this unit, particularly ArrayLists and String Methods.
Your trouble areas or topics I still have questions about:
While I feel like I don't have a specific trouble area, I want to further improve my ability to use ArrayLists in complex situations, paying close attention
to fulfill the pre and postconditions of any given project or assignment.
A personal goal that will help improve my understanding of those trouble areas:
I think that continuing to practice CSA FRQs along with applying my knowledge from CSA in other areas like Robotics will help me improve my skills. Additionally, by looking at previous example solutions for the different FRQs I have completed so far, I can further my knowledge in each of those FRQs' content areas.