About This Webinar
Free Response Questions (FRQs) are an essential part of the AP Computer Science A exam. Join this interactive webinar to learn more about what to expect as it relates to FRQs and how to better prepare your students. Our team will also introduce you to the CodeHS FRQ Center, an excellent resource for students to explore past exam FRQs in a variety of formats.
Prepare your AP Computer Science A students for the FRQs with expert strategies, exam structure insights, and CodeHS resources from a veteran CSA teacher.
Full Transcript
Read the complete transcript of this webinar
All right, welcome everyone. Thank you so much for being here with us. My name is Stephanie Bennett. I'm a PD specialist here at CodeHS and I'm excited to welcome you to our very first of the spring webinar series session.
Today our topic is preparing students for the APC CSA FRQs and I am very lucky to be joined by both my colleague Steve who is going to be helping to answer questions today. he spent a lot of time teaching CSA and CSP and so I'm very lucky to be joined by him but also extremely lucky to be joined by your presenter today Danielle Carr. Danielle, I'd love for you to introduce yourself.
Yeah, my name is Danielle. I am a current high school computer.
We can't hear you.
Oh, try again. Maybe it was just my volume that I turned down.
How about now?
Yes, perfect. Sorry, I think I just had my volume turned down. That was my fault.
Oh, okay. so like I said, my name is Danielle. I'm a current high school computer science teacher in Indiana. Teach at Lake Central High School if you are familiar. I currently teach principles of computing for dual credit. I teach AP computer science a topics in computer science and computer science for dual credit as well. So I'm very excited.
Yes. so much experience to share with us today. And I've had the pleasure of meeting Danielle in person and seeing her classroom and I know that she is such a strong teacher and has great information to share with us today about those pesky FRQs on this exam. So, here's what we're going to do today. We're going to cover just some basics about this CSA exam in general, timing, the setup of the exam, so you know exactly what to expect when your students sit down for exam day. We'll also cover a variety of CDHS resources to help you get your students prepared for this exam. we will cover the FRQs from a scoring perspective. Danielle will get into some details about the structure of the FRQs and then give some of her FRQ review tips that she uses in the classroom. So, we do have the Q&A open for you and I'll ask you to put your test and FRQ related questions into the Q&A. That way, they don't get lost. I will be putting items in the chat and resources in the chat for you all. If you would like to introduce yourself in the chat, we invite you to do that. right now, Daniela and I are joining from Indiana, but Steve is joining from Houston, Texas, and so we'd love to know where you're joining from today. And so we can use that chat as a place to, you know, share tips, tricks, stories, introduce yourselves. We're going to make that a friendly fun place. but then we'll keep your questions in the Q&A so that they don't get lost if we have a really active chat happening. So, if you have never used codes before, I encourage you to sign up for an account. Our CSA curriculum is totally free. Teacher accounts and student accounts are totally free for you to sign up and to sign your students up. And it's not too late because as Danielle is going to talk about, we we even have like a just a review course for this exam. So maybe if you haven't been using our CSA curriculum all year long, that's okay. You could maybe take a peek at some of the review materials that we have available to you and your students. So definitely sign up for an account if you haven't used our curriculum before and I will actually put a link to this in the chat for you to make it easy for you. All right. So again, for those of you who are unfamiliar with CodeHS, we are a comprehensive platform for teaching computer science in K through 12. we need to update this slide. We are not just middle school and high school anymore. We actually have tons of curriculum even for our littlest learners. but all of our curriculum and computer science learning takes place on the web. So we love that equity piece of wherever a student can log into a web browser and has access to the internet they can be learning computer science with us. We also have online and offline professional development as you know because you're here today and lots of teacher tools and resources to help teachers efficiently and effectively teach computer science in the classroom. So, some of those teacher tools are, for example, feedback tools, so you can know exactly how your students are learning, what they're learning, where they're learning, what they need help with. we have a submission system for assignments so that you can put your eyes on assignments even though we have lots of autograded assignments that provide at least a baseline of past fail for students as far as feedback. In our ProTools, we also have grading and tracking tools, academic integrity tools. and all of this is web- based. No additional downloads or plugins needed. All right. So, with that, I am going to stop sharing my screen and hand it over to Danielle so she can walk us through this exam and the and specifically the FRQ portion. Let me just choose the right screen because I have quite a few in front of me. our our teacher trainers are always power users. They have multiple screens happening and yes, lots of desktop space.
Yes. Okay. So, we are here. Perfect. I'm sharing the right screen, right?
Yes. But Danielle, I would maybe suggest that you do the presenter mode so you can hop back and forth from the platform and not have to come out of the presentation. So just do the carrot next to the slideshow. Yeah, I do presenter view. Perfect. All right, now we are rocking and rolling. Oh, that's cool. I didn't know that. I just learned something new. How fun. Okay. So, I saw in the chat that this was someone's first year teaching CS. And so, just a little bit about me. I used to be an elementary math and science teacher, taught fifth grade math and science. and then I taught sixth grade science and social studies. when Indiana started pushing computer science into K12 my computer educator license that was totally about like incorporating onetoone technology in the classroom for the first time got grandfathered into computer science and the state was like good luck. so if I could do it anyone could do it. So this year the test looks a little different. college board did some restructuring. the course last year was 10 units. they condense those 10 units into four. and so the multiplechoice questions, there's 42 multiple choice questions. They get 90 minutes to complete this and it's about 55% of their score. it's usually individual questions. Sometimes there's like part A and part B types of questions. and you're really focused on most of the content on in a variety of different multiple choice type questions. but the one that we're going to focus on mainly today is the free response questions. So there are a total of four questions and each question focuses on a different unit and different ideas. again they're going to get 90 minutes and this is about 45% of their score. so I kind of broke down each question so that you would know what the kids are going to be tested on. So for question number one, it's methods and control structures. So students are going to be asked to either write two methods or one constructor and one method given a class. so they're not writing the entire class. They're just writing either those two methods or a constructor and a method. and there's two parts to the first question. And so part a the method or constructor will require iterative or conditional statements or both. So that's for loops, while loops if statements as well as statements that call the methods in the class. and then part B, the method or constructor will require calling string methods. So that's just a little content in question one. question two is the class design section. So, they're going to be asked to design and implement a class based on specifications and examples. sometimes it could also include another class as well. students will be given a scenario with specifications in the form of a table demonstrating ways that they can interact with that class. And a little bit later, I'll talk about that's one of my tips is understanding that table. and then the class is going to include a a class header, their instance variables, constructors, a method and implementation of the constructor and required methods. So this is the big heavy one on class creation. After that, question three, we start looking at array lists. So students are going to be given a scenario again with associated classes or class class or classes. they're going to be asked to write one method of a given class based on specifications and examples and that method is going to require them to understand how to utilize array lists. So again not a whole class just one method using array lists. So arraylist is pretty important. And then the last question is going to be talking about 2D arrays. So again, they're going to be provided a scenario and they're going to be asked to write one method of a class that's already been given to them. and they're going to need to be able to understand and utilize 2D arrays. So differences between array lists and 2D arrays. this year the AP exam is Friday, May 15th. It's at 12:00 p.m. local time, so in the afternoon. Okay. And like we said, CodeHS has lots of resources that are available to you. And like Stephanie had said earlier, if you haven't been using CodeHS the entire time, that's totally fine because there is a review course and I can show you that. we also have practice problems, questions of the day. and there's a total AP resource hub that has lots and lots of resources. So I'm going to kind of jump over there to show you what that looks like. So, when you get create started and you create a course, I have lots of courses here, but here is the demo section that Stephanie made for me. Thank you very much. With some practice students and so she's already chosen the AP Cortado course, which is the new format of the AP exam. So, it has our four units here. for those of you who haven't been using code HS, it's really awesome. They have all of the topics that are in the College Board oh shoot, what's it called? Course description guide thing. all of those units that are in there are also on code HS. So, it really follows the College Board outline. each lesson usually has a video. there's checks for understanding. There's examples and exercises. So, it really walks the students through what they're learning. there's also something new this year that they've incorporated where it's like an explore. So, they start working with text files. Text files is something new in this course. U text files hasn't text files haven't been assessed before. and so I think a really clever way that CodeHS in introduced text files is by incorporating it into some of their assignments throughout the entire course before they learn about text files. So that's been really cool as well. but over here on the left hand side we have some resources. I like to look through the curriculum. the really awesome one that we're going to look at is the AP Hub. So, if you're teaching AP computer science principles as well, there is a hub for principles. but since this one is about APCSA, will be an CSA. we have an interactive textbook that's really cool for students who need more like instead of the videos or listening to things, if they are someone who needs to be reading and trying it out like that, there's a textbook that they can work with. there's also questions of the day. So, this is really fun as a bell bell ringer. you can just have it posted up on the board when the students walk in. and it happens to be about 2D arrays today. So, that's, you know, great because that's what question four is on. there's also practice FRQs that you can go to. So, if you click on the FRQ center, it has the year and the FRQ number. It's also has the topic that it was on. So, if you wanted to practice classes, you can go ahead and click try it or assign it to your class. there's also the scoring guide and things like that. So, you have all the resources in one place. And then there's also extra labs. So, in the past, AP labs were pretty important for the previous AP exam. this year they have some new ones that we're working on. and then there's also some additional projects. So again, if you haven't been using code HS and you want to kind of review some topics, you can look through projects and try a project out. the other thing that was really awesome that we have are extra practice problems. So if you click on practice, you can choose the language that you're in. Obviously, we're going to be in Java and we have practice problems, basics, strings, math, booleans, arrays, 2D arrays, array lists, and then we also have extra levels, some recursion, looking at objects and things like that. So, all of these are practice problems. You can go ahead and click on one and see what it looks like for the students, maybe. No one's at school anymore. The kids are all gone. All the teachers are gone. It should be going really fast. So they are given the directions. So given a rectangle object, return the width of the rectangle. The rectangle class has been provided as a reference. And so over here we have the rectangle class. We have the scratch pad where they can test out what they've written. And then the unit test is where they would write out their actual code to get autograded. so they have the assignment here. you can check your code to see if it works. I haven't written anything, so it's going to tell me I'm wrong, missing a return statement. you can output and run your code to see what it's working on. So, these are really awesome practice problems that you can either do as a whole class or assign things like that. And then we have
Hey, Danielle.
Yeah. Can
can I interrupt you really quickly? Can you tell me on the student side, they have access to all of these, right?
Yes.
Okay. So students could find them on their own, but could you also show our teachers how to assign them right there by clicking on the three dot three dots?
Yeah. So let's try array list. So over here you can click the three dots here at the top and you can assign the entire practice or you can click on specific ones on the three dots and assign individual example or individual practice problems. So you can go ahead and click on assign. It's going to ask you to choose your course and I'm choosing my demo course. And then I can choose where I want to place it. So this was array list. So I'm probably going to put it in with let's say implementing arraylist algorithms. And I'll click next. And then I can make it available when it's due, how many points, and I can click assign. So now I can go to this course. And now in my unit 4 in implementing array lists where'd it go? What was it called?
I see it there. Array list max. Y
thank you. And it happens to be included right here. and it's called practice because it's from the practice problem sets. Alrighty. And then for courses, the course catalog, we have like Stephanie mentioned for our AP computer science a we have a review course. so we have all of the units have practice and reviews and then there's also some practice FRQ questions and practice multiple choice questions and you can assign them individually or you can create a new course and have your students join that course and practice using those as well. Let's see. Did I miss any? I'll stop there. Yeah. Well, so could I ask you a question? Do you find that your students have time for the additional review content? Do you pick and choose what you think is most important or do they get through that entire 20our course typically? so I how I do it is I give them access to the whole course. usually since I don't want to have them join too many courses, I just add the review to the end of my course that I'm currently in. so just like how I assigned that practice problem, I can assign all those modules in the review course into the class that I'm currently in. So I don't have two classes I'm juggling. And I kind of we have about a week with it for myself, the way I pace myself about a week of AP review and it's around the same time as finals for us as well. so it's like at the same time we're we're studying for finals, we're also studying for the AP test. and I leave it up to the kids for which content they think they need more practice on. I make suggestions obviously. my big suggestions are going to be make sure you check out 2D arrays, the array list, making sure you understand how to write classes. So, those would probably be the review units I would hit because again, 45% of their grade is being able to work with those things. but I usually leave that open to the kids to work on as they see fit.
I love that. >> I would do this a similar thing with my final exams. but definitely like I think getting prompting high school students to do that personal reflection is is you got to set up those practices, right?
Yes. Yeah. Yes.
Yeah. But I think I covered all of the codes resources. So is there anything you wanted me to like dive in deeper? You have any questions on the resources? Yeah, we don't have any questions in the Q&A yet, but I wanted to maybe dive into the F FRQ center from the hub.
because I believe there is two there's two ways to assign it, right? Like there's a way where students get to see the code and where they don't.
Yes. Yes. Okay. So that that's actually I saw that the other day and I was very excited. so there are two ways to assign FRQs on code HS. One the more traditional way is just the text only where it's very similar to how the students would have been tested on on the AP exam where they're given the tech the the question format and they just have to write out or type out their answer and they're not able to test it to see if it works or anything like that. So you can assign it just like that as text only or the really cool version is a runnable version. So after they've coded everything there's the opportunity to try it out to make sure that it runs. So the way you assign it to your class can be either text only or runnable. Do you want me to like click through to show? Okay. Do you want me
or Stephanie? Did you want me to do both?
Sure. Sure. I would love to see the difference. I'm learning things here too.
Okay, so we'll do last year's FRQ number four on 2D arrays. So I'll do text only and I will give it to our Cortado class. I'll just put it at the end. All righty. So at the end, so we have some or same game complete text only. So you can go ahead and run it to see this is what the kids will see. So they'll get started. So here we have our class kind of created already and this is the directions that they would be given on the AP exam. So this is like part A and part B. this is like the examples that we'll talk about a little bit later looking in the tables and things like that showing it how it works. And then they just go ahead and start coding. There's nothing for them to check or run. It also if you notice doesn't change like colors. So typically in codes when you're coding you know private would be like the color purple. You know it would show you your keywords. So when you're doing it texton only, it's really truly like a text editor. There's no color coordinating. It doesn't autoindent for them and things like that. So again, it's very similar to what they would have to do on the AP exam with the text only. So there's no like hints or anything like that. so I know that's like a big deal for some teachers. And then if I wanted to do the same thing, me kind of go back. I can do the same exact problem, but I can do I'll do I'll just do part A so I know the difference the runnable version. And we will put it in our top. No, wrong one. This one. And we will again put it at the end. All right. So this is part A. So notice before when it was text only, it's a free response type of question. With the Runnable one, it's an exercise. So you'll be able to see the difference right away. So now you can see that the code is different colors. Like I said, that private keyword would have been purple and things like that. So they're going to get a little bit more help that way as well. So it's going to autoindent for you. They're going to see when things are not the right color and things like that. And then also we have some test cases. So after they've coded it, they can make sure it works and find out their errors. they still have access to the assignment but now they have access to documentation so there's like more resources so definitely doing a runnable one to start introducing FRQs you know understanding reading it's a lot F FRQs can be pretty daunting because a lot there's a lot of text on the the screen or on the screen or on the paper and it can be pretty overwhelming trying to comprehend the question let alone then writing it. So, I definitely like the fact that we can run the code and make sure that it works before you transition them into the text only, but I highly suggest doing the text only towards when you get closer to taking the exam just because that's how it's going to be like on the the actual exam. This is all fantastic information.
Sorry, I got distracted by the Q&A. Oh, all good. Steve's got that one.
Got it. Okay. Anything else you wanted me to show, Stephanie?
No, this is this is great. This was a great rundown of everything that CodeHS provides. For sure.
Awesome. Okay. I have so many tabs open now. Love it. Okay. So, that was the resource hub. I talked about the review course. that's old. Talked about the practice. talked about question of the day, the FRQ center, F FRQ coding projects. Oh, so another resource that I can show you is there are where is it? Not the where where Stephanie where's the
the problem bank?
Yes.
good question Steve.
Like why can I not see it?
So the problem bank if you go to the search bar up at the top you should be in search for problem bank. You should be able to find it there. Yeah. And then what I what I did I always like you can star this and then it will show up as a on the sidebar. So if you click star that's now a favorite and then it will be added to your sidebar.
You're so amazing Steve. Thanks. So there's also a problem bank of questions that other people have written and shared. so you can narrow your search down to the programming language that you're looking for and filter it. And so here are just practice problems that other people have created. and so specifically here the problem bank for the FRQs for APCSA, we have the addition pattern, Apollo 13, tic-tac-toe verify, and AP calendar. And here are direct links to those. but like I said, in the problem bank, there are tons of awesome questions and resources. again, if you're looking for something specific that your kids are struggling with, you can search for that. and let's just say for example, let's take a look at this one. So, you can click on it. You can see, you know, the description, what they're supposed to be getting. This is their starter code. And then this is the answer key. and you can go ahead and click assign just like all the other pro all the other ways that we've assigned and you can add it to your course and put it specifically where you would like to. But the problem bank is a really awesome place as well. the other really awesome place is the project catalog. So, for the AP CSA exam, this is where the AP labs are, but there are also other programs that as well. And I love that they're like defined by easy, medium, or hard. and so some of them are also autograded, so it's less work on you. So, for example, this one's autograded. I can go ahead and click on it. And in this brief description, it kind of tells me that this is they're using array lists in classes. So I want to make sure that I've taught array lists before I introduce this project. But you know they're using array listing classes to create a set of shipping warehouses for a new company. And so there's the description, there's a demo of how it works and then these are the things that the students will see. so just for example the marketing analysis. So they have geol locations, the runner and their orders. And if you click on exercise, it's a description of what they need to do. So I like to do the projects as group projects with my students. They work with the people around them and they kind of work together. but they're also another great resource to help with FRQs because there is so much to read. So getting them used to reading and comprehending what's being asked of them is also a really great resource and strategy to help as well. Okay. so moving on to scoring the FRQ. they are given points for lots of different things. So some of the things that they could get points for are specifically related to the algorithms. So they would get points necessary for anything that would be used to give you the right answer, but they won't be given points if they are missing things, they're missing steps or they're out of order. if they write additional code that doesn't do anything or give you the correct answer. if they confuse array collections and access. So if they're using array lists but they use array methods they won't get points for that. if a value is returned and the method is void if they rewrite the method header that's already been given to them, they would get points taken off for that. but there are quite a few things that are ignored. if they have extra code that doesn't affect the correct answer, they they don't lose points for that. they also don't lose points for spelling things wrong or if something is supposed to be capitalized and they didn't write it in capital letters. so system.out.print line, you know, the S is capitalized, but if they wrote it in a lowercase letter, that's fine. Same thing with like public. A lot of my students like to do a capital P even though it's lowercase. they wouldn't get points off for that. missing public on a class constructor. So if they forget the public keyword, they're still not getting points off. if they rewrite the method header with different variable names, but they still have the same amount of variables, then they're okay. if they use a keyword as the name of a variable, that's okay. if they use math symbols. I used to get on my kids really badly on this until I realized they don't lose points. But for example, if you want if they were saying something is less than or equal to in math, they can do the symbol and then the line underneath. They won't lose points if they do that. they don't lose points if they mix up the brackets or the or the curly brackets, parentheses, etc. they don't lose points for using the wrong equal sign. So if they do one equal or two equals, that's fine. And then if they mess up size or length with or without the parenthesis, that's okay. And then again, missing semicolons. So they they ignore a lot of things. so that's why one of my tips is don't leave the FRQ blank and write down what little they do know. there are very easy ways to get points even if they have no idea how to start. So I always tell them if you know what you're supposed to be returning, write return and that variable. If you know that you're going to need a loop, go ahead and set up a loop. If you know that you need an array list, create a new array list. You know, write something. Something is better than nothing. So getting points is possible even if they don't know how to do it. another really, great thing that I teach with my students is how to read the FRQs. So, like I said, the FRQs can be the the instructions and the descriptions of the classes can be up to like two pages long. And so, we already know I used to teach math when we have word problems, the kids already just shut down because it's, you know, a little word problem. But you're going to be looking at word problems that are multiple pages long. And there's not just one of them, there's four of them with multiple parts. So reading and comprehending and understanding how to look at the example outputs is is a skill that the kids need to learn and it's definitely something that you have to do together so that it doesn't seem as daunting. and so one of my tips was to read the scenarios. So this was just an example and it's just a little snippet of the actual page long description of how this class is working. a lot of times I tell the students to look at that first before they start reading what they have to do and understanding what all is included in the class. because sometimes the like I said the descriptions of what they need to do are so long that they can start to get confused with all the names and variables and this that and the other. So reading how the the code is working when they call different methods and create different things really really helps them kind of break down what's being asked. So definitely reading through those tables and understanding that is extremely helpful. and then the other tip I had was that sometimes I have students who like to do like tricks and they like to try to code things to make it look more complicated than it needs to be and they think it's awesome and all that other stuff. And I tell the kids at least for the FRQ on the AP exam to just be very straightforward. you're not going to get extra points for being clever or for using this method or you know whatever. So just ask do what it's asking and that's it. Don't try to get all fancymancy. and then another big one is time management. So they have these four questions and like I said it can be very daunting to read them and a lot of kids have told me in the past that they kind of like spaced out. They h have like a little bit of a panic attack and they kind of just sit there and they just stare at the words. So, it's important to get them familiar with the length of the questions and then understand that you only have 90 minutes for those four questions. And so, giving yourself about 20 to 22 minutes a question is very helpful. And like I said, don't leave the FRQ blank. so here was an example of that. So, the top one is someone who got full points. They wrote it completely correct. And this person, they didn't necessarily get it all right because they weren't doing specific directions. However, they got a point for returning an integer variable. And so, like I said, even if you don't know what you're doing, you can still get a point for, you know, having the right thing being returned. so just wanted to show you that. And was there anything else you wanted me to share before I bring it back to Stephanie? Anybody have questions?
Yeah, we don't have any open questions in the Q&A. So, I will give everybody a moment here to gather all this great information and come up with any other questions you would like answered by Danielle. We're happy to go back and show you something again, dive into a little more detail because we do have about six minutes here left of our estimated webinar time. And so while you all in the audience take a second to type out those last minute questions, I will just follow our slides and and and slowly start wrapping this up, but we will definitely interrupt for any lingering questions. So there are lots of ways to stay in touch with codes and team members and teachers like Danielle who are our experts in the field currently teaching in the classroom. And so if you would like to stay in touch, we encourage you to become a CODHS certified educator. That is a application process that happens in the springtime and it just signifies that you know you are a multi-year user of codes. You are a champion of our curriculum and our resources and have you know become really proficient in using codes as a curricular tool in your classroom. You also have the opportunity to earn micro credentials with a couple programs we have. If you would like to join our codes Facebook group, we actually have a AP specific Facebook group in addition to our general educators Facebook group. So, an active community on Facebook if you have social media and want to connect with other educators teaching AP courses. And of course, CodeHS is on all the socials.
Today our topic is preparing students for the APC CSA FRQs and I am very lucky to be joined by both my colleague Steve who is going to be helping to answer questions today. he spent a lot of time teaching CSA and CSP and so I'm very lucky to be joined by him but also extremely lucky to be joined by your presenter today Danielle Carr. Danielle, I'd love for you to introduce yourself.
Yeah, my name is Danielle. I am a current high school computer.
We can't hear you.
Oh, try again. Maybe it was just my volume that I turned down.
How about now?
Yes, perfect. Sorry, I think I just had my volume turned down. That was my fault.
Oh, okay. so like I said, my name is Danielle. I'm a current high school computer science teacher in Indiana. Teach at Lake Central High School if you are familiar. I currently teach principles of computing for dual credit. I teach AP computer science a topics in computer science and computer science for dual credit as well. So I'm very excited.
Yes. so much experience to share with us today. And I've had the pleasure of meeting Danielle in person and seeing her classroom and I know that she is such a strong teacher and has great information to share with us today about those pesky FRQs on this exam. So, here's what we're going to do today. We're going to cover just some basics about this CSA exam in general, timing, the setup of the exam, so you know exactly what to expect when your students sit down for exam day. We'll also cover a variety of CDHS resources to help you get your students prepared for this exam. we will cover the FRQs from a scoring perspective. Danielle will get into some details about the structure of the FRQs and then give some of her FRQ review tips that she uses in the classroom. So, we do have the Q&A open for you and I'll ask you to put your test and FRQ related questions into the Q&A. That way, they don't get lost. I will be putting items in the chat and resources in the chat for you all. If you would like to introduce yourself in the chat, we invite you to do that. right now, Daniela and I are joining from Indiana, but Steve is joining from Houston, Texas, and so we'd love to know where you're joining from today. And so we can use that chat as a place to, you know, share tips, tricks, stories, introduce yourselves. We're going to make that a friendly fun place. but then we'll keep your questions in the Q&A so that they don't get lost if we have a really active chat happening. So, if you have never used codes before, I encourage you to sign up for an account. Our CSA curriculum is totally free. Teacher accounts and student accounts are totally free for you to sign up and to sign your students up. And it's not too late because as Danielle is going to talk about, we we even have like a just a review course for this exam. So maybe if you haven't been using our CSA curriculum all year long, that's okay. You could maybe take a peek at some of the review materials that we have available to you and your students. So definitely sign up for an account if you haven't used our curriculum before and I will actually put a link to this in the chat for you to make it easy for you. All right. So again, for those of you who are unfamiliar with CodeHS, we are a comprehensive platform for teaching computer science in K through 12. we need to update this slide. We are not just middle school and high school anymore. We actually have tons of curriculum even for our littlest learners. but all of our curriculum and computer science learning takes place on the web. So we love that equity piece of wherever a student can log into a web browser and has access to the internet they can be learning computer science with us. We also have online and offline professional development as you know because you're here today and lots of teacher tools and resources to help teachers efficiently and effectively teach computer science in the classroom. So, some of those teacher tools are, for example, feedback tools, so you can know exactly how your students are learning, what they're learning, where they're learning, what they need help with. we have a submission system for assignments so that you can put your eyes on assignments even though we have lots of autograded assignments that provide at least a baseline of past fail for students as far as feedback. In our ProTools, we also have grading and tracking tools, academic integrity tools. and all of this is web- based. No additional downloads or plugins needed. All right. So, with that, I am going to stop sharing my screen and hand it over to Danielle so she can walk us through this exam and the and specifically the FRQ portion. Let me just choose the right screen because I have quite a few in front of me. our our teacher trainers are always power users. They have multiple screens happening and yes, lots of desktop space.
Yes. Okay. So, we are here. Perfect. I'm sharing the right screen, right?
Yes. But Danielle, I would maybe suggest that you do the presenter mode so you can hop back and forth from the platform and not have to come out of the presentation. So just do the carrot next to the slideshow. Yeah, I do presenter view. Perfect. All right, now we are rocking and rolling. Oh, that's cool. I didn't know that. I just learned something new. How fun. Okay. So, I saw in the chat that this was someone's first year teaching CS. And so, just a little bit about me. I used to be an elementary math and science teacher, taught fifth grade math and science. and then I taught sixth grade science and social studies. when Indiana started pushing computer science into K12 my computer educator license that was totally about like incorporating onetoone technology in the classroom for the first time got grandfathered into computer science and the state was like good luck. so if I could do it anyone could do it. So this year the test looks a little different. college board did some restructuring. the course last year was 10 units. they condense those 10 units into four. and so the multiplechoice questions, there's 42 multiple choice questions. They get 90 minutes to complete this and it's about 55% of their score. it's usually individual questions. Sometimes there's like part A and part B types of questions. and you're really focused on most of the content on in a variety of different multiple choice type questions. but the one that we're going to focus on mainly today is the free response questions. So there are a total of four questions and each question focuses on a different unit and different ideas. again they're going to get 90 minutes and this is about 45% of their score. so I kind of broke down each question so that you would know what the kids are going to be tested on. So for question number one, it's methods and control structures. So students are going to be asked to either write two methods or one constructor and one method given a class. so they're not writing the entire class. They're just writing either those two methods or a constructor and a method. and there's two parts to the first question. And so part a the method or constructor will require iterative or conditional statements or both. So that's for loops, while loops if statements as well as statements that call the methods in the class. and then part B, the method or constructor will require calling string methods. So that's just a little content in question one. question two is the class design section. So, they're going to be asked to design and implement a class based on specifications and examples. sometimes it could also include another class as well. students will be given a scenario with specifications in the form of a table demonstrating ways that they can interact with that class. And a little bit later, I'll talk about that's one of my tips is understanding that table. and then the class is going to include a a class header, their instance variables, constructors, a method and implementation of the constructor and required methods. So this is the big heavy one on class creation. After that, question three, we start looking at array lists. So students are going to be given a scenario again with associated classes or class class or classes. they're going to be asked to write one method of a given class based on specifications and examples and that method is going to require them to understand how to utilize array lists. So again not a whole class just one method using array lists. So arraylist is pretty important. And then the last question is going to be talking about 2D arrays. So again, they're going to be provided a scenario and they're going to be asked to write one method of a class that's already been given to them. and they're going to need to be able to understand and utilize 2D arrays. So differences between array lists and 2D arrays. this year the AP exam is Friday, May 15th. It's at 12:00 p.m. local time, so in the afternoon. Okay. And like we said, CodeHS has lots of resources that are available to you. And like Stephanie had said earlier, if you haven't been using CodeHS the entire time, that's totally fine because there is a review course and I can show you that. we also have practice problems, questions of the day. and there's a total AP resource hub that has lots and lots of resources. So I'm going to kind of jump over there to show you what that looks like. So, when you get create started and you create a course, I have lots of courses here, but here is the demo section that Stephanie made for me. Thank you very much. With some practice students and so she's already chosen the AP Cortado course, which is the new format of the AP exam. So, it has our four units here. for those of you who haven't been using code HS, it's really awesome. They have all of the topics that are in the College Board oh shoot, what's it called? Course description guide thing. all of those units that are in there are also on code HS. So, it really follows the College Board outline. each lesson usually has a video. there's checks for understanding. There's examples and exercises. So, it really walks the students through what they're learning. there's also something new this year that they've incorporated where it's like an explore. So, they start working with text files. Text files is something new in this course. U text files hasn't text files haven't been assessed before. and so I think a really clever way that CodeHS in introduced text files is by incorporating it into some of their assignments throughout the entire course before they learn about text files. So that's been really cool as well. but over here on the left hand side we have some resources. I like to look through the curriculum. the really awesome one that we're going to look at is the AP Hub. So, if you're teaching AP computer science principles as well, there is a hub for principles. but since this one is about APCSA, will be an CSA. we have an interactive textbook that's really cool for students who need more like instead of the videos or listening to things, if they are someone who needs to be reading and trying it out like that, there's a textbook that they can work with. there's also questions of the day. So, this is really fun as a bell bell ringer. you can just have it posted up on the board when the students walk in. and it happens to be about 2D arrays today. So, that's, you know, great because that's what question four is on. there's also practice FRQs that you can go to. So, if you click on the FRQ center, it has the year and the FRQ number. It's also has the topic that it was on. So, if you wanted to practice classes, you can go ahead and click try it or assign it to your class. there's also the scoring guide and things like that. So, you have all the resources in one place. And then there's also extra labs. So, in the past, AP labs were pretty important for the previous AP exam. this year they have some new ones that we're working on. and then there's also some additional projects. So again, if you haven't been using code HS and you want to kind of review some topics, you can look through projects and try a project out. the other thing that was really awesome that we have are extra practice problems. So if you click on practice, you can choose the language that you're in. Obviously, we're going to be in Java and we have practice problems, basics, strings, math, booleans, arrays, 2D arrays, array lists, and then we also have extra levels, some recursion, looking at objects and things like that. So, all of these are practice problems. You can go ahead and click on one and see what it looks like for the students, maybe. No one's at school anymore. The kids are all gone. All the teachers are gone. It should be going really fast. So they are given the directions. So given a rectangle object, return the width of the rectangle. The rectangle class has been provided as a reference. And so over here we have the rectangle class. We have the scratch pad where they can test out what they've written. And then the unit test is where they would write out their actual code to get autograded. so they have the assignment here. you can check your code to see if it works. I haven't written anything, so it's going to tell me I'm wrong, missing a return statement. you can output and run your code to see what it's working on. So, these are really awesome practice problems that you can either do as a whole class or assign things like that. And then we have
Hey, Danielle.
Yeah. Can
can I interrupt you really quickly? Can you tell me on the student side, they have access to all of these, right?
Yes.
Okay. So students could find them on their own, but could you also show our teachers how to assign them right there by clicking on the three dot three dots?
Yeah. So let's try array list. So over here you can click the three dots here at the top and you can assign the entire practice or you can click on specific ones on the three dots and assign individual example or individual practice problems. So you can go ahead and click on assign. It's going to ask you to choose your course and I'm choosing my demo course. And then I can choose where I want to place it. So this was array list. So I'm probably going to put it in with let's say implementing arraylist algorithms. And I'll click next. And then I can make it available when it's due, how many points, and I can click assign. So now I can go to this course. And now in my unit 4 in implementing array lists where'd it go? What was it called?
I see it there. Array list max. Y
thank you. And it happens to be included right here. and it's called practice because it's from the practice problem sets. Alrighty. And then for courses, the course catalog, we have like Stephanie mentioned for our AP computer science a we have a review course. so we have all of the units have practice and reviews and then there's also some practice FRQ questions and practice multiple choice questions and you can assign them individually or you can create a new course and have your students join that course and practice using those as well. Let's see. Did I miss any? I'll stop there. Yeah. Well, so could I ask you a question? Do you find that your students have time for the additional review content? Do you pick and choose what you think is most important or do they get through that entire 20our course typically? so I how I do it is I give them access to the whole course. usually since I don't want to have them join too many courses, I just add the review to the end of my course that I'm currently in. so just like how I assigned that practice problem, I can assign all those modules in the review course into the class that I'm currently in. So I don't have two classes I'm juggling. And I kind of we have about a week with it for myself, the way I pace myself about a week of AP review and it's around the same time as finals for us as well. so it's like at the same time we're we're studying for finals, we're also studying for the AP test. and I leave it up to the kids for which content they think they need more practice on. I make suggestions obviously. my big suggestions are going to be make sure you check out 2D arrays, the array list, making sure you understand how to write classes. So, those would probably be the review units I would hit because again, 45% of their grade is being able to work with those things. but I usually leave that open to the kids to work on as they see fit.
I love that. >> I would do this a similar thing with my final exams. but definitely like I think getting prompting high school students to do that personal reflection is is you got to set up those practices, right?
Yes. Yeah. Yes.
Yeah. But I think I covered all of the codes resources. So is there anything you wanted me to like dive in deeper? You have any questions on the resources? Yeah, we don't have any questions in the Q&A yet, but I wanted to maybe dive into the F FRQ center from the hub.
because I believe there is two there's two ways to assign it, right? Like there's a way where students get to see the code and where they don't.
Yes. Yes. Okay. So that that's actually I saw that the other day and I was very excited. so there are two ways to assign FRQs on code HS. One the more traditional way is just the text only where it's very similar to how the students would have been tested on on the AP exam where they're given the tech the the question format and they just have to write out or type out their answer and they're not able to test it to see if it works or anything like that. So you can assign it just like that as text only or the really cool version is a runnable version. So after they've coded everything there's the opportunity to try it out to make sure that it runs. So the way you assign it to your class can be either text only or runnable. Do you want me to like click through to show? Okay. Do you want me
or Stephanie? Did you want me to do both?
Sure. Sure. I would love to see the difference. I'm learning things here too.
Okay, so we'll do last year's FRQ number four on 2D arrays. So I'll do text only and I will give it to our Cortado class. I'll just put it at the end. All righty. So at the end, so we have some or same game complete text only. So you can go ahead and run it to see this is what the kids will see. So they'll get started. So here we have our class kind of created already and this is the directions that they would be given on the AP exam. So this is like part A and part B. this is like the examples that we'll talk about a little bit later looking in the tables and things like that showing it how it works. And then they just go ahead and start coding. There's nothing for them to check or run. It also if you notice doesn't change like colors. So typically in codes when you're coding you know private would be like the color purple. You know it would show you your keywords. So when you're doing it texton only, it's really truly like a text editor. There's no color coordinating. It doesn't autoindent for them and things like that. So again, it's very similar to what they would have to do on the AP exam with the text only. So there's no like hints or anything like that. so I know that's like a big deal for some teachers. And then if I wanted to do the same thing, me kind of go back. I can do the same exact problem, but I can do I'll do I'll just do part A so I know the difference the runnable version. And we will put it in our top. No, wrong one. This one. And we will again put it at the end. All right. So this is part A. So notice before when it was text only, it's a free response type of question. With the Runnable one, it's an exercise. So you'll be able to see the difference right away. So now you can see that the code is different colors. Like I said, that private keyword would have been purple and things like that. So they're going to get a little bit more help that way as well. So it's going to autoindent for you. They're going to see when things are not the right color and things like that. And then also we have some test cases. So after they've coded it, they can make sure it works and find out their errors. they still have access to the assignment but now they have access to documentation so there's like more resources so definitely doing a runnable one to start introducing FRQs you know understanding reading it's a lot F FRQs can be pretty daunting because a lot there's a lot of text on the the screen or on the screen or on the paper and it can be pretty overwhelming trying to comprehend the question let alone then writing it. So, I definitely like the fact that we can run the code and make sure that it works before you transition them into the text only, but I highly suggest doing the text only towards when you get closer to taking the exam just because that's how it's going to be like on the the actual exam. This is all fantastic information.
Sorry, I got distracted by the Q&A. Oh, all good. Steve's got that one.
Got it. Okay. Anything else you wanted me to show, Stephanie?
No, this is this is great. This was a great rundown of everything that CodeHS provides. For sure.
Awesome. Okay. I have so many tabs open now. Love it. Okay. So, that was the resource hub. I talked about the review course. that's old. Talked about the practice. talked about question of the day, the FRQ center, F FRQ coding projects. Oh, so another resource that I can show you is there are where is it? Not the where where Stephanie where's the
the problem bank?
Yes.
good question Steve.
Like why can I not see it?
So the problem bank if you go to the search bar up at the top you should be in search for problem bank. You should be able to find it there. Yeah. And then what I what I did I always like you can star this and then it will show up as a on the sidebar. So if you click star that's now a favorite and then it will be added to your sidebar.
You're so amazing Steve. Thanks. So there's also a problem bank of questions that other people have written and shared. so you can narrow your search down to the programming language that you're looking for and filter it. And so here are just practice problems that other people have created. and so specifically here the problem bank for the FRQs for APCSA, we have the addition pattern, Apollo 13, tic-tac-toe verify, and AP calendar. And here are direct links to those. but like I said, in the problem bank, there are tons of awesome questions and resources. again, if you're looking for something specific that your kids are struggling with, you can search for that. and let's just say for example, let's take a look at this one. So, you can click on it. You can see, you know, the description, what they're supposed to be getting. This is their starter code. And then this is the answer key. and you can go ahead and click assign just like all the other pro all the other ways that we've assigned and you can add it to your course and put it specifically where you would like to. But the problem bank is a really awesome place as well. the other really awesome place is the project catalog. So, for the AP CSA exam, this is where the AP labs are, but there are also other programs that as well. And I love that they're like defined by easy, medium, or hard. and so some of them are also autograded, so it's less work on you. So, for example, this one's autograded. I can go ahead and click on it. And in this brief description, it kind of tells me that this is they're using array lists in classes. So I want to make sure that I've taught array lists before I introduce this project. But you know they're using array listing classes to create a set of shipping warehouses for a new company. And so there's the description, there's a demo of how it works and then these are the things that the students will see. so just for example the marketing analysis. So they have geol locations, the runner and their orders. And if you click on exercise, it's a description of what they need to do. So I like to do the projects as group projects with my students. They work with the people around them and they kind of work together. but they're also another great resource to help with FRQs because there is so much to read. So getting them used to reading and comprehending what's being asked of them is also a really great resource and strategy to help as well. Okay. so moving on to scoring the FRQ. they are given points for lots of different things. So some of the things that they could get points for are specifically related to the algorithms. So they would get points necessary for anything that would be used to give you the right answer, but they won't be given points if they are missing things, they're missing steps or they're out of order. if they write additional code that doesn't do anything or give you the correct answer. if they confuse array collections and access. So if they're using array lists but they use array methods they won't get points for that. if a value is returned and the method is void if they rewrite the method header that's already been given to them, they would get points taken off for that. but there are quite a few things that are ignored. if they have extra code that doesn't affect the correct answer, they they don't lose points for that. they also don't lose points for spelling things wrong or if something is supposed to be capitalized and they didn't write it in capital letters. so system.out.print line, you know, the S is capitalized, but if they wrote it in a lowercase letter, that's fine. Same thing with like public. A lot of my students like to do a capital P even though it's lowercase. they wouldn't get points off for that. missing public on a class constructor. So if they forget the public keyword, they're still not getting points off. if they rewrite the method header with different variable names, but they still have the same amount of variables, then they're okay. if they use a keyword as the name of a variable, that's okay. if they use math symbols. I used to get on my kids really badly on this until I realized they don't lose points. But for example, if you want if they were saying something is less than or equal to in math, they can do the symbol and then the line underneath. They won't lose points if they do that. they don't lose points if they mix up the brackets or the or the curly brackets, parentheses, etc. they don't lose points for using the wrong equal sign. So if they do one equal or two equals, that's fine. And then if they mess up size or length with or without the parenthesis, that's okay. And then again, missing semicolons. So they they ignore a lot of things. so that's why one of my tips is don't leave the FRQ blank and write down what little they do know. there are very easy ways to get points even if they have no idea how to start. So I always tell them if you know what you're supposed to be returning, write return and that variable. If you know that you're going to need a loop, go ahead and set up a loop. If you know that you need an array list, create a new array list. You know, write something. Something is better than nothing. So getting points is possible even if they don't know how to do it. another really, great thing that I teach with my students is how to read the FRQs. So, like I said, the FRQs can be the the instructions and the descriptions of the classes can be up to like two pages long. And so, we already know I used to teach math when we have word problems, the kids already just shut down because it's, you know, a little word problem. But you're going to be looking at word problems that are multiple pages long. And there's not just one of them, there's four of them with multiple parts. So reading and comprehending and understanding how to look at the example outputs is is a skill that the kids need to learn and it's definitely something that you have to do together so that it doesn't seem as daunting. and so one of my tips was to read the scenarios. So this was just an example and it's just a little snippet of the actual page long description of how this class is working. a lot of times I tell the students to look at that first before they start reading what they have to do and understanding what all is included in the class. because sometimes the like I said the descriptions of what they need to do are so long that they can start to get confused with all the names and variables and this that and the other. So reading how the the code is working when they call different methods and create different things really really helps them kind of break down what's being asked. So definitely reading through those tables and understanding that is extremely helpful. and then the other tip I had was that sometimes I have students who like to do like tricks and they like to try to code things to make it look more complicated than it needs to be and they think it's awesome and all that other stuff. And I tell the kids at least for the FRQ on the AP exam to just be very straightforward. you're not going to get extra points for being clever or for using this method or you know whatever. So just ask do what it's asking and that's it. Don't try to get all fancymancy. and then another big one is time management. So they have these four questions and like I said it can be very daunting to read them and a lot of kids have told me in the past that they kind of like spaced out. They h have like a little bit of a panic attack and they kind of just sit there and they just stare at the words. So, it's important to get them familiar with the length of the questions and then understand that you only have 90 minutes for those four questions. And so, giving yourself about 20 to 22 minutes a question is very helpful. And like I said, don't leave the FRQ blank. so here was an example of that. So, the top one is someone who got full points. They wrote it completely correct. And this person, they didn't necessarily get it all right because they weren't doing specific directions. However, they got a point for returning an integer variable. And so, like I said, even if you don't know what you're doing, you can still get a point for, you know, having the right thing being returned. so just wanted to show you that. And was there anything else you wanted me to share before I bring it back to Stephanie? Anybody have questions?
Yeah, we don't have any open questions in the Q&A. So, I will give everybody a moment here to gather all this great information and come up with any other questions you would like answered by Danielle. We're happy to go back and show you something again, dive into a little more detail because we do have about six minutes here left of our estimated webinar time. And so while you all in the audience take a second to type out those last minute questions, I will just follow our slides and and and slowly start wrapping this up, but we will definitely interrupt for any lingering questions. So there are lots of ways to stay in touch with codes and team members and teachers like Danielle who are our experts in the field currently teaching in the classroom. And so if you would like to stay in touch, we encourage you to become a CODHS certified educator. That is a application process that happens in the springtime and it just signifies that you know you are a multi-year user of codes. You are a champion of our curriculum and our resources and have you know become really proficient in using codes as a curricular tool in your classroom. You also have the opportunity to earn micro credentials with a couple programs we have. If you would like to join our codes Facebook group, we actually have a AP specific Facebook group in addition to our general educators Facebook group. So, an active community on Facebook if you have social media and want to connect with other educators teaching AP courses. And of course, CodeHS is on all the socials.