Day 09 - Bits & Bytes - 01.14.16

Unit 1 - Algorithms, Graphics, and Graphical User Interfaces
  • Lesson 1.1 Algorithms and Agile Development
    • In this lesson, you will discover the fun of creating an algorithm to accomplish a task. You can take or create pictures and audio recordings to create a game or story. You will learn how to program a computer to follow your plan and will learn about how to use variables to implement that plan. At the conclusion of the lesson, you will learn more about software design and dig into designing and creating your own Scratch program using pair programming.
    • Essential Questions
      • How do computers perform complicated tasks built from simple instructions?
      • How are variables used in programming?
      • How do programmers approach a complicated problem?
      • What role does creativity play in algorithmic programming?
      • What makes for a good process for collaborative software development?
  • Lesson 1.2 Mobile App Design
    • In the problem at the end of this lesson, you will create an Android app of your own design. The goal of the lesson is for you to build your skill analyzing and creating code, especially by thinking about the roles of variables. The lesson begins with an introduction to binary representation of numbers, letters, colors, images, and any other digital data. You will be introduced to data abstraction, which is the idea that programs can handle complicated data like images without the programmer having to worry about low-level details like zeroes and ones. You will work with and make minor modifications to two App Inventor programs and build your ability to analyze a complex program. As you conclude the lesson by designing and creating your own Android app, you will practice pair programming and the Agile software design process.
    • Essential Questions
      • What do programming languages and development environments have in common?
      • What can be represented by binary data?
      • What makes for a good software development process?
      • How can a program be analyzed, understood, and modified?