Computer Programming Tools in Schools

Computer Programming Tools in Schools (CPTS) is a multi-language curriculum that uses three tools Scratch , StarLogo TNG , and Etoys to teach fundamental computer science concepts and programming skills in the context of homeland security-relevant topics including food safety and risk models. These three tools are beginner-friendly programming tools developed by different labs at MIT and University of Illinois but share a drag-and-drop graphical interface. The CPTS curriculum is designed for use in an introductory course for middle or high school students with no prior programming experience, with the goal of engaging students' interest in computer science and preparing them for further studies in these and related fields. All the activities are project-based and student-centered, using a variety of formats, including games, simulations, and interactive media.

The curriculum includes an Intro Unit that involves at least two of the three programming tools, and 4 topical units. The materials are presented as a menu of activities that teachers can select from and adapt for their particular contexts. The Intro unit can take from 4 to 7 days while each unit activity can take between one to three 45-55 minute class periods.

Although the units are designed for computer classes, the activities also highlight the value of simulations modeling in modern science and the use of a design process to build programming projects (see image below).

The pilot materials (below) were developed during the summer of 2011 and being tested during school year 2011-2012 by computer teachers from the Boston and greater Boston area. More activities will be added in the middle of the school year to bring the total topical units up to 4.

For more resources on each of these tools and to download the tools, please visit their respective websites: Scratch , StarLogo TNG , Etoys .

CPTS is an 18 month project funded by the Department of Homeland Security (DHS), which has within its mission a goal of increasing underrepresented groups like women and minorities in computer science and related technical fields.

Intro Unit

(back to the top)

The goal of the CPTS Introductory Unit is to introduce three beginner-friendly computer programming tools to students with no prior programming experience. It’s also possible to just introduce and compare two tools, if three feels like too many. A project is “passed” from tool to tool to illustrate each programming tool’s strengths, following a progression from “one object” to “many objects.”  See table below for a description of each project. On days 1-2, students make a simple project using Scratch and then play with already built projects to experience a range of possible programs (games, simulations, puzzles). They repeat this process for StarLogo TNG and Etoys. Finally, on day 7, students reflect on and discuss the similarities and differences between the three tools. After completing the Intro unit, students (or teacher) can choose a tool and work through any of the topic-based units.

Video screencasts of projects in this unit: To navigate to the exact project you're interested in previewing, first click on the triangle play button ( ), then click on playlist icon ( )on the bottom of the player.

*Starred files need to be downloaded and opened in the respective tools (downloaded and installed software).

Scratch

Etoys

StarLogo TNG

Draw an insect and program it to move in response to a spacebar press (like tapping a jar with an insect in it); add randomness to movement.

Eating a Rose Petal: the project models the effect of destructive insects on vegetation. The project is interactive, students estimate how long it will take one beetle to eat the leaf and also how many beetles would be needed to eat the leaf in less than 30 seconds.

Create a breed of insects, create lots of agents of that breed and scatter them, program them to move on their own; add food agents using the same process and program insects to “eat” the food and reproduce.

Play with Scratch Demo Projects *

Play with Etoys Demo Projects

Play with SLTNG Demo Projects *

Food Safety Unit

(back to the top)

Video screencasts of projects in this unit: To navigate to the exact project you're interested in previewing, first click on the triangle play button ( ), then click on playlist icon ( )on the bottom of the player.

*Starred files need to be downloaded and opened in the respective tools (downloaded and installed software).

Scratch Etoys StarLogo TNG

Explore product recalls - when it is not safe to eat certain foods. (Build up a project while reusing modified example code.)

Safe Cherries - uses Etoys to make a public service announcement suitable showing on YouTube or for local TV stations to broadcast

Program a bacteria growth model using a step-by-step tutorial.

OR

Program a bacteria growth model using a starter project (for more experienced programmers).

Add game elements, keyboard control and sound. (Also, conditional statements and variables)

  • See above

Egg Drop Soup: a game that uses facts about egg freshness to increase game’s level of difficulty. The project models a simple home test for freshness.

Virtual lab investigating the relationship between temperature and bacteria growth

Introduce a character that can temporarily relieve outbreaks like Mad Cow disease. (Interobject communication through broadcasting)

  • See above

From Farm to Fork: a schematic model of a food distribution network in the form of a game. The game uses keyboard input to move an egg from chicken to table.

Extend the basic bacteria model by adding (programming) moisture conditions as a parameter

Amazing Farm to Fork: an egg travels a maze guided with a joystick. The project’s flap raises questions about the cost of shipping millions of tons of eggs.

Design and program an extension to basic bacteria model

Food Safety Sudoku: a game that uses a set of icons from the web site FoodSafety.gov to teach safe food handling practices.

Design and program a game based on the bacteria model

Bacteria Colonies: a simulation of the growth of three kinds of bacteria colonies under a variety of conditions. A graph plots changes in the number of each type.

Find Caloric Value: a project that compares estimates and stated values for given amounts of fruits.

Transportation Unit

(back to the top)

Video screencasts of projects in this unit: To navigate to the exact project you're interested in previewing, first click on the triangle play button ( ), then click on playlist icon ( )on the bottom of the player.

*Starred files need to be downloaded and opened in the respective tools (downloaded and installed software).

Scratch Etoys StarLogo TNG

Gift Smugglers basic: Program a simple airport security game.

Skywriter School: a game that simulates landing an aircraft on a runway. Each landing attempt uses different locations. Sort of a pro-version of the iPad app FlightCrtl HD.

Farm to store game: Program a simple game where the player drives a truck that carries food from the farm to several stores. Introduces fundamental ideas about food spoilage.

Gift Smugglers more complex: Program a project where two students pass a coded message to each other to get a certain color candy. (Break down how key elements of an example project works.)

Flight Plan Chicago: the challenge in this game is to land a plane on a digital image of a local runway. The player controls the plane’s motion with a joystick.

Investigate the relationship between food growth rate and the number of houses that can be sustained in a food transportation and consumption model.

Extend the security screening example to keep track of search statistics. (Introduce variables and conditional statements.)

  • See above

Food Distribution: models a good distribution network and cycles of supply and demand.

Analyze (break down) and interpret the code in the model.

  • See above

Modify the gameplay of the security screening example to include screening inbound and outbound passengers. (Delve into sensing.)

  • See above

Copter VH-ZGA: a one player game that uses the joystick and keyboard arrows to control the flight of a helicopter. The game’s challenge is to score by flying to landing points and to a landing zone. Fuel consumption controls the length of the flight time.

Brainstorm ideas for extensions or further investigations. Implement one extension using the design process.

Screening Boxes: a game that tests the quickness and accuracy of a contraband detection agent; wrong guesses are recorded as well as the correct ones.

Computer Security Unit

(back to the top)

Video screencasts of projects in this unit: To navigate to the exact project you're interested in previewing, first click on the triangle play button ( ), then click on playlist icon ( )on the bottom of the player.

*Starred files need to be downloaded and opened in the respective tools (downloaded and installed software).

Scratch

Etoys

StarLogo TNG

Encryption basic - Program a simple encryption project where user can enter a letter, which functions as a "code" to trigger one of two responses from the sprite.

Steganography: Conceals messages and lists various types of steganography. Asks two questions: Did you find eight messages? Is that question a tip or a trick?

Golden ticket game: Program a simple game in which the player has to figure out which of 10 friends has a movie ticket. Some friends are connected to other friends and can ask them on your behalf. Introduces basic ideas about networks.

Encryption more complex - Program a project where two students pass a coded message to each other to get a certain color candy.

Cloudy Day: Player solves a cryptography puzzle. The puzzle is concealed and must be discovered before it can be deciphered.

Why does my download speed vary? How do hackers attack websites? Use a network simulation model to investigate these and other questions. Also introduces students to graph theory, an area of discrete math.

Cyber Careers Info: Player must discover the concealed cipher message.

Mr. Morse's Class Snack: Create an illustrated book for children that conceals coded messages.

Ciphering: A project that uses the Caesar Cipher method to conceal and/or reveal a message.

Spy vs Spy: Uses a joystick and keyboard input and challenges two players to stop data leaks in a game setting.

Design Process Support

(back to the top)

Kernel Design

The Kernel Design Process is a multi-level iterative framework to guide students in developing their ideas from "spark" (brainstorming) to "serve" (communicating).

Game Design

(Materials created for SLTNG but can be adapted for other tools)

Most up-to-date materials can be found at SLTNG Game Design webpage
  • starter project
  • special game blocks reference sheet
  • student worksheet - design and planning
  • game elements design cards
  • "best" game rubric
Project Assessment During the teacher workshop in 2012, each participant programmed their own project and made a screencast video explaining and demo-ing their project. We co-constructed a rubric based on the question: What is a good project made in Scratch or StarLogo TNG? After brainstorming a number of criteria, we narrowed it down as a group and the top vote-getting criteria were used in the rubric to assess the screencast videos. Each participant was assigned to watch two video and assess them via a google doc form.