Close
Close full mode
logoMakeCode AP CSP

Algorithms and Programming (AAP) Part 1

Overview

In Unit 3, students will be introduced to programming concepts while using Microsoft MakeCode Arcade. Students will learn the three types of algorithm implementations: sequencing, selection, and iteration. Students will develop an understanding of programming concepts such as algorithms, program flow, events, variables (sprites, integers, strings, and Booleans), conditional statements, randomness, loops, projectiles, and text-based programming. Students will apply computational thinking practices (i.e. iterative design, debugging) to their work throughout the unit. Students will also explore practice tracking the path of a robot according to an algorithm and practice code tracing that utilizes sequencing, selection, and iteration. The unit culminates with students implementing what they learned to create a program that incorporates all three algorithm implementations (sequencing, selection, and iteration) and either solves a problem or expresses creativity through game development.

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

22 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.

Projects and Major Assessments

  • Sprite story (students will create three versions over the course of the unit as they learn more concepts)
  • My 20% Tip App
  • Nested conditional project
  • Coin flip program
  • Die roll program
  • Unit project

Materials Needed:

  • Unit 3 Educator PowerPoint decks
  • Unit 3 Videos
  • Unit 3 Student handouts
  • Internet access to these sites:
  • MakeCode Arcade
  • What's an algorithm? - David J. Malan
  • Why algorithms are called algorithms | BBC Ideas
  • What Are Sprites and How They Work in Games?
  • Modulus Operator | Python Tutorial | ProgrammerParker
  • Activity: Random Sprite Location
  • Is Anything Truly Random?
  • Projectiles from Sprites Tutorials
📘 Unit 2 - CSN — Previous
How Do Computers Communicate with Each Other?
Next — 📘 Unit 3 - AAP Part 1
Vocab