What I learned from the Quiz
I learned and was familiar with the pogramming concepts like boolean, loops, conditionals…etc. I also gained insight into protocols like IPv4 which I have never seen before. Most of the questions helped strengthen my logical thinking and I learned some problem-solving skills through the questions that had me analyze the algorithm by figuring out what goes in the missing code.
Which Type of Questions I Feel Weak On and Strong In
I think the questions I struggled the most on were the ones where I had to figure out what goes in the missing code or spotting errors in the code. Protocols were definitely the most difficult because most of them I have never heard before and I don’t know what they are. Some of the questions about security is ethics were also a little challenging as the answers all seemed convincing. I was very strong in the questions that are common sense related like the ethical concern concepts and especially the Mathematical Expression concepts because I am more skilled in math.
Corrections
- Q14. C is correct answer as the display code for Program A and B are at different lines therefore the values differ. I got the question wrong because because I thought since the code were the same but in different order that it would give the same values. But because it is in different order the values that are displayed will be different.
- Q21. B is correct the robot must rotate right 3 times in order to face the gray square. I thought answer A was correct because I accidentally thought RightXTimes meant moving right not rotating right so it was mistake in reading the question.
- Q26. A is correct as it rotates the robot right whenever there is an open square to the right then will move forward no matter what after. I wrongly understood the code as a coditional entirely and not a conditional for only the first part and then will excecute the line after no matter what. I wrongly thought the whole code as an “if-else” statement.
- Q29. A is correct as both the first gates will produce an output of false so the circuit will also be false. I didn’t understand and was confused by the logic gates, therefore I randomly selected an answer as I didn’t know how logic gates work. But now I know that for AND gate it only outputs “true” when both inputs are true and OR gate outputs “true” when at least one input is “true”.
- Q31. C is correct as the first program makes the robot rotate left or right not move left or right. I misread the ROTATE_LEFT/ROTATE_RIGHT codes as moving left or right causing me to think that Program I doesn’t correctly move the robot to the gray square
- Q37. C is correct as the code for segment one has the arithmetic operation inside the loop not outside for it to be performed only once. I didn’t understand that the box in the middle was a loop, so I didn’t know that the arithmetic operation within was being repeated every time.
- Q42. two to the power of 128 divided by two to the power of 32 is two to the power of 96. I didn’t know what binary numbers were, so I didn’t know that “128-bit binary number” meant two to the power of 128 possible addresses
- Q43. A is correct as the number of steps of the algorithm is polynomial so it runs in reasonable time. I didn’t see that the number of steps is a polynomial and the pattern that for a list of n items there are n^2 steps. I also didn’t know that algorithms run in reasonable time when the number of steps is equal to a polynomial function of the size of the input.
- Q44. B is correct with 4 bit integer representation only numbers 0-15 can be represented so anything above will result in overflow error. I didn’t know that 4 bits meant 4 bit integer representation which means 2^4 numbers can be represented. So the numbers that are above 15 is overflow error
- Q45. C is correct NOT(P AND Q) will result in it being false when both P and Q are true. I didn’t know what NAND gate is, not understanding that it is an AND gate followed by a NOT gate. So the output of the AND gate will be inverted. My answer wouldn’t work because the expression is false when the P and Q differ in value, not when they are both “true”.
- Q46. D is correct as an undecidable problem is when no algorithm can constructed that leads to a correct yes or no answer. I didn’t know what an undecidable problem is, which is a problem that can’t be solved by any algorithm with infinite time because they are decision problems requiring a yes or no answer.
- Q47. D is correct because in public cryptography it is always decrypted with the recipient’s private key. I didn’t understand how public key cryptography worked, not knowing public and private key is used.
- Q48. D is correct as it produces a result from 1 to 75 which is 75% of the time. I put D as the answer first then second guessed myself and changed my answer, understanding that numbers between 1-75 would be 75% of the time
- Q50. B is correct as the procedure is linear search as it sequentially compares each element of the list with the target. I got the question wrong because I didn’t know what linear and binary search, which are two algorithms to finding an item in a data set. Linear is searching one by one from beginning to end while binary is by repeatedly dividing in half the portion of the list that coudl contain the item to narrow down the possible locations.
- Q51. B is correct as the secret key is used for both encryption and decryption of the message. I didn’t know what symmetric encryption was, which is when the same key is used to encrypt and decrypt data.
- Q55. D is correct becuase user can’t put both y and yes so it will always be false. I looked over the code where the response must be “y’ and “yes” which is impossible when the user is expected to only put one of the responses in.
- Q56. D is correct as it counts by odd integer and the loop iterates 10 times. I didn’t try to write out how the code worked so I wasn’t sure if it was even or odd integers.
- Q60. A is correct too Replacing repeated code with a call to a procedure makes it easier for a programmer. Shorter variable names does not reduce complexity it would only be reduced if meaningful varibale names were used
- Q65. B is correct too as the condition count = y will never be met since the count begins at 0 and repeatedly increases. I didn’t try to write out or think about how the code would work with each answer given, so I was confused .
Analytics
-
3.18 Undecidable Problems: I read this lesson about it in Khan Academy
-
3.10 Lists: practice quiz
-
3.9 Developing Algorithms: I reviewed flashcards regarding Algorithm Analysis Quizlet
-
3.5 Boolean Expressions: I practiced with a khan academy quiz
-
5.6 Safe Computing: I reviewed term flashcards Quizlet
-
2.1 Binary Numbers: I did a practice quiz
-
3.6 Conditionals: Read an article about conditionals Conditional Statements in Programming: Definition, Types, Best Practices
-
3.8 Iteration: Read and understood iteration Indeed
-
3.13 Developing Procedures and 3.12 Calling Procedures: I did the procedures unit of khan academy
- 3.15 Random Values: I read about random values and pseudocode Random Values
-
3.17 Algorithmic Efficiency: I read article on Khan Academy Algorithmic Efficeny
-
1.4 Identifying and Correcting Errors: Read about the big ideas and objectives of the concept CSP principles
- 1.3 Program Design and Development: Reviewed terms and definitions Quizlet
Frontend and Backend