My Experience N@TM To start, here is my experience at N@TM! Overall, N@TM was a really enjoyable experience to us because we were able to interact with other people. We enjoyed talking to our peers about their projects too. Our favorite projects from other groups was a minesweeper and chess game because they were extremely well made and interactive for the users to play. We also enjoyed talking to our peer’s parents because they asked many questions about our project. We thought our most popular question asked was how we were able to fetch the different recipes in our website. In addition, talking with the CSA kids in the other room was also nice because we got to see how CSA operates their websites (many of them were really good). In conclusion, we had lots of fun at N@tm and we are excited to attend more in the future! Being able to talk about my code with other people was a really different, interesting experience as well. N@TM will surely help me in the future if I happen to get interships, jobs, etc in college.

Collegeboard Trimester 1 Final Questions and Review

  • Question 1 (Topic 1.2, Skill 4.A): Behavior of code that multiples inside a loop.
    • For question 1, reading the code segment carefully was a important aspect in answering the question. The code initializes the result to 2 then repeatedely multiplies result by 5 inside a loop. The loop then iterates three times (Answer: D)
  • Question 2 (Topic 1.2, Skill 4.A): Behavior of mystery procedure with if statement
    • Again, being able to differentiate all the different answers was important in determining the answer, as all of them were similar (Answer: C)
  • Question 3 (Topic 1.1, Skill 1.c): Benefits of assembling a diverse team
    • Easy question, common sense
  • Question 4 (Topic 1.2, Skill 3.A): Data needed for DineOutHelper
    • Another relatively easy one
  • Question 5 (Topic 1.2, Skill 3.A): Data not provided by Alejandra but needed
    • Again, easy enough to read and understand
  • Question 6 (Topic 1.3, Skill 4.A): Documentation for procedure with a loop
    • For this question, analyzing the code to see that it initializes the count to 1 then inside the loop, the value count is displayed and increased by 2 to the next odd integer. The loop terminates when the count reaches the max so all positive odd integers are less than or equal to max when printed
  • Question 7 (Topic 1.3, Skill 4.A): Documentation for procedue with add and div
    • Easy enough, straightforward
  • Question 8 (Topic 1.3, Skill 4.A): Documentation for procedure with lists
    • This one was kind of difficult to understand at first. I had to consult with other csp students before being able to determine the right answer. First, the code creates a copy of numList called newList. Then the element at newList(j) is assigned the element at numList (j). THEREFORE (this is where I was confused), the difference between numList and newList is that the elements at indices j and k are interchanged. The procedure only works if j and k are valid list indices.
    • I looked over my collegeboard 1.3 notes + the daily video to make sure I had a full grasp on the concept.
  • Question 9 (Topic 1.4, Skill 4.C): Error in reducing score if else
    • Just reading carefully with this one makes the question pretty straightforwards
  • Question 10 (Topic 1.1, Skill 1.c): Faciliate collaboration between group members
    • Easy, common sense
  • Question 11 (Topic 1.2, Skill 4.A): How nested loops with lists functions
    • This one took me some time, but I eventually understood it. The algorithim traverses myList using two nested loops. The outside loop iterates the first elements in the list to the second to last element in the list. For the iteration of the outer loop, the inner one compares that element to every element in the array following (Answer B)
  • Question 12 (Topic 1.2, Skill 3.A)
    • Easy, straightforward
  • Question 13 (Topic 1.3, Skill 4.C)
    • Pretty easy if carefully read
  • Question 14 (Topic 1.4, Skill 4.C): Test cases for grade assignment with nested if
    • Again, pretty easy. At the end, the check minus is displayed instead of the intended check plus
  • Question 15 (Topic 1.1, Skill 1.C)
    • Easy, common sense
  • Question 16, 17, 18 (Topic 4.1, Skill 5.A)
    • All related to the internet lesson from couple weeks ago. I had to review my notes on my website and the collegeboard daily videos to remind myself again
  • Question 19 (Topic 2.1, Skill 1.D): Adding numbers in 4-bit representation
    • I had to watch the daily videos to understand this concept. I learned that the largest binary value that can be represented using 4 bits is 1111, which is equal to the decimal value of 15. Since the sum is larger, an overflow error would occur.
  • Question 20 (Topic 2.1, Skill 1.D): Bits needed to represent directions
    • Important thing to know is that four bits can store 16 pieces of information
  • Question 21 (Topic 2.1, Skill 3.C): Data that can be represented with binary sequences
    • From the videos, it claims that characters, colors, and sound can all be become sequences of bits to represent something.
  • Question 22 (Topic 2.1, Skill 2.B)L Decimal value not equal to given binary values
    • I learned that binary 0011 is 2^1+2^0 = decimal 3. Binary 0110 is 2^2 +2^1 = decimal 6. Finally, 1111 is 2^3+2^2+2^1+2^0 = decimal 15. 9 is the only number not present in this list.
  • Question 23 (Topic 2.1, Skill 3.C): Digital representation of position of runner
    • I was able to make the connection of Analog data, like the runners position, have values that change smoothly rather than abrupt intervals.
  • Question 24 (Topic 2.1 Skill 2.B): Put binary and decimal numbers in order
    • Same skill as Question 22, being able to convert binary to decimal and vice versa
  • Question 25 (Topic 3.1, Skill 3.A): Appropriate data type for age
    • Age is represented as a number, and therefore, is best representative of age. Very straightforward.
  • Question 28 (Topic 3.6, Skill 2.B): Assign cost for utility company
    • I was kind of confused with this question but after reading the question very carefully, I was able to come to my final answer.
  • Question 31 (Topic 3.2 Skill 3.A): Character in a list of strings
    • For this one, I had to look over 3.2 daily videos to make sure I fully grasped the concept. The element at index 3 inwordList is “ghi”. The character at index 2 of “ghi” is “h.”
  • Question 34 (Topic 3.2 Skill 3.B): Music instrument lists after assignments
    • I had to make sure I was following along correctly in this code segment. First, the code segment initializes firstList to contain [“guitar”, “drums”, “bass”], secondList to contain [“flute”, “violin”], and thirdList to contain an empty list. The code segment then swaps the contents of firstList and secondList by assigning firstList to thirdList, then secondList to firstList, then thirdList to secondList.
  • Question 35 (Topic 3.6 Skill 2.B): Set maxPS based on time
    • I had lots of trouble with this one at first. Getting to D was easy because it was simply an if else statement, but I was debating for a long time between A and B. In the end, I declared the answer as A because in B, the maxPS <–50 would override the entire code, making it invalid.
  • Question 37 (Topic 3.3 Skill 2.B)
    • The first statement assigns the value of num1 to the temporary variable temp. The second statement assigns the value of num2 to num1. The third statement assigns the original value of num1, which is stored in temp, to num2. The original values of num1 to num2 are interchanged. Therefore the answer is D. I think reading this one carefully was also a key factor.
  • Question 40 (Topic 3.6 Skill 4.B)
    • Since 3 < 5, the program will execute the ELSE code block and will print x - y = 3 - 5 = -2
  • Question 45 (Topic 3.10 Skill 4.B): Values of first and second after assignments
    • This one was kind of confusing as well. The code segment iterates through each element in the list, incrementing count1 for each positive value and incrementing count2 otherwise. The list contains two positive values, so count1 is 2 and count2 is 3.
  • Question 48 (Topic 3.1, Skill 4.B): Which variables are equal to 50 after assignments
    • I got this one wrong. I didn’t realize that the first three statements assign values to the variables. The fourth statement assigns the value of y (which is 50) to x. The fifth statement assigns the value of z (which is 75) to y. The sixth statement assigns the value of x (which is 50) to z. Therefore, x and z both have the value 50.
  • Question 50 (Topic 3.4 Skill 4.B)
    • initials ← concat(prefix(firstName, 1), prefix(lastName, 1)) will correctly form the initials. It uses calls to prefix to obtain the first letters of each name, then uses a call to concat to concatenate the two letters in the correct order.

Overall, I think that I need to most work on Unit 3 and specifcally skill 4.B

Final Score: 49/50