Hey so I made like a lottery ticket simulator. It has 5 numbers on each ticket. If your picked numbers matches the randomly generated winning ticket, you get matches. I used two lists, (one for picked numbers and one for winning numbers)to compare the numbers in each digits place. Is that a valid reason to use the list? I could say that without the list I would have to compare each digit individually, and if I wanted to add another number and make it like 6 or 7 I can easily just add an item to my list.
The answer is you should try them both. Whichever is more readable is the one you should go with. If it's unreadable to you, it's unreadable to the grader. Sorry that sounds like a cop out but it's the best answer!
Also, can I display comments(like the purpose of this code segment, etc.) for the pdf section? I know they said you should include comments to acknowledge other people's work, but they didn't say it's not ok to have comments other than acknowledgment. Should I include to show the grader that I have understood the my overall code or should i play safe not include comments?
I am using scratch and I have multiple sprites. Depending on which sprite in click a different item gets added to a list. So for List i, should I send multiple screenshots of each sprite script?
I tested out the college board site, and it gave me up to three screenshots. So if it's three or less, I think three screenshots are most readable. Otherwise your have to put multiple sprites into one screenshot, which will be smaller and less readable.
Let's say for example I have 4 sprites that add items to the list. So do I have 1 sprite in the first screenshot. Another one in the second. And then put the last 2 sprites into the last screenshot? Is that what you meant?
So I can't tell you exactly what to do for your specific case, but you can test it yourself!! Upload it to digital portfolio and see if it's readable. In particular I would experiment with orientation. That is, if you have a screen shot with multiple shots, vertical orientation might be better than horizontal.
I have a list with data stored in it already, but I don’t store any data/add to the list explicitly in the code. Do I need to show in my screenshots data being added to the list or is it ok?
I can't be specific for you, but you need to have a good reason your function exists. That is, your function has to manage complexity. Lt does not, and you get a question along those lines, you will miss the point. So if your entire code is the function, then likely you could have written the entire thing without the function and your code with the function is not any better than without. There has to be a good reason your function exists. A reason for functions managing code complexity would be that you have a long code and you've split it up into functions, or function plus main code. In this case, you can test each part individually and put them together at the end, which is just easier than trying to write the whole thing at once. Calling a function multiple times in different spots in the code can also work. Because when you have a bug or new feature, you only need to do it in one spot (the function). If you have a copy and paste of code your gave to edit the code as many times as you run that code. These are some general reasons to use functions.
My project contains a list of elements from the periodic table that I programmed. When the user types a letter, the symbols of the elements that begin with the same letter that is inputted by the user are displayed. Does that apply for the requirement that states “…must show how data have been stored in the list”. I am not exactly sure how else to implement this rule otherwise. Thank you!
I can't comment on your code, but for list.i you have to show list=[a, b, c] or else list=[] And list.append(a) etc... List..i is mostly straightforward, list.ii is a more complicated screenshot.
Dr. Wu, if for the segment asking me to put a screenshot of the list being used, aka the second screen shot of the list, does the segment "for x in rang(0,len(list))" work? (last question of the night I promise)
I can't say specifically for your code, but your have to show the list being used AND that showing has to manage complexity. For example item=random.choice(list) is very short, but the list is being used and random item from list is a classic example of managing complexity.
Just one more question! You said we can highlight the list that's been created; what about the procedure that's been defined? There's no need to highlight it, right? because I have about 17 lines for that procedure(def function).
I noticed in my def function that my iteration(while loop) is within my conditional states(if/else). Is this still fine? Or do I have to have a while loop "outside" the if/elif statements? Like this: While: ___ if____ elif___ else___ Thank u so much !!! You have such good content!! Super useful!!
Just my opinion, no need to highlight function. Your entire screenshot is the function and you aren't showing context around it. Call of function though, highlight and show context. In our practice runs on practice questions, we found through trial and error across ~100 students that having some context around calls and lists and list usages made it easier to answer questions and easier to grade.
In current versions, ap board requires iteration and selection and they do not have to be nested inside of each other. In previous versions from ~5 years ago they had to follow a specific child/grandchild format. Meaning iteration and selection had to be nested in a certain way, one inside the other. But that is not true anymore. Appreciate the support and good luck!
@@dr_wu3964 Okk. Hmm..The Student Handouts screenshots examples said if your code is long, split it into a maximum of 3 smaller ones. Do you know if it is required? But for the define list for example, i only have one line, the rest is basically "context" for me to reference in the writing section. Should I split them into 3 smaller screenshots? Although they didn't say u can capture as many possible contexts as u would like, they just say a screenshot with the defined list
@@pierce7040 I don't think it's required, and we've had people submit screenshots (not for the PPR last year, but for the create task last year) without splitting them up. I believe It is there for readability reasons! You can try it out, if the code is really long vertically but short horizontally, there's a possibility it won't be readable in just one screenshot..
That does work but you lose the line numbers, which can be really useful if you're taking the exam. Also you will want to change the font to a fixed width font like courier, otherwise spacing can look funny.
Hey Dr. Wu, for the pdf submission, do you think its okay if I save my program code from replit, like main.py, and then got to a python to pdf converter to convert the code?
Yes I think that works for the code PDF. I am assuming that replit will download with a fixed width font. For the PPR, our experience is that line numbers help in answering questions.
@@dr_wu3964 Yeah so in regards to the PPR, I copied my code and pasted it into Baker's website, then I took the red boxes around it. But my code pdf wont be from the bakers website, and will just be converted from an only .py to pdf website, is that cool? Like my PPR be from bakers field, and the code be from the converter?
I don't think you are supposed to change your code between runs. There are a number of workarounds for that, but I can't tell you what to do on your real create task sorry!
I do not think code organization is in the rubric. That said, if your code is unorganized enough that the grader can't decipher it or you are unable to answer questions clearly, then an unorganized code will hurt you.
This one I'm not 100% sure as it's the first year and we don't have a lot of data. They could though for example, ask about how to interface your function with the rest of the code. In that case, one would talk about the parameters, the type of parameters and any returns and the types of the returns.
It was on one of the videos from AP board last year or the year before. In the past, I used to think empty lists or dictionaries were ok, but I changed my thinking after seeing that video. Sorry I don't remember exactly which offhand. List.I should show a populated list being created or else that list being appended to. List.ii should show that list (after being populated) being used. Thanks for watching the channel!
Hey Dr_ wu!, I had a question regarding the screenshot where the list is being created, so I define my list in the beginning of the code at line 1 with for example list1=[ ], which is an empty list, however, that same list is being modified towards the end of my code, or i mean, im appending things into the list at the end. But doesnt that also overlap under my list being modified? What should I submit for the question asking about the list being created
Based on a video I saw from AP board, my understanding is an empty list would not satisfy list.i. Sorry I'm not sure which video right now. Because of that though, I've changed what I recommend compared to a few years ago. So list.i I would have be either the last being created, populated with values OR a list being appended to. List.ii would show it being used in away that shows the complexity management - random item from list, looping through that list, or whatever. Starting 2023/2024 it's all about answering questions during the exam, so be sure to practice the questions!
Any questions? Let me know in the comments below!
Hey so I made like a lottery ticket simulator. It has 5 numbers on each ticket. If your picked numbers matches the randomly generated winning ticket, you get matches. I used two lists, (one for picked numbers and one for winning numbers)to compare the numbers in each digits place. Is that a valid reason to use the list? I could say that without the list I would have to compare each digit individually, and if I wanted to add another number and make it like 6 or 7 I can easily just add an item to my list.
My function screenshot is 40 lines long, so do I need to break them up into like 2 20 line images or will one 40 line image be fine?
The answer is you should try them both. Whichever is more readable is the one you should go with. If it's unreadable to you, it's unreadable to the grader. Sorry that sounds like a cop out but it's the best answer!
Can you please do a more detailed series on how to answer the expected questions in the writing section? Thank you!!!!
Check out my other videos! I have most of the questions covered (but not all)
Also, can I display comments(like the purpose of this code segment, etc.) for the pdf section? I know they said you should include comments to acknowledge other people's work, but they didn't say it's not ok to have comments other than acknowledgment. Should I include to show the grader that I have understood the my overall code or should i play safe not include comments?
For PPR, I would play it safe and follow the directions exactly. No comments for PPR.
For code PDF, comments.
I am using scratch and I have multiple sprites. Depending on which sprite in click a different item gets added to a list. So for List i, should I send multiple screenshots of each sprite script?
I tested out the college board site, and it gave me up to three screenshots. So if it's three or less, I think three screenshots are most readable.
Otherwise your have to put multiple sprites into one screenshot, which will be smaller and less readable.
Let's say for example I have 4 sprites that add items to the list. So do I have 1 sprite in the first screenshot. Another one in the second. And then put the last 2 sprites into the last screenshot? Is that what you meant?
So I can't tell you exactly what to do for your specific case, but you can test it yourself!! Upload it to digital portfolio and see if it's readable. In particular I would experiment with orientation. That is, if you have a screen shot with multiple shots, vertical orientation might be better than horizontal.
I have a list with data stored in it already, but I don’t store any data/add to the list explicitly in the code. Do I need to show in my screenshots data being added to the list or is it ok?
You have to show EITHER data being added OR the list being full from the beginning!
Pls help me out what is the error handling in written Response . Anyone pls
Can you be more specific about what is not clear?
Also!! For the writing section, will everyone receive the same question?
This one I don't know! This version of the exam is different. Last year, yes. This year (2024) that is still unknown.
8:08 should I call my function twice in the code?
also I have 90% my code in the function, why is that a problem?
I can't be specific for you, but you need to have a good reason your function exists. That is, your function has to manage complexity. Lt does not, and you get a question along those lines, you will miss the point.
So if your entire code is the function, then likely you could have written the entire thing without the function and your code with the function is not any better than without. There has to be a good reason your function exists.
A reason for functions managing code complexity would be that you have a long code and you've split it up into functions, or function plus main code. In this case, you can test each part individually and put them together at the end, which is just easier than trying to write the whole thing at once.
Calling a function multiple times in different spots in the code can also work. Because when you have a bug or new feature, you only need to do it in one spot (the function). If you have a copy and paste of code your gave to edit the code as many times as you run that code. These are some general reasons to use functions.
My project contains a list of elements from the periodic table that I programmed. When the user types a letter, the symbols of the elements that begin with the same letter that is inputted by the user are displayed. Does that apply for the requirement that states “…must show how data have been stored in the list”. I am not exactly sure how else to implement this rule otherwise. Thank you!
I can't comment on your code, but for list.i you have to show list=[a, b, c] or else list=[] And list.append(a) etc... List..i is mostly straightforward, list.ii is a more complicated screenshot.
7:42 does repeat until count as iteration?
Yes! Repeats are iteration! Repeat, repeat until, while, for.
Dr. Wu, if for the segment asking me to put a screenshot of the list being used, aka the second screen shot of the list, does the segment "for x in rang(0,len(list))" work? (last question of the night I promise)
I can't say specifically for your code, but your have to show the list being used AND that showing has to manage complexity. For example item=random.choice(list) is very short, but the list is being used and random item from list is a classic example of managing complexity.
Just one more question! You said we can highlight the list that's been created; what about the procedure that's been defined? There's no need to highlight it, right? because I have about 17 lines for that procedure(def function).
I noticed in my def function that my iteration(while loop) is within my conditional states(if/else). Is this still fine? Or do I have to have a while loop "outside" the if/elif statements? Like this:
While: ___
if____
elif___
else___
Thank u so much !!! You have such good content!! Super useful!!
Just my opinion, no need to highlight function. Your entire screenshot is the function and you aren't showing context around it.
Call of function though, highlight and show context. In our practice runs on practice questions, we found through trial and error across ~100 students that having some context around calls and lists and list usages made it easier to answer questions and easier to grade.
In current versions, ap board requires iteration and selection and they do not have to be nested inside of each other.
In previous versions from ~5 years ago they had to follow a specific child/grandchild format. Meaning iteration and selection had to be nested in a certain way, one inside the other. But that is not true anymore.
Appreciate the support and good luck!
@@dr_wu3964 Okk. Hmm..The Student Handouts screenshots examples said if your code is long, split it into a maximum of 3 smaller ones. Do you know if it is required? But for the define list for example, i only have one line, the rest is basically "context" for me to reference in the writing section. Should I split them into 3 smaller screenshots? Although they didn't say u can capture as many possible contexts as u would like, they just say a screenshot with the defined list
@@pierce7040 I don't think it's required, and we've had people submit screenshots (not for the PPR last year, but for the create task last year) without splitting them up. I believe It is there for readability reasons! You can try it out, if the code is really long vertically but short horizontally, there's a possibility it won't be readable in just one screenshot..
Can you Copy and Paste your code onto a word document and remove some of the code to show the procedure?
That does work but you lose the line numbers, which can be really useful if you're taking the exam. Also you will want to change the font to a fixed width font like courier, otherwise spacing can look funny.
@@dr_wu3964also can u explain to me what to screenshot for the list?
@@dr_wu3964and do the screenshots HAVE to be pdfs?
Hey Dr. Wu, for the pdf submission, do you think its okay if I save my program code from replit, like main.py, and then got to a python to pdf converter to convert the code?
Yes I think that works for the code PDF. I am assuming that replit will download with a fixed width font.
For the PPR, our experience is that line numbers help in answering questions.
@@dr_wu3964 Yeah so in regards to the PPR, I copied my code and pasted it into Baker's website, then I took the red boxes around it. But my code pdf wont be from the bakers website, and will just be converted from an only .py to pdf website, is that cool? Like my PPR be from bakers field, and the code be from the converter?
If I worked with a partner collaboratively can we turn in the same PPR.
No! PPRs must be done individually
When we make the video can we change the data in the list to show how the program works in different ways or are we not allowed to do that
I don't think you are supposed to change your code between runs. There are a number of workarounds for that, but I can't tell you what to do on your real create task sorry!
@@dr_wu3964ok so i changed it into an empty list where i add things as we go and now i was wondering whether i can RUN the code 2+ times for the video
@@dr_wu3964Also what if I have multiple functions with selection and iteration? do i have to include them all in the procedure:i?(ppr)
comments aren't allowed for the PPR, but are comments (explaining what each function does, etc.) required for the actual full project code?
Comments are not required for your regular code unless you took a piece of code from elsewhere.
@@dr_wu3964 thank you!
If my code is unorganized do I get points off
I do not think code organization is in the rubric. That said, if your code is unorganized enough that the grader can't decipher it or you are unable to answer questions clearly, then an unorganized code will hurt you.
how is AP gonna ask me about Documentation? ain't that just comments? what are the questions gonna be like?
This one I'm not 100% sure as it's the first year and we don't have a lot of data. They could though for example, ask about how to interface your function with the rest of the code. In that case, one would talk about the parameters, the type of parameters and any returns and the types of the returns.
Also, no comments! Comments are potentially going to disqualify your submission!
hey dr wu why doesn’t an empty list by itself work? would i need to show the empty list & myself using (append for example) for list i?
It was on one of the videos from AP board last year or the year before. In the past, I used to think empty lists or dictionaries were ok, but I changed my thinking after seeing that video. Sorry I don't remember exactly which offhand.
List.I should show a populated list being created or else that list being appended to. List.ii should show that list (after being populated) being used.
Thanks for watching the channel!
@@dr_wu3964 fire thanks dr wu
Hey Dr_ wu!, I had a question regarding the screenshot where the list is being created, so I define my list in the beginning of the code at line 1 with for example list1=[ ], which is an empty list, however, that same list is being modified towards the end of my code, or i mean, im appending things into the list at the end. But doesnt that also overlap under my list being modified? What should I submit for the question asking about the list being created
Based on a video I saw from AP board, my understanding is an empty list would not satisfy list.i. Sorry I'm not sure which video right now. Because of that though, I've changed what I recommend compared to a few years ago.
So list.i I would have be either the last being created, populated with values OR a list being appended to.
List.ii would show it being used in away that shows the complexity management - random item from list, looping through that list, or whatever.
Starting 2023/2024 it's all about answering questions during the exam, so be sure to practice the questions!
My left ear found this video quite informative
Thank you!
It's not in stereo?
@@dr_wu3964It's in stereo but the audio only plays on the left channel