3. Research and Communication- Putting Apps to work

Core Modules

Module 0

Collaboration: Dividing up the Work

Overview

When app developers collaborate on a project, they often want to work on the app at the same time. They use and sometimes create tools to keep themselves and their work organized. This module presents a tool and process to manage an App Lab project.

Purpose

Students will use an editable, shared slideshow to collaborate and organize their projects, 


Links

Collaboration Slide Deck Template


Module 1

Building a Multi-screen App

Overview:

Teachers and students can use this lesson or its separate activities to extend, support, review, modify, or enhance Invention App Lesson project work from in Unit 2. Students continue to design and create a 4-screen app (number of screens TBD by teachers and students) on a topic of their choosing. Teachers should encourage students to collaborate with one or more classmates as "thought partners." 

Purpose:

Students should design and develop apps with

Links:

Core

Slide Deck - Building an App: Multi-screen App

Lesson Plan  - Building and App: Multi-screen App

Lesson Plan - Building a Multi-Screen App Slide Walkthrough 

Tutorial (Code Studio) - Building a Multi-Screen App Activity  


Resources

Tutorial (Code Studio) - Event-Driven Programming; A self-guided tutorial with more detail than Intro to App Lab; Teacher can should plan how to if and an how they can use these activities to support students' project work

Slide Deck - Designing Apps for Accessibility;

Resource10 Awesome Accessibility Apps (UPDATED!); Examples of accessible apps and apps that increase access to technology


Examples

Past Ideas and Starters

Overview:

Past CS Pathways students have had ideas for apps that can serve their communities. Here are examples of some finished apps and apps in progress to inspire or challenge you. Some of these apps are un-coded designs, some have finished code, and some need debugging. Please give credit to the originators. If you don't have information about who made the app, please link to the original app in your code comments.


Examples

Coding Terms and Languages App

Trash Sorter

How are you doing today? 

8th Grade Math Solutions 

Library and Short Story App

Homelessness Information App

Lowell Rourke Bridge: A community landmark and issue

Mental Health App

Other Examples

Module 2

Introduction to Variables

Overview:

Variables are how computer programs store values that can change in a program, like user choices or scores. Variables allow students to add features to apps to make them even more interactive. Students can already use UI controls to program apps to do things based on a single user choice. For example, show the message "You are right" when the user clicks the correct button. Variables can be used to program apps to do things based on combinations of choices. For example, count and display the number of times the user click the correct button.  They can allow apps to do things based on combinations of choices, too (think online personality tests). 


This module contains instruction about programming with variables. Using sample apps, students can explore and investigate how variables work and practice using them. They will make or modify their own apps to include functionality requiring variables. Teachers should expect to actively guide students through learning about and using variables.


The Code.org lessons/tutorials in this module are come from different curricula. They use Code.org's Explore, Investigate, Practice, Make (EIPM) sequence. Teachers should familiarize themselves with this approach as they adapt instruction to their classes. Videos about each EIPM step are in the supplements section. The Practice and Make activities include apps that can be remixed or code that can be used in student projects.


Purpose:

Students will be able to


Links:

Core

Slide Deck - Introduction to Variables 

Video - Guide to Explore, Investigate, Practice, Make Lessons

Resource - Short Information Sheet on Explore, Investigate, Practice, Make Sequence  

Lesson Plan - Lesson 1, Variables Explore

Tutorial (Code Studio) - Introduction to Variables, Lesson 1 Explore 

Classroom Slides - CSP Unit 4 - Variables, Conditionals, and Functions; Slides 5 to 67 cover lessons on variables. 

Lesson Plan - Lesson 2, Variables Investigate

Tutorial (Code Studio) - Introduction to Variables, Lesson 2 Investigate

Lesson Plan - Lesson 3, Variables Practice

Tutorial (Code Studio) - Introduction to Variables, Lesson 3 Practice 

Lesson Plan - Lesson 4, Variables Make

Tutorial (Code Studio) - Introduction to Variables, Lesson 3 Make  

 

Resources

Video -  CS Discoveries Introduction to Variables I

Video - Introduction to Variables II

Video Tutorial - Keeping Score Part 1 

Video Tutorial - Keeping Score Part 2 

Video Tutorial - Variables

Video Tutorial - Get Data From a Text Box and set variable to stand for it

Video Tutorial -  Dropdown Menus and Variables

Video - Guide to Explore Lessons

Video - Guide to Investigate Lessons  

Video - Guide to Practice Lessons 

Video - Guide to Make Lessons 

Lesson Plans (all) - Variables, Conditionals, and Functions ('22-'23); Code.org CSP Unit 4 sequence; Teachers should adapt these lessons to fit student project development needs.

Reference - App Lab Basics Guide 


Module 3

More about Surveys and Collecting Data

Overview

In civics, we often want to collect information from member of the community to find out what they think or do and use the data to influence or make decisions. App Lab lets programmers create apps to survey users wherever they have their phones and upload information to a database. This module shows the basics for coding a survey app.


Purpose


Core

Single Question Survey App

Tutorial: CS Principles: Databases - Part 1 Creating Records

Tutorial: CS Principles: Databases - Part 2 Using the Data Viewer


Multiple Question Survey App

Tutorial: Adding Columns to Your Database    


Survey App with more features and code: Add data with buttons and variables

Tutorial: Storing a Variable in a Database 


More

Survey App with chart: Demonstrates what you CAN do with App Lab and more study

App Lab Table Data Storage Reference 

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!

Overview & Core Ideas

Overview:

In this unit, students should achieve some success at making a simple app to address a civics-related topic. App Lab tutorials, app lab examples, and real world apps can give students ideas for what their own apps can be about and how to program them.


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