3. Basic Cs & App development

Overview

Overview:

In this unit, students should be developing and improving their apps to serve a community purpose, whether that community is the classroom, the school, interest group, or a community outside of school.


Students and teachers be able to develop an app from the beginning (as opposed to remixing). Teachers should guide student activities to ensure that students are comfortable with block-based coding and learn good coding practices and routines. Students and teachers should also explore careers in Computer Science to connect coding to students' lives. 


Purpose:

By the end of this unit, the student will be able to independently create a simple app that uses legally downloaded media and an updating variable. Students can adapt these apps for their final project or to develop and practice skills they can use to code their final projects.


Links:

Slide Deck - Unit 3 Overview and resources 

Spreadsheet  of Links - Unit Resources

Sample Student App - Periodic Table Quiz App (published on Code.org)

Sample Student App - Presidents App with Quiz and score; The scoring function works, but some may consider it buggy. Challenge yourself and students to improve it!

Core Modules

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

Module 2

Introduction to Variables

Overview:

Students will be introduced to variables. Using sample apps, they will 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 use an Explore, Investigate, Practice, Make (EIPM) sequence. Teachers should familiarize themselves with this approach as they adapt instruction to their classes. Videos about each EIPM 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 equal to 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

Debugging

Overview

An important part of programming is the concept of debugging. Students should be encouraged to use and reflect on this practice throughout the lesson and as they work on their own projects. At the end of the lesson, students share their experiences debugging, as well as new realizations about programming.


Purpose

This lesson serves a number of roles. Even if students have modified or "fixed" programs in previous activities, this module introduces students to debugging as a skill they'll need to use and develop as programmers. A huge goal of this lesson, however, is attitudinal.

Slide decks in this unit also contain links to even more resources for teaching how to debug. 


Links:

Slide Deck - Debugging

Slide Deck - Debugging Walkthrough

Lesson Plan - Intro to App Design, Lesson 7: Debugging

Tutorial (Code Studio) - Intro to App Design, Lesson 7: Debugging

Video - How to Debug

Article  - Teaching Kids to Debug Code Independently 

Unplugged Module

Careers in Computer Science

Overview

In this lesson, students and teachers get an introductory experience to the world of cybersecurity. This lesson has been designed for learners, ages 12-14, but can be adapted for older learners using the differentiation suggestions provided.

Code.org's CS Journeys' Career Exploration Hub can provide a basis for classroom discussion and/or reflection on CS careers and work. The hub has resources and links that students and teachers can explore together or individually. A viewing guide and reflection sheet be used to develop classroom activities.

Purpose

Students will 


Links

Slide Deck - Careers in Computer Science

Lesson Plan - What is Cybersecurity 

Lesson Plan - CS Journeys Careers with CS Viewing Guide and Reflection Worksheet 

Resources - CS Journeys: Careers with CS 

Resource - Computer Science Jobs Ppt 

Video - Computer Science Careers

Resource - Careers and People in Computer Science  

Resource - Ed Puzzle-Why so Few Women in Computer Science

Video - Change the Face of Computer Science 

Classroom Practice

Collaborating on Your Projects

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

Supplemental Resources

Resources

Code.org's Explore, Investigate, Practice, Make (EIPM)

Although some students can work through Code.org courses independently, teachers play an important role in scaffolding, guiding, and extending student inquiry. To support this process, Code.org units and lessons are arranged in the Explore, Investigate, Practice, and Make (EIPM) sequence. The EIPM sequence provides a routine for learning computer science knowledge.

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

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

Video - Guide to Explore Lessons

Video - Guide to Investigate Lessons  

Video - Guide to Practice Lessons 

Video - Guide to Make Lessons 

Lesson

More Debugging Lessons & Resources

Overview

Code.org has developed a few lessons on the important concept of debugging. This lesson included below is an Intro to Debugging from Lesson 1 from CSP Unit 5 - Building Apps ('19 - '20). The intro begins at level 12.


Purpose

Students will


Links

Lesson Plan - Teaching Guide to Event-Driven Programming (See level 12); although the Intro to Debugging begins at level 12, the Getting Started prompt and levels 1-11 can be used to warm up and review. 

Tutorial (Code Studio) - Intro to Debugging: Learning how to debug programs:  

Resource - Guide to Debugging 

Unplugged Activities

Bugs & Features; Envelope Variables; Algorithm Drawing 

Overview

This module contains unplugged activities related to variables, debugging, and algorithms.


Purpose


Links:

Slide Deck - Unit 3 Unplugged Module

Lesson Plan - CS Discoveries, Unit 4: The Design Process - Lesson  19: Bugs & Features

Resource - Bugs & Features Activity Guide

Lesson Plan - CS Fundamentals, Course F, Lesson 7: Envelope Variables 

Video - Variables in Envelopes 

Resource - Envelope Variables; Worksheet

Resource - Envelope Variables; Worksheet Answer Key

Resource - Envelope Variables; Assessment

Resource - Envelope Variables; Assessment Answer Key

Lesson Plan/Activity - Unplugged Algorithm Drawing 

The Site is under construction!