Launch Elementary Level D Scope and Sequence

Based off of the  CSTA K-12 Computer Science Standards

Pre-Requisites

Topics

Skills

Module

Module Concepts

CSTA Standards

Activities / Products

Sub-Topics / Skills

Mod 1

Learn the basics of how mobile apps are created, from development and testing to building and deployment. Learn about

1B-CS-01

1B-CS-02

1B-CS-03

1B-AP-10

Lesson on what are apps and mobile apps

Lesson on setting up MIT app inventor

Lesson- What is an emulator? Why do you need to test?  Create your first basic app

Lesson- What are assets? Learn to download a compressed file and add some assets to MIT app inventor.

Lesson- Create Treat Toss app

What are apps. How apps (aka programs) used to be something you download on your computer, but are now something that are hosted on a 'web server'. Learn the difference between a  program, software, and a mobile app.

What is an emulator and a build.

What are assets? Download dog and 'boop' assets for your boop app.

Treat Toss app- Students will upload assets and create an app that tosses a treat, which plays a gif of a treat being tossed

Mod 2

1B-CS-01

1B-CS-02

1B-AP-09

1B-AP-10

Lesson on 'getters and setters'

Tutorial on creating a basic calculator. Create a global variable, then pull info from text boxes

Lesson on  'screen' setup.  Size, rotation, and heading in MIT app inventor, as well as how the ball is created on the screen and moved

Tutorial on creating the ball, modifying properties, and adding the code. Us a series of ‘’if’ and ‘else-if’ statements to add functionality to a bouncy ball game.

Learn about how setters (mutators) controls the changes to a variable- in this case, we will 'get' the information about which side the ball is touching when it reaches the edge. 'Getters' are an accessor method that set what the value of a variable is. Learn about the concept of a global variable.

Basic calculator tutorial. Create a global variable, then create the logic to add or subtract two numbers, as well as clear the data and start over again at zero.

Learn about the degree measure of the directions and the numbers for the edges in MIT app inventor. Screens are made up of a grid of pixels, and the ball moves along x- and y- coordinates of these. Learn about how animations are created by redrawing the screen. The interval is how many milliseconds pass between each redrawing, and the speed is how many pixels the sprite moves forward.

Tutorial; Place ball and canvas, have canvas cover screen.  Modify ball heading, interval, Radius, speed to create a bouncy ball app.Students will use the degree measures and other settings for the app.  Chain together ‘if’ and ‘else-if’ statements to change the ball color and direction when it senses that it has bounced off the side of athe screen.

Mod 3

Learn about app vulnerability, and create the logic for a 'ball toss' game. Learn the what and why for some of the protections like password requirements, two-factor authentication, and more

1B-NI-04

1B-NI-05

1B-AP-10

Lesson on apps and vulnerability.

Lesson on creating logic for a fetch game screen in your Treat Toss app.

Lesson on preventing vulnerabilities.

Lesson on some of the strategies app developers use to protect apps from malicious use.

Hackers and data thieves can access personal information in many ways. There are many layers, and it is important to keep in mind the ways. Learn about injections, avoiding common usernames and passwords, phising, sniffing, endpoints, and session IDs & timeouts.

Using the paddle and ball you created as a part of your treat toss app, add in logic for the ball. Add a button to start and reset the game of toss, as well as return to the original screen. Add in a dog object to catch the ball, and create logic to make ball bounce off of dog head.

Add in logic to drag the dog head (horizontally only)

Learn about how to prevent hacking attacks from certain vulnerabilities such as encryption, two-factor authentication and creating logic to check against injection and what data validation and logging out sessions can do to protect data.

Tutorial learning to modify ball bouncing logic disappear if it collides with pup’s head, and to disappear if the ball gets past the pup. Add in another label and logic for score for how many times the ball has caught the ball Download and add sounds to the game

Mod 4

Data and the internet. Understand the importance of databases for the working of the internet, and what key parts such as clients, servers, and data centers do to make it possible. Learn how protocols make up the rules so machines can communicate. Create a stopwatch app, learning about the importance and use of persistent data.

1B-NI-04

1B-AP-09

1B-AP-10

Lesson on what databases are, and why they are such an important part of the internet.

Lesson on Data and Persistence

Lesson on creating a ‘timer’ app and adding in tinyDB.

Create a stopwatch App with TinyDB

Lesson on Networking protocols

Add a ‘Treat Picker’ feature to your app.

Lesson on the idea that to store information you need to put it in some kind of shared database so multiple users or pages can send and receive information from it. How & Why you stroe in a database.

Learn about what a network is and the role that databases play in one.  Learn about some of the devices on a network such as client machines, routers, and servers in data center,   and learn what persistent data such as TinyDB is.

Create a stopwatch app that saves and loads the data from the TinyDB to save a time, then access that data from another screen in the app.

Students create a stopwatch app that can start, restart, and reset the times. Use TinyDB to store a saved time and then restart from that saved time. Involves working with timers for the first time and persistent data.

The devices on the internet have a lot to do to communicate with each other, so you use protocols. A protocol is a set of steps or rules for doing this. TCP is used for putting data into packets and sending them, IP is for directing packets to the correct location.

Build a feature to your treat toss app that lets you go to a screen and choose which treat to ‘toss’. Save that information using TinyDB, and have the same image appear on the home screen when your return to it.

Mod 5

1B-AP-09

1B-AP-10

1B-AP-14

Lesson on categories of data structures.

Animate Treat Toss

Create your own assets

Squirrel Chase Part 1

Lesson on layers and Z-Index

Learn that data structures are ways that computers are trained to organize and store data. Learn about arrays and indices, as well as matrices and linked lists. Learn about the differences in how data is accessed and stored in these structures.

Concatenate strings and a number together to set a certain image in your app. Use the timer element in your app to change the image ever 1/10 of a second (aoo milliseconds) when a timer is pressed to create animated movement in your app.

Learn about what assets are in software development, and use a web app to create your own tree assets.

Begin a new game within you app called Squirrel chase. Use the Tree asset you created, along with a list or ‘array’ to automatically populate the image for several image sprites you place on the screen. Set the scene for multiple trees to appear on a new screen in your app where a squirrel will appear for you to click on.

Learn about how the z-index of an object assigns a layer from front to back for that object relative to theirs.

Mod 6

1B-CS-03

1B-AP-10

Squirrel Chase Part 2

Introduction to Firebase and APIs

Using Firebase in App Inventor

Squirrel Chase Part 3- Creating Local Data

 Saving Data, Testing, and Vocabulary Review

Create the 'MoveSquirrel' procedure (aka method) that will move the squirrel image to the location to a randomly selected tree image sprite. Use a timer to move the squirrel every few milliseconds. Add logic for functionality to keep score each time the squirrel appearing in a random tree is tapped on, then buzz and move the squirrel to a different tree.

Learn about what an API is; how it is a set of rules and language that programmers can use to connect and communicate with an app, website, or database. Learn how APIs are like messengers relaying data between different software.

Learn about how the Firebase database we will be using stores data. All information from a particular source will be stored in the bucket. The data, called values stored in that bucket each have a tag that is used to access it.  Firebase is a linked-list type of database. Set up your Treat Toss app to send and receive information that has been set up for this purpose.

In your Squirrel Chase feature, set up variables to store score and username from a Squirrel Chase game. Validate to make sure a username has been entered, and add logic that saves the score to the variable instead of just changing text on the screen.

Learn about the process of QA and methods for testing, including adding in confirmation and error messages to check for correct database communication. Add the FirebaseDB.StoreValue method to your app, storing the username, score, and timestamp under the username tag in the database. Use the FirebaseDB.GetValue message to read that same data from the database to confirm that it has been stored correctly, using notifications to confirm or log an error.

Mod 7

Learn about app design, and begin to plan and design your own app. Learn to gather data about needs, make user stories, and plan out a project

1B-CS-03

1B-AP-08

1B-AP-10

1B-AP-11

1B-AP-12

1B-AP-13

Idea Generation & lesson on what is UX?

Use cases and research for your app; User stories & Feature lists.

Create a login screen in app inventor

Planning your user flow & mockups

Login Part 2- storage and retrieving

Start to think about all of the things that have an effect on the user experience. Sounds, animation, vibration, colors, usability. Combo of visual and non-visual code.data validation

Apps are built not just for one person but for everyone. Ask what features 2 other ppl would like, after you tell them about your app. Then come up with a use case

Creating data in a login screen.

Feature List, User flow, and Wireframe

Get and validate user data in your app to login.

 

Capstone

Completing your user stories, feature lists, user flows and mockups. Start planning and coding your final app.

Publishing your app either using an App Inventor QR code or  

Resources