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


Core Ideas


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

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. 

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:


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 PlanMeow 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 

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  

ResourceIphone 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!