14 Required Lab Time and Suggested Labs

AP Computer Science A Prep, 2024 - Rob Franek 2023

14 Required Lab Time and Suggested Labs
Part V: Content Review for the AP Computer Science A Exam

This book is intended to help you prepare for the AP Computer Science A Exam, but we would be remiss if we didn’t discuss the lab requirements for the course, as outlined by the College Board. The AP Computer Science A course must include a minimum of 20 hours of hands-on, structured lab experiences to engage the student in individual and group problem solving. The College Board puts it this way: each AP Computer Science A course must include a substantial laboratory component in which you design solutions to problems, express your solutions precisely (i.e., in the Java programming language), test your solutions, identify and correct errors (when mistakes occur), and compare possible solutions. Collectively, these laboratory experiences and activities should contain the following characteristics:

· Explore computing in context at a significant level, building upon existing code that provides examples of good style and appropriate use of programming language constructs.

· Contain a significant problem-solving component in which you study alternative approaches for solving a problem, solve new problems, or modify existing code to solve altered problems.

· Provide you with experience working with programs involving multiple interactive classes and may involve decomposing a program into classes and using inheritance and other object-oriented concepts as identified in the AP Computer Science A topic outline.

The College Board has posted 7 Student Lab Guides to their website. Here’s a rundown of what those are:

· Consumer Review—In this lab, students explore the persuasive power of words. Students learn about sentiment value and how this can be used to construct or modify a review to be more positive or negative using string manipulation.

· Data—In this lab, students will discuss the importance of data in making decisions, learn how to set up and use a third-party library for data collection, and learn how to process this data once it has been read into a program. They will put these skills together to find relevant data and answer a specific question of interest.

· Steganography—Steganography is the practice of concealing messages or information within other non-secret text or data. Students will use the same code from Picture Lab (see a few Labs down) to explore the concepts of steganography and 2D arrays, hiding images or text inside other images.

· Celebrity—Students will discuss class design as it relates to the charades-like game Celebrity. This lab includes inheritance as the basis for one of the activities and also includes a Graphical User Interface (GUI).

· Elevens—This activity is related to a simple solitaire game called Elevens. Students learn the rules of Elevens and then play it using the supplied Graphical User Interface.

· Magpie Chatbot—Students explore some of the basics of Natural Language Processing. As they explore, they will work with a variety of methods of the String class and practice using if statements. Students will trace a complicated method to find words in user input.

· Picture—Students write methods that modify digital pictures. In writing these methods, they will learn how to traverse a two-dimensional array of integers or objects. Students will also be introduced to nested loops, binary numbers, interfaces, and inheritance.

Go to the AP Computer Science A section of the College Board’s website for more information about each of these labs, plus downloadable PDFs. The location of these Labs is apcentral.collegeboard.org/courses/ap-computer-science-a/classroom-resources/lab-resource-page.