Plan for Quiz
For this quiz, in order to prepare, I plan on reviewing each of the team teaches(accesible through my student each blog page) and read/go through them to solodify my understading on each one. Then, if I still have questions, I will go to college board and watch the vieos for better support. I will go through the quiz and write down the questions I needed help on and write a sentence or two on why is was difficult and what I learned from it. Sort of like a quick reflection on each of the problems I couldn’t do.
Questions I needed help on
3, 6, 22, 24, 34, 43, 44, 46, 51, 60
Reflections
Question 3 - The question about the best use of citizen science was tricky because it asked about the practical application of involving the public in scientific research. I learned that citizen science is most valuable when it requires data collection from many different places, showing how it can help gather widespread information. Citizen science is about involving people in scientific tasks they can do even if they aren’t experts, and it’s especially useful for gathering data from diverse locations.
Question 6 - The question asked about the role of the Internet Engineering Task Force (IETF), and it was a bit challenging because it required understanding what the IETF does, whcih I didn’t know. I learned that the IETF is responsible for developing standards and protocols for Internet communication. This means they play a crucial role in making sure different devices and systems can work together on the Internet. They don’t deal with preventing copyright violations or malicious software, but they focus on creating rules for how the Internet operates.
Question 22 - This question was a bit challenging because it asked me to understand and complete a procedure in a program. I needed to figure out what to put in place of the missing code to make the procedure work correctly. I learned that, in this situation, to determine if a month is considered very hot, the procedure checks if the daily high temperature is at least 90 degrees for the majority of days in the month. The missing code should be “Counter, greater than, 0.5 times total.” This means that if more than half of the days have temperatures of 90 degrees or higher, the procedure returns true, indicating that the month was indeed very hot.
Question 24 - This question was a bit tricky as it required understanding the concept of byte pair encoding. Byte pair encoding is an example of a lossless transformation because it allows encoding and decoding of strings without losing any data. I had to grasp that the algorithm retains a mapping of character pairs to their corresponding replacements, making it possible to restore the original string from the encoded version. This question helped me realize that byte pair encoding is a useful technique for data compression and transmission without loss of information.
Question 34 - This question was pretty challenging because it required understanding the assumptions made in a simulation program. From analyzing the code provided, I realized that the simulation assumes that “The number of mice does not change from day to day.” This was not immediately obvious and required careful examination of the program to identify that the number of mice remained constant throughout the simulation, as there was no code indicating an increase or decrease in the mouse population. This question taught me the importance of paying attention to the details in a program and making inferences based on the code’s behavior.
Question 43 - This question was somewhat difficult because it required interpreting the information presented in the table and making inferences about the algorithm’s behavior. After analyzing the table, I concluded that “The algorithm runs, but not in reasonable time” characterizes the algorithm for very large values of n. The number of steps increases significantly as the number of items (n) grows, indicating that the algorithm’s time complexity is not efficient for large input sizes. But, when I searched this question up, the answer was “The algorithm runs in reasonable time.” This confused me since the question clearly took a long time and as the number of items increased by 10, the time would increase exponentially. The explination to this answer was “This indicates that the algorithm is O(n^2) complexity, as for every increase of 10 items, the number of steps taken increases by 33.” This is the Big O notation that we discussed in class, and this notation makes this problem. This doesn’t make sense though because O(n^2) is very slow, so i’m not sure why online it says it’s fast.
Question 44 - This question was somewhat challenging because it required a good understanding of binary representation and overflow in computer systems. I found that “I, II, and III” could describe possible results when using 4-bit representation for nonnegative integers. In a 4-bit system, each number can represent values from 0 to 15, and adding 4 and 8, 7 and 10, or 12 and 3 would exceed this range, resulting in overflow errors. This question highlighted the importance of knowing the limitations and behavior of data representations in computer systems, which can affect program outcomes.
Question 46 - This question presented a complex concept related to undecidable problems in computer science. I found it challenging because it required an understanding of the limitations of algorithms. I learned that the problem of determining whether a program will go into an infinite loop for any input is considered undecidable, meaning that there is no algorithm that can solve it for all programs and inputs. The options presented various scenarios, including low-level programming languages, multiple CPUs, and the issue of running in reasonable time, but all of them ultimately led to the conclusion that it is not possible to create an algorithm to solve this problem universally.
Question 51 - This question required understanding the concept of symmetric encryption and identifying a real-world example of it. It was relatively straightforward. The correct choice was Finn and Gwen’s system, where a secret key is used to both encrypt and decrypt messages. Symmetric encryption involves using the same key for both encryption and decryption, and this scenario, where the key maps symbols to letters and vice versa, demonstrates the principle of symmetric encryption effectively. It reminded me that symmetric encryption is a common and practical method for secure communication where both parties have access to the same secret key.
Question 60 - This question was a bit tricky. It made me think about how to simplify complex code. The right answers are using procedures to replace repetitive code and using clear variable names to avoid mistakes. It taught me that in programming, abstraction helps manage complexity by breaking things into smaller, more understandable parts. It’s like using building blocks to make a complex structure. This way, the code is easier to work with and less likely to have errors.
The College Board’s CSP quiz is a valuable evaluation of my knowledge in computer science principles. This quiz covered a wide range of topics, including coding skills, computational thinking, data analysis, and the societal implications of computing. It encouraged critical thinking, problem-solving, and ethical considerations.This quiz emonstrated proficiency in computer science and also prepared me for future studies and careers in the field. It’s was an essential step in developing me to become a more well-rounded computer scientist.