Lesson 1.3 Algorithms in Python

The goal of this lesson is for students to understand all information as bits and to transfer their understanding of algorithms to a new language. The hook is the opportunity for students to be creative with their own visual work. Students are introduced to functional, imperative, and declarative programming paradigms with Python® programming language, again learning to use variables in the most common roles. Variable types, arrays, and array manipulations are introduced. Students learn how data are digitally represented, making macroscopic magnetic storage in an unplugged activity and manipulating image files using both application programming interfaces (APIs) and direct manipulation of the data. Students read, discuss, and write about intellectual property and privacy issues that stem from our ability to reproduce and automate analysis of multimedia data. Students conclude the lesson by collaborating to manipulate data with Python, creating an image artifact.

    Essential Questions
    • What can be represented by binary data?
    • How does abstraction make the software development process easier?
    • What are the practices that lead to effective collaboration?
    • What role does creativity play in algorithmic programming?