Transcript for:
2024 AP Computer Science Principles FRQ Overview

um hello everyone welcome to mystery P today I'll be going over the 2024 AP Computer Science principles of our Q's both set one and set two I took it this year I had set one I believe let me double check um yes I did I had set one so I'll go over both of them I didn't look at set two so I'll sort of figure it out with you guys but I'll go over what I think is the correct answer and what I put and what are my predictions the curve is very small for computer science principles but this is the first year they changed the fq style now there is an fq section so the exam is instead of 2 hours without break it's now 2 hours uh it's now 3 hours 2 hours McQ break 1 hour fq so let's get started here so the first question usually asks about your program in general not really code related so this question here asks um programs accept input to achieve their intendent functionality describe at least one valid input to your program and what your program does with that input so um this one you just talk about like how a user can interact with the program and what the program actually does with the user's input it's pretty straightforward it just asks like user does this what does the program do in turn um it says at least one if you put one that should be fine I put one I didn't put more than one because I wanted to be cautious of my time you get a lot of time for the fq but nevertheless you want to be cautious and see all questions so just grab at least one valid input and you just say oh user inputs an integer or a string some form of text or whatnot and what your program does with input is um well maybe it searches through a list maybe it suggests recommends so stuff like that okay so two ABCs kind of divided into sub questions so yeah you have to refer to your personalized project reference sheet for this one 2 a says consider the first iteration statement including the procedure section of your PPR will abbreviate describe what is being accomplished by the code in the body of the iteration statement so when I actually did it on the exam I forgot what iteration statement is and what gave it away was the fact that it said in the body of the iteration statement so I was like oh shoot if it has a body that means it iterates something repeatedly some segment of code indented I know that if statements are conditional so I figured an iteration statement is just a loop so I included a for Loop and I was right so what you want to talk about in 2A is some sort of loop that appears in your procedure um it says the first iteration statement so I'll say like the first Loop for me was a for Loop that searched through a list yours could be a while loop um so yeah any form of a loop or a wild Loop okay yeah um 2 be consider procedure identified in part one of the procedure section of your PPR right to call to procedure that is each cause a different code segment in the procedure to execute describe the expected behavior of each call but is not possible for two calls to procedure to cause different segments code segments to execute explain why this is the case so mine was focused on brow stars and the thing is um people could input a brawler name of the game and the program would give information about that brawler however if the input did not match one of the existing Brawlers the procedure would instead return notifying the user that um no such brawler exists check for spelling existence whatnot um so yeah I did two calls one of existing Brawlers so like it would be characteristics find and then whatever brawler exists with correct spelling and then another uh call would be um characteristics find with a different argument such as I had um different like a misspelled brawler that actually exists but because it's incorrectly spelled I didn't find it in the list and I just said how different segments of my procedure would be run and executed so yeah if you could talk with respect to your um code as well and maybe if you are curious if you qualified you could leave your questions down below and I'll see if I can answer them to see this one was kind of tough this is form o I believe cuz this the one I got form D is the other one um so this one says support another suppose another programmer provides you with a procedure Cod check validity value that returns true a value pass as an argument is considered valid by the other programmer and theer false otherwise using the list identified in list section of your personalized project reference explain in detail steps and algorithm that uses check validity to check whether all keyword is all or at least that's what I got from this elements in your lists are considered valid by the other programmer your explanation must be detailed enough for someone else to write the program code for the algorithm that use check validity so what I did again with the respect to my list that has brawler names and the procedure that characteristics find I didn't really use that one I just searched um whether the elements in my list which is the bunch of brawler names are valid for the other programmer using this procedure check validity value so what I did I made a new procedure sort of to keep my to keep my algorithm in question Compact and I defined a variable I think I said like k equal Z or something um and then I had a for Loop so for brawler in brawler name my list was called brawler name it's a for loop I made so so I said i or k i don't whatever variable k equal Z for brawler and braw brawler name and then indented I had um if if I had a conditional statement if check validity brawler because brawler is basically each element of the list so check validity brawler would evaluate to true if the element in my list actually qualifies for the other programmer to approve it so check validity would evaluate you true so that conditional statement would evaluate you true and execute the identic code so I did if check validity brawler and if that's true then I updated my K value which I initially set to zero to k+ 1 so k equal k+ 1 um which would only happen if the um if the brawler actually qualifies for check vality procedure and then outside the for Loop um I put so I had 77 elements that's how I sort of checked whether all elements in your list are in my list are considered valid by the other programmer so I said if K is greater than I believe I had 77 elements so if K is equal to 77 I believe I said it to that um then return true else return false so that's sort of how I did it I did yeah and that should have gotten me the points but we'll see so yeah pretty easy obviously on the test you'll write it all out so it take more time but now for set two I haven't read these before but let's quickly look I heard this one was easier identify the expected group of users of your program explain how your program addresses at least one concern or Internet or interest of the users you identified okay this one's easy you're basically um identifying who's the user of your program or who you made it for in my case Broar thing um it's it's for people who play Brawl stars and need recommendations for Brawlers um in the game cuz and it also like gives informative statements so I guess people who play the game and are and are seeking recommendations on who to play based on their preference type and Rarity and overall gameplay I guess um and yeah so that's the expected user addresses at least one concern as I said basic recommendation and my program does that so you talk about on the same page with respect to your code okay to a consider the first conditional statement included in the procedure section of your personalized project reference describe your conditional statement including its Boolean expression describe what the procedure does in general when the Boolean expression of this conditional statement evaluates to false okay so my conditional statement checks if the brawler through brawler name no it checks whether the argument the user inputs which is the brawler they want they wish to learn more about exists in the list that's the first conditional statement the Boolean expression is if B where B is the argument or the parameter of the procedure is equal to brawler which is the element in the for Loop so for brawler and brawler name so b equals brawler um that's my conditional statement if it evaluates to false there is no return statement that is informative but otherwise it it's a if it evaluates to false which is going to do like several times actually as it goes through every BR until it finds it in the list um what the procedure does in general it updates I to keep tracking through both lists as it goes through the for Loop and once it does evaluate to fall 77 times it just exits the for Loop and returns a different statement saying the brawler is not found again that's basically it you just have to understand what the question says in related to your code so 2B is um consider procedure identifying Parts one and two of the procedure section of your PPR describe the outcome that your procedure call is intended to produce write a new procedure call with at least one different an argument value that will produce the same outcome if possible and explain what this procedure call Produce the same outcome the outcome to your procedure call is intended to produce write a new procedure call with the Le um if possible and explain what this procedure call produces the same outcome if it is not possible to write a new procedure call that produces the same outcome explain why this is not possible boom mhm okay so for me again if the brawler is not found in the list it's not going to like write an informative statement saying this brawler is this Rarity and this type instead however the common um output for a specific input is when there's a misspelling and the brawler is not found in that case the will produce the same outcome I guess it's like the same outcome cuz it basically prints the same statement except it changes the variable name based on what you input cuz it just says like the braw you spelled which is this does not exist so I this one's interesting um new procedure called that produces the same outcome so I would approach it that way I don't know if that's right though leave your thoughts in the comments this one's weird actually I don't think I would want this one on my AP exam let's move on to to see in I heard that one's easy consider the procedure identified in part one of the procedure section of PPR identify the parameters used explain how your identified parameters use abstraction to manage complexity in your program okay that's easy consider your procedure look at your parameter mine would be just B which is the input um that the user does to select the brawler um that's the parameter explain how your identified parameter use abstract raction to manage complexity in your program so B is a little so it uses abstraction because one letter is used to represent a brawler name which is easy to track keep track of one variable throughout the procedure to check for errors or whatnot to manage complexity in your program so this one variable is then used as a per as an argument in the procedure to Output a recommendation based on users's input I guess yeah okay so 2DS the set two frqs are actually harder based on my I actually like my set for people who got 2D I mean not 2D setd this is actually kind of hard I don't know what it's talking about I mean like I'm not too confident in answering these questions as I am answering these questions okay despite this like some people may be tricked by this question alone because it's so difficult and you have to utilize a different procedure but then again we practiced this in class so like yeah I'd rather take set one than two and I did so I guess I won in the end now we just have to wait until July so that's all of the fqs for CSP 2024 updated frq's new style with an fq section so thank you guys for watching and let me know if you guys have any questions peace