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
a recognizable purpose;
at least 4 screens or an appropriate number of screens as determined by teachers and students;
text, images, buttons, and sound;
a navigation scheme where users do not "get stuck" on any screen and can always navigate from any screen to some other screen;
code following "good style;"
an intuitive user interface.
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;
Resource - 10 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
Recognize common programming patterns when using variables as part of an app
Explain the purpose of those programming patterns with variables both in terms of how they work and what they accomplish
Modify apps that make use of common programming patterns with variables to adjust their functionality
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
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
learn about careers and work that involve computer science
connect CS careers and work to their lives
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
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
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
practice debugging;
learn a process for debugging;
begin to develop a problem-solving attitude towards debugging.
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!