2. Why Apps Matter & how to Make them
Overview & Core Ideas
Overview:
In this unit, students should achieve some success at making a simple app to introduce CS in a way that motivates students with different levels of CS experience. Teachers introduce the process of creating an app using App Lab tutorials and apps and real world apps.
Teachers should plan to have an outside speaker or some sort of presentation that brings real-world CS use into the classroom.
Purpose
Students will be able to
relate computer science to contexts outside of the classroom, for example work, play, or current events
understand what an app is
use mobile apps
remix a basic app
follow directions to create a simple app
pair program as a driver and a navigator
program events for design elements using block-based code
Core Ideas
Remember:
computers are tools that work according to rules like literalness and sequence
regular, relatable people like you use CS in real-life
App design requires problem-solving
You can solve problems using a systematic approach
App Lab apps have app design elements or objects (such as screens and buttons) that people can write programs for.
App Lab programmers use UI Controls to make programs
Events and event handlers trigger programs; the onEvent block connects programs to design elements and "holds" their programs
You read, write, and think code; driving and navigating when pair programming exercises these skills in different ways.
Links
Slide Deck - Unit 2 Overview & Resources
Spreadsheet of Links - Unit Resources
Core Modules
Speaker Visit
Plan a Speaker Visit
As early as possible or appropriate in your course, have an engineer, designer, scientist, doctor, musician, student, or any other person who utilizes Computer Science make a virtual or in-person visit to your classroom. Connecting computer science to people outside of the classroom helps students to make connections between Computer Science and their own lives and aspirations.
Links:
Slide Deck - Unit 2 Speaker Classroom Opportunities
Activity - https://www.amazonfutureengineer.com/classchats
Activity - https://www.amazonfutureengineer.com/
Activity - https://www.skypeascientist.com/
Activity - https://code.org/csjourneys/myjourneychats#chat10
Activity - https://code.org/volunteer/local
Activity - https://edu.google.com/intl/ALL_us/code-with-google/csedweek/
Classroom
Practice
Practice
Pair Programming: Why do it?
Overview
Pair Programming is an approach to writing code where two programmers work side-by-side. Students can pair program on module activities and individual projects.
One person is the "driver" and controls the keyboard and mouse and does the typing.
Their partner is the "navigator" and follows all the work and makes suggestions and thinks ahead.
The pairs exchange roles at regular intervals.
Watch the video below.
Students and (teachers) find partners, and try it with an app one is working on.
Discuss:
Why might this be a good idea?
What might be some challenges to this in the classroom?
Do you think professional programmers work this way?
Purpose
Pair programming allows students and teachers to practice different aspects of programming separately. Students can both take advantage of their strengths and practice less familiar skills.
Links:
Slide Deck - Pair Programming
Lesson Plan - Pair Programming
Video - Pair Programming
Module 1
App Lab - Intro to App Lab (part 2) & the Meow App
Overview:
Intro to App Lab is Lesson 7 in Code.org's Hour of Code sequence. Students started Intro to Appl Lab in Unit 1. Some students may be able to work through its activities and levels independently. Other students may need additional instruction or scaffolding. Teachers should plan how they will support different students' needs. The following activity can be done together as a class with teacher led instruction.
Purpose:
The Meow App lesson can be used to introduce a basic app. It can place the Intro to App Lab tutorial in the context of creating apps that connect to student interests. The cat image and sounds can be replaced with an image or sound appropriate for student or class topics.
Intro to App Lab begins to address coding knowledge needed for the Meow App at Level 5.
Links:
Core
Slide Deck - App Lab Getting Started
Activities - Intro to App Lab, level 5
Lesson Plan - Meow App
Model Product - The Meow App
Resources
Reference - App Lab Basics Guide
Module 2
Button Creation
Overview:
This tutorial is designed to be used to help students easily add images and sounds into an App Lab project and to make them switch/change while also teaching (or reviewing with) them about creativity, copyright, and fair use.
Links:
Slide Deck - Creating Buttons with Images & Sounds
Video - Make it Interactive (onEvent)
Lesson Plan - Using a button to change images
Lesson Plan - Using a Button to Change Images in App Lab and Add Sounds
Video - App Lab - Images and Sounds
Reference - Creativity, Copyright and Fair Use
Resource - Sound Clip Resources
Resource - Images/Picture Resources
Unplugged Module
Problem Solving
Overview:
The class works in groups to design paper towers that will be as tall as possible. At the end of the lesson groups reflect on their experiences with the activity and make connections to the types of problem solving they will be doing for the rest of the course.
Purpose:
What can help us to work together and solve problems as a team? The class works in groups to design paper towers that will be as tall as possible. At the end of the lesson groups reflect on their experiences with the activity and make connections to the types of problem solving they will be doing for the rest of the course.
Teachers should develop a routine for students to structure a self-directed and self-regulated problem-solving approach. Part of CS is learning to solve problems by experimenting with the tools provided rather than repeating a "right answer." Paper towers and computers allow students to try and test possible solutions to problems.
Links:
Slide Deck - Unit 2 Module 3
Lesson Plan - 7-Step Problem Solving Lesson
Slide Deck - The Seven-step Problem Solving ( or Design) Process
Module 3
App Research Project
Overview:
Students create or remix an app that
teaches about or engages the app user in a subject/topic assigned by the teacher OR
teaches about a student topic or interest developed in the Unit 1 framing activity
The topic for the example below was "Inventors," however the framing lesson (vision board or inventing a better world) or an integrated curriculum connection for Unit 1 should provide topics for this project.
Purpose
Students will
Civics Connection
This project can serve as an exploration of the Identity and Community aspects of Culturally Responsive Pedagogy goals and a basis for a final project.
Some ideas:
Collecting and sharing identity and community stories using text, images, and recordings.
Links:
Slide Deck - App Research Project
Lesson Plan - Invention App Lesson Plan
Lesson Plan/Slide Deck - Invention App PPT
Resource - Invention App Grading Rubric
Resource List - Example App Links
More
Resources
App Design Process Tools
App design takes planning and, well, designing. Unit 3 in Code.org's Computer Science Principles course (CSP) is an Intro to App Design aimed at older students. It can be modified for your age group. Lesson 3 and Lesson 4 from the unit address designing an App. Below are activities and tools from that unit and others that teach and support the app design process.
Links
Lesson Plan - CSP 20-21 App Development Planning Guide
Activity - Project Designing an App Part 1
Activity - Project Designing an App Part 2
Resource - CSP App Development Planning Guide; Teachers should decide how and when to implement and scaffold activities in this planning guide.
Resource - App Lab Final Project Proposal
Resource - App Design Worksheet
Resource - Free printable sketching and wireframing templates tripwire magazine worksheet template
Resource - Iphone sketch templates
Resource - iphone-wireframe
Activity - EdPuzzle. App Lab: Making a Simple App
Activity - Edpuzzle. Code.org Semester Hackathon Project - Beginner App Tutorial
Activity and Resources - Soundboard App Instructions; Instruction for a simple and fun app; Students and teachers can be remix the app or borrow code to suit their own projects.
Unplugged activity
Paper Airplane Algorithms
Overview
In this lesson, students will relate the concept of algorithms back to everyday activities. After discussing their steps, students will make paper planes using an algorithm. The goal here is to start building the skills to translate real world situations to online scenarios and vice versa.
Purpose
This lesson can help students see that an "algorithm" is just a list of steps that someone can take to finish a task. Students will also learn that the order of the individual steps can make a difference in the final product. Connect this activity to the significance block sequence in programs.
Links:
Slide Deck - Unplugged Activity
Lesson Plan - Paper Planes Activity
Unplugged activity
Designing for Accessibility
Overview
In this lesson, students will learn about accessibility and the value of empathy through brainstorming and designing accessible solutions for hypothetical apps. This lesson can be used as mini-lesson at the beginning of a session when students will be working on projects.
Purpose
Through learning about accessibility, students recognize the impacts of computing beyond their own lives. Accessibility might not seem like a relevant CS topic, but creating technology that is accessible for underserved users helps make tech better for everyone else as well.
Links
Slide Deck - Unplugged Activity
Lesson Plan - Designing for Accessibility
The Site is under construction!