Close
Close full mode
logoMakeCode AP CSP

Algorithms and Programming (AAP) Part 2

Overview

In Unit 5, students will deepen their understanding of basic programming concepts learned in Unit 3 (algorithms, events, loops, variables) with an emphasis on creating and writing code that is efficient, reusable, and easy to understand. Students will also learn more algorithmic and programming concepts such as: functions, parameters, return values, logic expressions, complex conditionals, and arrays. They will also learn game development concepts such as: tile maps, multiplayer games, and game extensions. Students will also learn how to use GitHub to collaborate with another student to write programs collaboratively. Students will create retro-style arcade games to write and call functions, use complex conditionals, and store and access data in arrays. In addition to creating the game, students will respond to the same writing prompts required in the Create Performance Task to better prepare them for the CPT. The unit culminates with the creation of a game that students design with a partner. When students have finished the unit project, they will answer the question: "Can computers solve every problem?"

The questions students will explore in this unit include:

  • How can we store data in a program to solve problems?
  • What might happen if you completed the steps in your regular morning routine to get ready and go to school in a different order? How might the reordering affect the decisions you make each morning?
  • How do video games group the different actions for a player based on what key is pressed on the keyboard or controller? How do apps group different actions together based on user interaction, such as pressing buttons?
  • What types of problems can be solved more easily with a computer, and what types can be solved more easily without a computer?

Estimated Time

28 days (45-50 minute classes)

Computational Thinking Practices

Computational Solution Design - Design and evaluate computational solutions for a purpose.

  • 1.A - Investigate the situation, context, or task.
  • 1.B  Determine and design an appropriate method or approach to achieve the purpose.
  • 1.C  Explain how collaboration affects the development of a solution.
  • 1.D  Evaluate solution options.

Algorithms and Program Development - Develop and implement algorithms.

  • 2.A  Represent algorithmic processes without using a programming language.
  • 2.B  Implement and apply an algorithm.

Code Analysis: Evaluate and test algorithms and programs.

  • 4.A  Explain how a code segment or program functions.
  • 4.B  Determine the result of code segments.

Responsible Computing: Contribute to an inclusive, safe, collaborative, and ethical computing culture.

  • 6.A  Collaborate in the development of solutions.

Big Ideas

Big Idea 3: Algorithms and Programming (AAP)

Programmers integrate algorithms and abstraction to create programs for creative purposes and to solve problems. Using multiple program statements in a specified order, making decisions, and repeating the same process multiple times are the building blocks of programs. Incorporating elements of abstraction, by breaking problems down into interacting pieces, each with their own purpose, makes writing complex programs easier. Programmers need to think algorithmically and use abstraction to define and interpret processes that are used in a program.

Big Idea 1: Creative Development (CRD)

When developing computing innovations, developers can use a formal, iterative design process or a less rigid process of experimentation. While using either approach, developers will encounter phases of investigating and reflecting, designing, prototyping, and testing. Additionally, collaboration is an important tool at any phase of development, because considering multiple perspectives allows for improvement of innovations.

Enduring Understandings

AAP-1 To find specific solutions to generalizable problems, programmers represent and organize data in multiple ways.

AAP-2 The way statements are sequenced and combined in a program determines the computed result. Programs incorporate iteration and selection constructs to represent repetition and make decisions to handle varied input values.

AAP-3 Programmers break down problems into smaller and more manageable pieces. By creating procedures and leveraging parameters, programmers generalize processes that can be reused. Procedures allow programmers to draw upon existing code that has already been tested, allowing them to write programs more quickly and with more confidence.

AAP-4 There exist problems that computers cannot solve, and even when a computer can solve a problem, it may not be able to do so in a reasonable amount of time.

Projects and Major Assessments

  • Collaborative coding project
  • Sorting algorithm project
  • End of unit project

Materials Needed:

  • Unit 5 Educator PowerPoint decks
  • Unit 5 Student handouts

Internet access to these sites

📘 Unit 4 - IOC — Previous
Privacy and Security in Computing Innovations
Next — 📘 Unit 5 - AAP Part 2
Unit 5 Vocab