5 Steps to a 5: AP Computer Science A 2024 - Klipp D.B., Johnson D.R., Paymer C.A. 2023


Notes

5 Steps to Teaching AP Computer Science A

Image

Deborah Klipp

AP Computer Science A Teacher at Florida Virtual School

Thanks to Greg Jacobs, an AP physics teacher at Woodberry Forest School in Virginia, for developing the 5-step approach used in this teaching manual. Thanks also to Courtney Mayer, an AP environmental science teacher, for creating a sample teacher’s manual that AP teachers could use to create their own manual.

Introduction to the Teacher’s Manual

Nowadays, teachers have no shortage of resources for the AP Computer Science A class. No longer limited to just the teacher and the textbook, today’s teachers can utilize online simulations, apps, computer-based homework, video lectures, etc. Even the College Board itself provides so much material related to the AP Computer Science A exam that the typical teacher—and student—can easily become overwhelmed by an excess of teaching materials and resources.

This book is a vital resource for your class because it explains in straightforward language exactly what a student needs to know for theAP Computer Science A exam and provides a review program students can use to review for the test. This teacher’s manual will provide guidance on using this book in your class and advice on utilizing the best practices and best resources in your class.

This teacher’s manual will take you through the 5 steps of teaching AP Computer Science A. These 5 steps are:

1. Prepare a strategic plan for the course

2. Hold an interesting class every day

3. Evaluate your students’ progress

4. Get students ready to take the AP exam

5. Become a better teacher every year

I’ll discuss each of these steps, providing suggestions and ideas that I use in my class. I present them here because, over the years, I found that they work. You may have developed a different course strategy, teaching activities, and evaluation techniques. That’s fine; different things work for different teachers. But I hope you find in this teacher’s manual something that will be useful to you.

STEP 1

Prepare a Strategic Plan for the Course

The Course and Exam Description (CED) from the College Board, which can be found at https://apcentral.collegeboard.org/pdf/ap-computer-science-a-course-and-exam-description.pdf?course=ap-computer-science-a, lays out a suggested scope and sequence for the AP Computer Science A class. The College Board has set it up in a way that topics and skills build as the year goes on. Over the years, as I’ve worked with teachers at AP Summer Institutes, AP Workshops, and AP Readings, my suggestion has been to stick with the suggested scope and sequence.

After you have taught the course a few years and feel comfortable with the material, you may want to move topics around to better meet your classroom needs. One example is that in unit 2, I introduce the idea of classes to the students by way of the String, Math, Integer, and Double-class methods that are defined. I save the actual task of writing classes and calling their methods until classes can be fully introduced in unit 5. This gives students the opportunity to use pre-written classes before they write their own. This allows me to use conditionals and iteration from units 3 and 4 when they write classes in unit 5.

The chart below shows the units and the time suggested for each unit in the CED. The number of class periods is based on a typical 45-minute class. If your school is on a form of block schedule or other non-typical schedule, you will need to adjust the pacing to fit your class needs.

As you plan your year, make sure to leave plenty of time for review. I like to leave at least one month of dedicated review time just before the test. Although you should be giving students practice with released multiple-choice and free-response questions at the end of each unit, allowing students a full month of practice helps prepare them for the types of questions they will see on the AP exam.

Image

STEP 2

Hold an Interesting Class Every Day

AP students should love coming to your class. Why? Because you should offer many opportunities and strategies to help students understand the material and internalize what they learn. I usually follow one of two models each day. When I introduce a new unit or concept, I use a direct instruction or a flipped classroom model. In the days that follow, I use an inquiry-based model.

Image Bell Ringer/Warm-Up. At the beginning of the year, I give students a booklet titled “AP Question of the Day.” It contains the (translated to) Java versions of the released AP multiple-choice questions since the first AP Computer Science exam was administered in 1984. I arranged the translated questions in topic order starting from unit 1 and ending at unit 10. While I am taking roll and getting class started, students answer an assigned question, then discuss it with their classmates. I then go over the question and the answer with them. This takes no more than 5 minutes per day. You can also use AP Classroom questions or questions from this review book as your source.

Image Direct Instruction. I upload my notes to the students’ learning management system and the students are required to download or print those notes on their own. This saves time, because I can address the important or often misunderstood sections of the notes, skipping over the things students can study and learn on their own. I hardly ever lecture for more than 15 minutes a day. The AP students can read and study my notes and can always come to me if they have any questions outside of class time.

Image Flipped Classroom. I assign my students AP Daily videos to watch from AP Classroom or other sources for homework. As with direct instruction, I can address the important or often misunderstood topics in class the following day.

Image Inquiry-Based. This is used when the students are on the computer working on a programming assignment. Depending on the complexity of the lesson, the program assignment can be completed in a class period, or for more complex topics, it can be completed over multiple class periods. The idea is to give the students hands-on experience programming. Think of the quote from Benjamin Franklin, “Tell me and I forget. Teach me and I remember. Involve me and I learn.” Involve your students in the class and they will not only love the class but also excel on the AP exam.

If you have a classroom set of 5 Steps to a 5: AP Computer Science A, you can assign students homework of reading a few pages of the book that correlates to the topics you are teaching. You can assign them the review questions at the end of each chapter as homework. The book covers each unit and topic in the CED and all the review questions are aligned to the learning objectives.

The programs, classroom activities, and videos that you decide to use in your course will depend on your interests, time available, class composition, etc. However, there are some activities that are used in many AP Computer Science A classrooms, and these are listed below by unit. Here are some of my favorites.

Image

For easy access to more information about the activities and programs listed in the chart below go to https://bit.ly/3yz9isw. You can use this QR code to access it.

In the Read Me document at this site, there are also hyperlinks to all the websites listed in this book. Use these hyperlinks in this document to avoid having to manually type each website’s URL.

Image

In addition, you might consider joining the AP Teacher Community or Facebook group that is specifically for AP Computer Science A teachers. There you will find more ideas than you could possibly do in one year!

Looking for a fun way to prepare your students for the Free-Response Questions (FRQs)? Here are a few activities that have worked well in my classroom.

Image FRQ Mocktail Party: Give each student a copy of the same FRQ. With only the question in their hand (no pens or pencils), have them walk around the room and mingle with their classmates, asking others about how they would approach the solution. After 10 minutes, students sit down and write out their solution individually. As a bonus, have snacks and beverages in your room for students to eat and drink as they walk around and mingle.

Image Program Relay Race: Give each student a copy of the same FRQ and give them 15 minutes to write their solution. Split the students into teams (5—6 on a team works best). Each team goes to a separate area of the classroom and has either a board to write on or a large pad of paper to write on. One student from each team goes to the board (or pad of paper) and either writes one line of code or corrects a line of code that another student wrote, then moves to the back of their team’s line. The next team member then writes or corrects a line of code, then moves to the back of the line. This continues until the team feels their solution to the FRQ is complete. The first team to correctly write the solution to the FRQ wins. Players are not allowed to talk or help their teammates and they cannot look at look at another team’s solution until the race is complete.

Image Write FRQ Code on the Computer: Give each student a copy of the same FRQ and give them 20 minutes to write their solution on paper. After they write their solution, have them enter their code on the computer. This involves you preparing the skeleton code, driver program, and data so the program will run after the students type their solution to parts a and b. There are a few sites online that have this code already prepared.

Image Practice Grading FRQs: At first, you grade your students’ FRQs using the scoring guidelines from College Board, pass the papers back to the students, and discuss how each point was earned/not earned. When students become familiar with the scoring guidelines, they should start grading their own solutions. Collect their graded papers and discuss any necessary discrepancies. You can also have students grade sample student responses that are found on the exam page of AP Central and they can grade responses from their classmates. Whether you use one of these grading techniques or all of them, the more familiar you and your students are with the scoring process, the more likely students will earn points for each part of their response. This is one of the most effective things that you can do to get the students ready for the exam. The days you spend doing this activity will make a huge difference in the way they approach the actual AP exam’s FRQ.

STEP 3

Evaluate Your Students’ Progress

I establish “company rules” at the beginning of the year. These are rules that I require my “employees” (aka students) to follow since I am the “CEO” (aka teacher) of this company (aka classroom). Rules such as:

Image No games during class

Image No food or drink in the classroom

Image Save your work often

Image Trace your code before you ask for help

Image Place begin and end braces each on a separate line

Image Indent all code between the braces

Image Comment closing braces

Image Use meaningful identifier names

Image Use PascalCase for class names, camelCase for variable names, and SNAKE_CASE for constants

Image Include pre- and post-conditions for each method

Image Concentrate on program efficiency

Image Check your output for correctness before submitting

Image Submit your work by the due date

A search online will give you additional examples that you might consider using at your “company.” One such example can be found at https://www.oracle.com/java/technologies/javase/codeconventions-contents.html.

Program assignments in my class account for 40% of their grade. Tests/quizzes account for 40% and homework accounts for the remaining 20%. When I grade computer programs, I evaluate them for four different aspects.

Image Program correctness

Image Does the program conform to the specifications in the program statement?

Image Does the program produce the desired results?

Image Does the program demonstrate correct handling of special cases, boundary values, and error conditions?

Image Program design

Image Is the program broken down into small, coherent, independent methods?

Image Is the user interface clear and concise?

Image Can the student justify their choice of algorithm?

Image Style and documentation

Image Does the program use proper indentation and naming conventions?

Image Is the program easy to read and understand?

Image Efficiency

Image Is the program efficient or does it use brute force?

Image Is the program efficient with respect to both time and memory used?

It is important to give students feedback in a timely manner. Giving them feedback on FRQs can be difficult to do, especially if you have a large class. When a student must wait for the results, the whole purpose of feedback is defeated. A student needs to gain confidence and develop study and test-taking strategies. You need to know your student’s strengths and weaknesses so you can adjust your lessons appropriately. One way to provide immediate feedback is to give students one part (part a one day, then part b the next day) of a FRQ, then collect their solutions after 5—8 minutes. Quickly skim over their solutions and assign a grade of 100, 80, or 60. A correct or nearly correct solution earns the student 100 points and tells you and the student that they understand the material and would most likely earn full credit for their solution. A grade of an 80 tells you and the student that they have the potential to earn full credit for their solution, but they need to review some concepts before that could happen. A grade of a 60 tells you that the student needs to review those concepts in greater detail to earn credit for their solution.

I recommend incorporating released AP questions from the College Board (found in AP Classroom) on your unit exams. You can also add questions from your textbook, from 5 Steps to a 5 AP Computer Science A book, or those you create yourself. However, there is no better resource than the people that write the test and there are hundreds of questions in AP Classroom for you to use.

If you have a classroom set of 5 Steps to a 5 AP Computer Science A, you can assign a FRQ from one of the exams in the book that correlates to the topic you are teaching. You can go over the solution and grading of the problem with your class. The solution also has a sample driver program that the students can use to test out their solution on the computer. Running the program will let them see if their code works and, if not, allows them the opportunity to debug their code and fix it.

It is vital that you have a FRQ on each of your unit exams starting with unit 4. Getting students to practice responding to an open-ended question in the exam format that they will see on the AP exam is the best way to prepare them. Remember, the FRQs count for 50% of the students’ grade on the exam so practicing these on every unit exam you give is crucial.

STEP 4

Get Students Ready to Take the AP Exam

I leave three or four weeks to dedicate to review for the exam in class. This means I have covered all 10 units completely and we now have time to review. I want to emphasize, even though I am referring to reviewing for the exam, I am really ensuring that they understand all the topics that are covered in a first-year computer science course in college. The AP exam is simply the summative tool that is used at the end of the course.

I start reviewing by giving one of the three full-length exams found in AP Classroom to the students. Since my class is only 45 minutes, it takes two days for them to take just the multiple-choice section. The practice exam is not something I grade; it is for diagnostic purposes only. You can have the students score their exam and fill out a chart like the one below. (This breakdown of questions by units comes from 2020 Practice Exam 1.)

The student can simply put a check or an X over the number of the question if they got the question wrong. This allows the student to self-diagnose to which units they need to devote the most time.

Image

I review using various activities in my class and allow the students to review in whatever ways work best for them. Here are some of my activities:

Image Activity 1: Review a Chapter in 5 Steps to a 5 AP Computer Science A. If you have multiple copies of this book, students can use it to review. This is especially important if the diagnostic test showed there was a unit that they just didn’t get the first time. The text in the book explains the subject, key terms are identified and defined, and review questions check the student’s understanding.

Image Activity 2: Make Your Own Review Card. You know those laminated poster-like cards they sell to students to review? They can make their own now that they know what topics they need to study. Then they walk away with personalized study cards just for them. I provide the students with a blank file folder and a variety of markers.

Image Activity 3: Flash Cards. I have a list of 150 words they might need to know on the exam. A good place to start is the list of terms and their definitions at the end of each of the 10 units in 5 Steps to a 5: AP Computer Science A. The students then make flash cards on index cards of the words they need to review. An example is provided below:

Image

Image Activity 4: Play Javoo. Here I’ve made a taboo-type game for them to play. The game has cards from which a player draws a word that they need to get their partner to say, but they can’t use the taboo words. The card below provides an example:

Image

They are trying to get their partner to say the word variable, but they can’t use the words memory, change, or declare when they are describing it to their partner. Both partners need to know the definitions.

Image Activity 5: Free-Response Questions. I have every released FRQ (since Java was introduced in 2004) printed with the scoring guidelines and canonical solution attached (you can get this from AP Central). The students can pair up or work on their own reviewing the question, thinking about or writing a response, and then checking their work with the canonical solution and scoring guideline to see if they would have received each point.

Image Activity 6: Released Multiple-Choice Questions. Just like it sounds, I print every multiple-choice question that has been released (since Java was introduced in 2004) and I sort them by unit. There is an envelope that says “Unit 1” on it and inside are all the questions ever asked that relate to unit 1. Students draw a card, read it, see if they know the answer, and then flip the card over where I have written the answer and brief explanation/trace on the back. Students can focus on the units they found they need the most help with from their diagnostic exam.

Image Activity 7: AP Classroom Videos. Students log in to their own AP Classroom and watch the videos that correspond to the units and topics they found from their diagnostic exam that they needed the most help on. Students will need to use headphones so they don’t disturb others.

Image Activity 8: Take a Practice Exam. Students can practice using the released tests found in AP Classroom. If you have multiple copies of 5 Steps to a 5 AP Computer Science A, students can take the two full-length practice exams found at the end of the book and score themselves and read explanations for the ones they missed. Taking the diagnostic test found in Chapter 3 of the book is especially useful for the students. A chart in the book, like the one provided previously, allows them to reassess their weaknesses showing the progress they’ve made and the areas they still need to study. Since taking the test takes multiple days of class, a good option is to have the students do it at home and use the class time to evaluate their progress.

I’m sure you can come up with other activities to add to these, but these can help you get started. My philosophy is the students know what they need and are mature enough to use this time wisely. I am also around to help with any individual questions they may have and to do a mini review over any topic they want my help with.

STEP 5

Become a Better Teacher Every Year

A good AP teacher tries to do better, regardless of how they measure success. If there is anything that didn’t work as well as you had hoped this year, there’s always next year to try to revise it or do something different. The message is the same whether you are a novice at AP or a veteran: Your goal is to become a better teacher every year.

A qualifying score on the AP exam is considered a 3 or better. I tell teachers that a 3 or better means “college done.” They earned a score that, at most universities, will mean they get the college credit and they do not have to take the class again. However, what about a 2? I say a 2 is “college ready.” This means that the student that makes a 2 is ready to do very well in this course when they take it in college. They have the background knowledge and, with just a little more time and practice, they will be ready to earn that A in their college computer science class. Keep this in mind when you receive the score reports in July; you can be proud of those students who made a qualifying score but also celebrate those students who are college ready!

How do you judge success? There is no right or wrong answer to this. We all teach at different schools with different students. A few students come to you with strong science and math skills and, let’s be honest, could probably pass the exam on day 1 with or without you. Most students may lack some of the skills or knowledge that is needed to do well on the AP exam. These students are the ones who need us most and, when they succeed, it is because of their effort and our support.

For all AP teachers, both new and experienced, the best thing you can do to improve is to use the Instructional Planning Report you receive after student scores are released. You can access this document in your AP Classroom. You get a breakdown of scores by unit, by question type (MCQ and FRQ), etc. This information is what you need to adjust your course for the next school year. If you notice that students struggled with a particular unit, this is where you make changes. Perhaps you spend a little extra time on this unit or maybe you find new activities to use during class. Maybe you review this unit in class before the next year’s AP exam. What if students did well on the multiple-choice but not the free-response questions? How can you get some additional professional learning to better teach them how to write? It may take a few years to see results, but with attention to the Instructional Planning Reports and with continuous adjustments to your class, your scores will soar!

It is also very important to attend an AP Summer Institute both as you begin to teach the course and every few years as you continue. To get new ideas and insights, I recommend that you take summer institutes from different instructors. I also encourage all AP teachers to apply to be a reader for the AP exam after they have three years of teaching the AP class under their belts. The AP reading is the best professional learning experience you can receive. You can apply online through the College Board’s website.

Additional Resources for Teachers

COLLEGE BOARD RESOURCES

Make sure to always use the College Board’s Course and Exam Description (CED) for the course (https://apcentral.collegeboard.org/courses/ap-computer-science-a/course). If the topic is in the CED, it will be on the AP test. If the topic is not in the CED, it is out of the scope for the course and will not be tested. This page has links to other College Board resources including AP Central and the AP Classroom, where among other things, you’ll find daily videos for each lesson. You can also share ideas and questions with other AP Computer Science A teachers at https://apcommunity.collegeboard.org/.

IDEs AND JAVA RESOURCES

Java downloads: https://www.oracle.com/java/technologies/downloads/

Java 7 API Specification: https://docs.oracle.com/javase/7/docs/api/

Java Language Coding Guidelines: https://www.comscigate.com/HW/cs201/styleGuide.htm

BlueJ: https://bluej.org

Dr. Java: https://drjava.org

Eclipse: https://eclipse.org/downloads

Jgrasp: https://jgrasp.org

IntelliJ: https://jetbrains.com/idea

CLASSROOM TOOLS

Real-time formative assessment data: https://plickers.com

Exit-ticket: https://socrative.com

Kahoot!: https://kahoot.com

Quizlet: https://quizlet.com/subject/ap-computer-science/

CS Unplugged Activity Book: https://www.csunplugged.org/en/

OTHER USEFUL WEBSITES

Hour of Code: https://hourofcode.com/us

Online coding practice problems: https://codingbat.com/java

https://practiceit.cs.washington.edu

https://albert.io/ap-computer-science-a

https://github.com

Sorting Algorithms Animations: https://toptal.com/developers/sorting-algorithms/

Tower of Hanoi: https://www.coolmathgames.com/0-tower-of-hanoi

I hope that you found this resource helpful. If you have any questions, suggestions, need additional information, or would like to report an error, I’d love to hear from you. Email me at 5stepstoa5apcsa@gmail.com.