1. Identifying issues & understanding Apps

Overview

Students of all levels of CS experience.should achieve some success at making a simple app to build their motivation and confidence. Using App Lab tutorials and apps and real world app examples, students should work with teachers to learn and/or review the app design and development process. Teachers should plan to have an outside speaker or a presentation that brings real-world CS use and/or role-models to the classroom. As well as identifying issues, at this stage students should explore how apps are part of civic life. 

Purpose and Core Concepts

Purpose

Students will be able to


Core Ideas


Links

Slide Deck - Unit 2 Overview & Resources

Spreadsheet  of Links - Unit Resources

Core Modules

Module Objective

Exploring Interests and Issues (Basic App)

Overview:

Through this project, students can explore, discuss, and advocate for issues that they would like to address. In addition, further issue research and development can expand this basic app to support civics research, mobilization, advocacy, or education.


Students create or remix an app that 

The topic for the example below was "Inventors," however anything can be the topic for an app.

In other modules, students will learn different App Lab features and coding concepts to make projects that are informative, well-designed, and interactive. 


Purpose:

Begin an information sharing app that can support an Action Civics project.


Core

Students explore through discussion and research, civics-related topics that interest them.

Students explore kinds of apps that serve civics or community purposes through research, discussion, and experimenting (programming and/or remixing their own and other apps)

Students develop simple, interactive apps that   


Links

Lesson Planning Resources

Slide Deck: App Research Project

Lesson Plans

Invention App Lesson Plan

Invention App PPT

Invention App Grading Rubric

Civics App Project Outline

Video: App Lab: Share Your App


Instructional Resources (other modules in this stage)

App Design Resources

Intro to App Lab (part 2) & the Meow App: Continues Intro to App Lab Code.org tutorials teaching basic app development skills. Includes a simple app creation activity to introduce and practice skills

Button Creation: Covers/reviews how to create buttons and program them.


Examples of Apps and Code:

Collecting and sharing individual and community stories using text, images, and recordings.

A Storytelling App: This is the beginning of a storytelling app. The app has uses a media file in the image properties of startScreen. The app demonstrates how to navigate to different screens with buttons.

Clicking the label that says "Jouska," will take you to a screen with buttons that work. Not all the buttons in this app have been programmed. 


Providing important information to the community

Vaping Awareness

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:

The Intro to App Lab provides instruction on the basic skills students need to make an app that presents information about a civics issue. Students can "remix" these "practice" apps made in Intro to App Lab to make simple apps related to civics topics and issues. To begin with, students can make simple apps to communicate their knowledge about an issue to other students and the teacher, as well as to demonstrate their coding skills. Later, they can develop the apps to advocate for causes or deepen app users' knowledge of an issue. 


Students started Intro to App 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 complements Intro to App Lab and can be done together as a class with teacher led instruction. Teachers and students can replace cat images with images about their interests and/or concerns. 


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. You can use this lesson to teach or review how to use buttons and events and ad design elements in apps. These skills are also taught in the Intro to App Lab. 


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


Apps and Code

Water Calculator

Trash Sorter App

Library App

Voting app

Presidents App

Vaping Awareness

Anti-Vaping Responses   

Module 3

Add a Simple Survey or Data Collector: Intro to Remixing

Overview:

At the beginning of an action civics project, we often want to find out what people in the community think. What do you want to find out?

We can use App Lab to do surveys and take polls. Users enter information you ask for into text boxes, pull down menus, and radio buttons. This module will show you how to add a simple survey to an app using App Lab's  Data tab, the createRecord block, and remixing


Procedure:

a. View the code.

b. Remix the app and rename it.

c. Click the the Data Tab on your remixed app to open the Data Browser.

d. Run the app again and enter a new response. What happened in the Data Browser?

e. You should see that the app created a link for a table named SurveyData. Click the link for the table. You should see your response in the table

f. Try entering more responses. What happened?

CS Principles: Databases - Part 1 Creating Records

CS Principles: Databases - Part 2 Using the Data Viewer

Option A: Create or open an app. Use what you learned from the videos and the example to design and code your app. Be sure to match your block settings and design element (i.e. text input) id.

More remixing: 

Option B: Copy the code from example. Paste it in your app. Here's how:

For similar tips see BRVGS Computer Science- App Lab Help and 

Option C. Design an app around the remixed app. If you use this method BE SURE TO GIVE CREDIT to the coder who made the example app.

More

Professional Examples of survey and data collecting apps

More about collecting information with apps

Speaker Visit

Plan a Speaker Visit

Connecting computer science to people outside of the classroom helps students to make connections between computer science and their own lives and aspirations. Civic action researchers, advocates, and organizers use mobile apps and other applications of computer science to support their work.

As early as possible or appropriate in your course, have policy-makers, organizers, advocates and anyone else who supports a civic cause visit your classroom virtually or in-person. Find out how they use or COULD use mobile apps to support their work.  

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/ 

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

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 

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

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

The Site is under construction!