4. More Apps & Computer Science
Unit 4 Overview
Overview:
Students will create more complex apps or remix apps to make them more complicated. It is worth our time studying because most useful apps contain more than a single function in their code. Students should learn concepts and skill that will let them add desired functionality to their apps.
Purpose:
Students Will Be Able To
Create, from scratch, a well-functioning app that includes
media files;
more than 4 screens;
variables
conditionals
Explain how media creators grant permission to use media and to choose media that is fair use;
Report on specific CS careers;
Debug a basic App Lab app;
Remix apps, repurpose code, and write code to develop an app that serves a community
Links:
Slide Deck - Unit 4 Overview and resources
Spreadsheet of Links - Unit Resources
Sample Student App - Quiz App with Score & Message
Sample App remixed from a student project - Beginning of a Trash Pickup Service Survey
Core Modules
Module 1
Exploring, Investigating, Practicing, Making Conditionals
Overview:
Students learn the basics of conditionals starting with an unplugged activity using the sticky notes and plastic baggies from CSP Unit 4, Lesson 5: Conditionals Explore. Flowcharts are introduced as a way to understand how computers make decisions using Boolean expressions.
Purpose:
Links
Core
Slide Deck - Building an App: Multi-screen App
Lesson Plan - Conditionals Explore
Class Slides and Activity - CSP Unit 4 - Variables, Conditionals, and Functions; This lesson starts at slide 76.
Video - CS Principles: Conditionals - Part 1 Boolean Expressions
Assessment (Code Studio) - Conditionals Explore Check Your Understanding Terminology Matching
More
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;
Tutorial - Conditionals and Dropdown Menus
Tutorial - Radio Buttons and Conditionals
Module 2
App Interactivity & Remixing
Overview
In this module, students can create and practice developing interactive apps that can perform multiple functions. They can remix or repurpose the code from these apps for their own projects. Students and teachers can use this module to explore, investigate, practice, and make a variety of apps.
Note: Some of the apps in this module are more challenging than others. Teachers and students should explore the apps to understand what they do, think about how their features might contribute to their own projects, and then explore the techniques and concepts their creators used. Not all of the apps features may be interesting to all students.
Purpose
Students will
Practice coding by building a variety of apps with different functionality
Connect program patterns with app functionality
Practice remixing apps to customize them for student uses
Remix and repurpose code for student projects
Links:
Core
Slide Deck - Practicing Interactive Apps
Video - Make it Interactive (review of onEvent)
Lesson Plan - Instructions for a Sequence of App Challenges
Instructions - Practice Remixing
More
Video Tutorial - Whack an Emoji
Example - Whack an Emoji remix
Color Sleuth App Example-remix
Color Sleuth App Example Completed
Lesson Plan - Building an App Image Scroller-My Favorite Things
Example - My Favorite Things App-remix
Video Tutorial - Space Shooter
Example - Space Shooter App Lab-remix
Tutorial - Mad-Lib Design Your App
Mad-Lib App Example-remix
Video Tutorial - Mad Libs Tutorial
Video Tutorial - Rock Paper Scissors
Example - Rock Paper Scissors App
Exampe: Rock Paper Scissors App-remix
Reference - Unit 4 Vocabulary
More
Module 3
The Quiz App Challenge & the Notional Machine
Overview
This module describes a conceptual model for working with computers called the "notional machine" and challenges students to create a Quiz app with minimal instructions. Teachers and students have been learning to how to work with a computer to make it do what they want. The notional machine model can give teachers and students a useful way to think and talk about what they have been doing.
The notional machine model for an app describes them as machines that
do one thing at a time in a sequence or order called a program;
have events and event handlers
hold states
run programs that modify states
can choose to run different programs depending on states that the machine examines using commands called conditionals.
Purpose
With minimal instructions (as provided by the slide deck but without using the hints), students will design and program an app
with multiple screens
that ask users questions
allows users to respond
distinguishes between right and wrong answers
keeps track of right and wrong answers
returns a message to users depending on the number of right and/or wrong answers.
By programming this app, students (and teachers) can demonstrate fundamental computing skills and knowledge.
Links:
Slide Deck - The Quiz App Challenge
Lesson
Collecting Data - Surveys
Overview
In civics, we often want to collect information from groups of people to find out what they think and/or do and to discover patterns about what they think and/or do . App Lab lets programmers create apps to survey users and upload information to a database. This module shows the basics for coding a survey app.
Purpose
Learn to use the Data view in App Lab
Create database tables
Using the Data view
Using createRecord: If a database table does not exist, createRecord will make a new one
Upload data to data tables
Use createRecord to upload records
Core
Tutorial: CS Principles: Databases - Part 1 Creating Records
Tutorial: CS Principles: Databases - Part 2 Using the Data Viewer
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
Sample Survey Apps
Module 4
Functions
Overview
Students learn how functions are used in programs in an EIPM sequence.
Purpose
Students will be able to:
Use appropriate vocabulary to describe how to declare and call functions
Trace the flow of programs that declare and call functions
Describe the way a function call interrupts the normal flow of execution within a program
Modify programs that declare and call functions to adjust their functionality
Links
Core
Slide Deck - Functions
Lesson Plan - Function Explore/Investigate
Tutorial (Code Studio) - Function Explore/Investigate: Song
Lesson Plan - Functions Practice
Tutorial (Code Studio) - Function Practice: Call order
Lesson Plan - Functions Make
Tutorial (Code Studio) - Functions Practice: Quote Maker App
The Site is under construction!