AP Exam Review & Exam | Curriculum Home
Daily Lesson Plans
This material contains a comprehensive collection of 90-minute lesson plans for a semester’s worth of instruction in AP Computer Science Principles to serve as a companion to this textbook. Each lesson plan includes clear objectives, related requirements, a list of necessary materials, a detailed procedure, an assessment method, and a reflection section. The lessons are designed to be engaging and interactive, incorporating a variety of teaching techniques to help students understand and apply the key concepts of computer science. In order to modify the course for a year-long course with approximately 180 instruction days, each lesson plan can easily be spread across two days of instruction.
Textbook
Computer Science Principles: The Foundational Concepts of Computer Science, 5th Edition, Kevin Hare – Yellow Dart Publishing – 2024
Daily Practice Questions
Enjoy complimentary access to a daily selection of 5 random questions from our extensive pool of over 500 thoughtfully crafted questions – even if you’re not a member. Dive into the excitement of learning with these free, rotating questions that change every 24 hours, offering a taste of the variety and depth our content and book have to offer.
Lessons:
- Lesson 79-87 | Exploring Other Programming Languages
- Lesson 88 | Documentary: The Perfect Weapon
- Lesson 89 | Documentary: Coded Bias
- Lesson 90 | Movie: War Games
Unit Duration:
- 18 hours | 12 class periods (90-minutes)
Project, Test, and Quiz Resources:
Lesson 79-87 | Exploring Other Programming Languages
Lesson Objectives:
- To expose students to different programming languages beyond the scope of the AP Computer Science Principles curriculum.
- To encourage students to engage in independent learning and problem-solving.
- To foster collaboration and teamwork skills.
Related Requirements:
- Prior knowledge of at least one programming language.
- Access to online resources and programming tools.
- Ability to work in small groups of 2-3 students.
Lesson Materials:
- Laptops or computers with internet access.
- Programming textbooks or online tutorials.
- Access to programming forums or communities.
- Collaboration tools such as Google Docs or Trello.
Lesson Procedure:
- Day 1-3:
- Introduce the concept of exploring other programming languages and explain the goals of the nine-day project.
- Provide a list of programming languages and resources for students to choose from.
- Have students form small groups of 2-3 students and select a programming language to explore.
- Provide time for students to research and familiarize themselves with the programming language through textbooks, online tutorials, and forums.
- Encourage students to ask questions and seek feedback from their peers and the teacher.
- Have students outline their project plan and submit it for feedback.
- Day 4-7:
- Have students begin implementing their project plan.
- Encourage students to use online resources and programming tools to overcome challenges and solve problems.
- Monitor students’ progress and provide feedback on their work.
- Facilitate group discussions to share progress, ideas, and solutions.
- Encourage students to seek help from the teacher or their peers if they encounter difficulties.
- Day 8-9:
- Provide time for students to complete and refine their projects.
- Encourage students to test their projects and seek feedback from their peers.
- Have students present their projects to the class and reflect on their learning experiences.
Assessment Method:
- Evaluate the quality and creativity of the projects.
- Monitor students’ engagement and participation in group discussions and feedback sessions.
- Encourage students to provide self-assessments and reflections on their learning experiences.
Lesson Reflection:
- What were the most challenging aspects of exploring a new programming language and creating a project in a group?
- How did online resources and programming tools help students overcome challenges and solve problems?
- What were the most successful strategies for promoting collaboration and teamwork among group members?
- How can the lesson plan be improved for future classes?
Mapped Standards:
College Board AP Computer Science Principles (CSP) Framework:
- AAP-3.B.2 Procedural abstraction allows a solution to a large problem to be based on the solution of smaller sub-problems. This is accomplished by creating procedures to solve each one of the sub-problems.
- AAP-3.B.3 The process of subdividing a computer program into separate sub-programs is called modularity.
- AAP-3.B.5 Using parameters allows procedures to be generalized, enabling the procedures to be reused with a range of input values or arguments.
- AAP-3.B.6 Using procedural abstraction helps improve code readability.
- AAP-3.B.7 Using procedural abstraction in a program allows programmers to change the internals of the procedure (to make it faster, more efficient, use less storage, etc.) without needing to notify users of the change as long as what the procedure does is preserved.
- AAP-3.D.1 A software library contains procedures that may be used in creating new programs.
- AAP-3.D.2 Existing code segments can come from internal or external sources, such as: libraries; and previously written code.
- AAP-3.D.3 The use of libraries simplifies the task of creating complex programs.
- AAP-3.D.4 Application program interfaces (APIs) are specifications for how the procedures in a library behave and can be used.
- AAP-3.D.5 Documentation for an API/library is necessary in understanding the behavior(s) provided by the API/library and how to use them.
- AAP-3.E.1 The exam reference sheet provides RANDOM(a, b) which generates and returns a random integer from a to b, including a and b. Each result is equally likely to occur. For example, RANDOM(1, 3) could return 1, 2, or 3.
- AAP-3.E.2 Using random number generation in a program means each execution could produce a different result.
- AAP-3.F.1 Simulations are abstractions of more complex objects or phenomena for a specific purpose.
- AAP-3.F.2 A simulation is a representation that uses varying sets of values to reflect the changing state of the phenomenon.
- AAP-3.F.3 Simulations often mimic real-world events with the purpose of drawing inferences allowing investigation of the phenomenon without the constraints of the real world.
- AAP-3.F.4 The process of developing an abstract simulation involves removing specific details or simplifying functionality.
- AAP-3.F.5 Simulations can contain bias derived from the choices of elements of the real-world that were included or excluded.
- AAP-3.F.6 Simulations are most useful when real-world events are impractical for experiments (i.e., too big, too small, too fast, too slow, too expensive or too dangerous).
- AAP-3.F.7 Simulations facilitate the formulation and refinement of hypotheses related to the objects or phenomena under consideration.
- AAP-3.F.8 Random number generators can be used to simulate the variability that exists in the real-world.
- AAP-4.A.1 A problem is a general description of a task that may (or may not) be solved algorithmically. An instance of a problem also includes specific input. For example, sorting is a problem, sorting the list (2,3,1,7) is an instance of the problem.
- AAP-4.A.2 A decision problem is a problem with a yes-no answer. An optimization problem is a problem with the goal of finding the “best” solution among many. For example, is there a path from A to B? What is the shortest path from A to B?
- AAP-4.A.3 Efficiency measures the number of steps an algorithm requires before it terminates. Efficiency is a function of the size of the input. EXCLUSION STATEMENT (EK AAP-4.A.3): Formal analysis of algorithms (Big-O) and formal reasoning using mathematical formulas are outside the scope of this course and the AP Exam.
- AAP-4.A.4 Determining an algorithm’s efficiency is done by reasoning formally or mathematically about the algorithm.
- AAP-4.A.8 Some problems cannot be solved in a reasonable amount of time because there is no efficient algorithm for solving them. In these cases, approximate solutions are sought.
- AAP-4.A.9 A heuristic is an approach to a problem that produces a solution that is not guaranteed to be optimal, but that may be used when techniques that are guaranteed to always find an optimal solution are impractical. EXCLUSION STATEMENT (AAP-4.A.9): Specific heuristic solutions are outside the scope of this course and the AP Exam.
- AAP-4.B.2 An undecidable problem is one in which no algorithm can be constructed that is always capable of providing a correct yes-or-no answer. EXCLUSION STATEMENT (EK AAP-4.B.2): Determining whether a given problem is undecidable is outside the scope of this course and the AP Exam.
- AAP-4.B.3 An undecidable problem may have some instances that have an algorithmic solution, but there is no algorithmic solution that solves all instances of the problem.
- CRD-2.B.4 The behavior of a program is how a program functions during execution and is often described by how a user interacts with it.
- CRD-2.B.5 A program can be described broadly by what it does or in more detail by both what the program does and how the program statements accomplish this function.
- CRD-2.E.3 A development process that is iterative requires refinement and revision based on feedback, testing or reflection throughout the process. This may require revisiting earlier phases of the process.
- CRD-2.E.4 A development process that is incremental is one that breaks the problem into smaller pieces, and makes sure each piece works before adding it to the whole.
- CRD-2.F.2 Investigation in a development process is useful in understanding, identifying the constraints, concerns, and interests of the people who will use the program.
- CSN-2.A.1 Sequential computing is a computational model in which operations are performed in order one at a time.
- CSN-2.A.2 Parallel computing is a computational model where the program is broken into multiple smaller sequential computing operations some of which are performed simultaneously.
- CSN-2.A.3 Distributed computing is a computational model in which multiple devices are used to run a program.
- CSN-2.A.4 Comparing efficiency of solutions can be done by comparing the time it takes them to perform the same task
- CSN-2.A.5 A sequential solution takes as long as the sum of all of its steps.
- CSN-2.A.6 A parallel computing solution takes as long as its sequential tasks plus the longest of the tasks done in parallel.
- CSN-2.A.7 The “speedup” of a parallel solution is measured in the time it took to complete the task sequentially divided by the time it took to complete the task when done in parallel.
- CSN-2.B.1 Parallel computing consists of a parallel portion and a sequential portion.
- CSN-2.B.2 Solutions that use parallel computing can scale more effectively than solutions that use sequential computing.
- CSN-2.B.4 Distributed computing allows much larger problems to be solved quicker than they could be solved using a single computer.
- CSN-2.B.5 When increasing the use of parallel computing in a solution, the efficiency of the solution is still limited by the sequential portion. This means at some point, adding parallel portions will no longer increase efficiency.
- IOC-1.A.1 People are creators of computing innovations.
- IOC-1.A.3 The total effects of a computing innovation are not always anticipated in advance.
- IOC-1.B.4 It is not possible for a programmer to consider all the ways a computing innovation can be used.
- IOC-1.B.5 Often computing innovations have had a beneficial effect by leading to advances in other fields.
- IOC-1.B.6 Rapid sharing of the program or the results of running a program with a large number of users can result in significant impacts beyond the intended purpose or control of the programmer.
- IOC-1.C.2 The digital divide refers to differing access to computing devices and the Internet based on socioeconomic, geographic, or demographic characteristics.
- IOC-1.C.5 The digital divide is affected by individuals, organizations and government actions.
- IOC-1.E.2 Science has been impacted by using scale and “citizen science” to solve scientific problems.
- IOC-1.E.3 Citizen science is scientific research conducted in whole or part by individuals that contribute relevant data to research using their own computing devices.
- IOC-1.E.4 Crowdsourcing is the practice of obtaining input or information from a large number of people via the Internet.
- IOC-1.E.5 Human capabilities can be enhanced by collaboration via computing.
- IOC-1.E.6 Crowdsourcing offers new models for collaboration, such as connecting people with jobs and businesses or social causes with funding.
- IOC-1.F.2 Ease of access and distribution of digitized information raises intellectual property concerns regarding ownership, value, and use.
- IOC-1.F.3 Measures should be taken to safeguard intellectual property.
- IOC-1.F.9 Computing can play a role in social and political issues which in turn often raise legal and ethical concerns.
- IOC-1.F.10 The digital divide raises ethical concerns around computing.
- IOC-1.F.11 Computing innovations can raise legal and ethical concerns. Some examples of these include: the development of software that allows access to digital media downloads and streaming; the development of algorithms that include bias; and the existence of computing devices that collect and analyze data by continuously monitoring activities.
Lesson 88 | Documentary: The Perfect Weapon
Lesson Objectives:
- To increase students’ understanding of the role of cyber warfare in international conflicts.
- To analyze the impact of cyber attacks on society and national security.
- To encourage critical thinking and discussion about the ethical implications of cyber warfare.
Related Requirements:
- Access to the documentary “The Perfect Weapon” on HBO.
- Prior knowledge of basic computer and internet concepts.
Lesson Materials:
- Projector or TV screen for streaming the documentary.
- Note-taking materials for students.
Lesson Procedure:
- Introduce the documentary and its topic of cyber warfare.
- Provide a brief overview of the documentary and its production.
- Start streaming the documentary and have students take notes.
- Pause at key points in the documentary to facilitate discussions and answer questions.
- After the documentary, facilitate a group discussion about the key themes and messages of the documentary.
- Encourage students to provide their own perspectives and insights on the topic.
- Provide additional resources for students who want to learn more about cyber warfare.
Assessment Method:
- Evaluate students’ note-taking and active participation during the documentary screening and discussion.
- Encourage students to provide a written reflection on their learning experience.
Lesson Reflection:
- What was the most surprising or impactful part of the documentary for you?
- How did the documentary change your perspective on cyber warfare and its implications?
- What ethical considerations should be taken into account when conducting cyber warfare?
- How can individuals and organizations protect themselves from cyber attacks?
Mapped Standards:
College Board AP Computer Science Principles (CSP) Framework:
- CSN-1.E.1 The Internet has been engineered to be fault-tolerant, with abstractions for routing and transmitting data.
- CSN-1.E.2 Redundancy is the inclusion of extra components that can be used to mitigate failure of the system if other components fail.
- IOC-2.C.2 Keylogging is the use of a program to record every keystroke made by a computer user, in order to gain fraudulent access to passwords and other confidential information.
- IOC-2.C.6 Unsolicited emails, attachments, links, and forms in emails can be used to compromise the security of a computing system. These can come from unknown senders or from known senders whose security has been compromised.
- IOC-2.C.7 Untrustworthy (often free) downloads from freeware or shareware sites can contain malware.
Lesson 89 | Documentary: Coded Bias
Lesson Objectives:
- To increase students’ awareness of the biases present in artificial intelligence systems.
- To analyze the impact of biased AI on society and individuals.
- To encourage critical thinking and discussion about the ethical implications of AI and technology.
Related Requirements:
- Access to the documentary “Coded Bias” on Netflix.
- Prior knowledge of basic computer and internet concepts.
Lesson Materials:
- Projector or TV screen for streaming the documentary.
- Note-taking materials for students.
Lesson Procedure:
- Introduce the documentary and its topic of artificial intelligence and bias.
- Provide a brief overview of the documentary and its production.
- Start streaming the documentary and have students take notes.
- Pause at key points in the documentary to facilitate discussions and answer questions.
- After the documentary, facilitate a group discussion about the key themes and messages of the documentary.
- Encourage students to provide their own perspectives and insights on the topic.
- Provide additional resources for students who want to learn more about AI and bias.
Assessment Method:
- Evaluate students’ note-taking and active participation during the documentary screening and discussion.
- Encourage students to provide a written reflection on their learning experience.
Lesson Reflection:
- What was the most surprising or impactful part of the documentary for you?
- How did the documentary change your perspective on artificial intelligence and its potential biases?
- What ethical considerations should be taken into account when developing and using AI systems?
- What actions can individuals and organizations take to address the issue of bias in AI?
Mapped Standards:
College Board AP Computer Science Principles (CSP) Framework:
- IOC-1.D.2 Programmers should take action to reduce bias in algorithms used for computing innovations as a way of combating existing human biases.
- IOC-1.D.3 Biases can be embedded at all levels of software development.
Lesson 90 | Movie: War Games
Lesson Objectives:
- To increase students’ awareness of the potential consequences of computer hacking and cyber security breaches.
- To analyze the impact of technology on national security and international relations.
- To encourage critical thinking and discussion about the ethical implications of using technology in warfare.
Related Requirements:
- Access to the movie “WarGames.”
- Prior knowledge of basic computer and internet concepts.
Lesson Materials:
- A DVD or streaming service with access to the movie “WarGames”.
- Projector or TV screen for screening the movie.
- Note-taking materials for students.
Lesson Procedure:
- Introduce the movie and its topic of computer hacking and cyber security.
- Provide a brief overview of the movie and its production.
- Start screening the movie and have students take notes.
- Pause at key points in the movie to facilitate discussions and answer questions.
- After the movie, facilitate a group discussion about the key themes and messages of the movie.
- Encourage students to provide their own perspectives and insights on the topic.
- Provide additional resources for students who want to learn more about cyber security and its impact on national security.
Assessment Method:
- Evaluate students’ note-taking and active participation during the movie screening and discussion.
- Encourage students to provide a written reflection on their learning experience.
Lesson Reflection:
- What was the most surprising or impactful part of the movie for you?
- How did the movie change your perspective on computer hacking and its potential consequences?
- What ethical considerations should be taken into account when using technology in warfare?
- How can individuals and organizations protect themselves from cyber attacks?
Mapped Standards:
College Board AP Computer Science Principles (CSP) Framework:
- OC-1.B.2 Some of the unintended ways computing innovations can be used may have a harmful impact on society, economy, or culture.
- IOC-1.B.3 Responsible programmers try to consider the unintended ways their computing innovations can be used and the potential beneficial and harmful effects of these new uses.
- IOC-2.B.7 Computer virus and malware scanning software can help to protect a computing system against infection.
AP Exam Review & Exam | Curriculum Home
Membership
For those hungry for more, our membership unlocks the full spectrum of over 500 questions, providing a comprehensive exploration of the diverse topics covered in our content and book. Delve deeper into the world of computer science, enhance your understanding, and master the principles that matter. Our membership also grants you exclusive access to detailed units from the comprehensive book and on our website. From foundational concepts to advanced topics, our units offer invaluable resources to support your learning journey. Elevate your exploration of computer science and make the most of your membership!
Ready to take the plunge into the world of computer science? Start Your Membership Today and enjoy free daily questions along with a treasure trove of over 500 more!
Subscribe to our Newsletter

AP Computer Science Principles/Teacher Certification Prep Course
Get full access to:
- Comprehensive explanations of the concepts
- 500+ Practice multiple choice questions
- Customizable Test Generator
- 90+ Curated videos
- 15 Projects, Tests, and Quizzes (includes all à la carte items)
- 12 Units of materials
- Built-in Block-to-JavaScript practice tool
- All future resources and questions for life!
AP Exam Review & Exam | Curriculum Home
