Scratch Programming Project

“Software is a great combination between artistry and engineering.” – Bill Gates

https://www.youtube.com/embed/SGtecDQGV-g

Do you imagine computer programmers to be scientists? artists? architects? wizards? The truth lies at the intersection of all four.

Through programming, artists create music and visual art, scientists create models of possible worlds, engineers build new products, medical researchers design and test possible cures, and businesses create jobs and wealth. Even as a beginner, through programming, you have the power to design, to build—to create. What will you create?

Assignment

Design and construct a Scratch program, game, or movie that incorporates interaction and media.

Working in pairs, your task is to code a useful application using the Scratch visual programming language. Your program must be interactive and incorporate multimedia (e.g., graphics, animations, etc.). You are free to code a program for whatever (appropriate) purpose you like. Will your program entertain? Solve a problem? Help educate? Be artistic? The possibilities are limitless, though you may want to brainstorm an idea sooner rather than later. That way you can focus your efforts early on and have time for beta-testing and revising your code.

Submission

Your submission will be in the form of an original program that you develop with Scratch, along with written documentation detailing its use. You may submit either a link to the completed program that you code, or download the program itself and submit the program’s file itself. You must also submit a text document for your documentation. Your Scratch program must:

  • use numeric and string variables appropriately, with meaningful names,
  • contain conditionals to simulate decisions or implement branching,
  • implement repetition through both “repeat” and “forever” loop blocks,
  • include documentation detailing its use, using key terminology from the glossary appropriately and as necessary, and
  • be aesthetically pleasing, including proper grammar and lack of spelling errors.

When you are finished, you will submit a link to—or the source file of—your Scratch program. Your program will be graded using the attached rubric. You will then review other groups’ submissions, and reflect on any differences from your own work.

Good luck and have fun!

Learning Goals

Over the course of this module and this project, you will learn to:

  • Apply the concept of “programmability” across multiple domains.
  • Create a flowchart/diagram representing a structured process.
  • Convert between a flowchart and visual program.
  • Apply pre-defined functions over sprite objects.
  • Utilize “Broadcast” to pass messages among sprite objects.
  • Debug faulty logic via the Instruction Step method.
  • Use variables to store and access dynamic content.
  • Develop routines that process user input.
  • Simulate decision-making through the use of conditional blocks.
  • Simulate multi-way decisions through nesting blocks.
  • Tailor program output to user input.
  • Simulate randomness through the use of a pseudorandom number generator.
  • Implement repetition through the use of loop blocks.
  • Simulate counting through the use of variables and loop blocks.
  • Simulate decision-making through the use of condition-controlled loop blocks.
  • Reorder a list.

Rubric

Content Area Performance Quality
Variables
Program uses a combination of four or more numeric and string variables appropriately.

—AND—

All variables have meaningful names and purposes in the program.

Program uses a combination of fewer than four numeric and string variables appropriately AND all variable have meaningful names and purposes in the program.

—OR—

Program uses four or more numeric and string variables appropriately, but some variables do not have meaningful names or purposes in the program.

Program uses only one kind of variable—either numeric or string.

—AND—

Not all variables have meaningful names or purposes in the program.

Not enough criteria are met in order to award any credit.
Conditionals
Program contains four or more conditionals to simulate decisions or implement branching.

—AND—

All conditionals are used effectively and correctly with purpose in the program.

Program contains fewer than four conditionals to simulate decisions or implement branching AND all conditionals are used effectively and correctly with purpose in the program.

—OR—

Program contains four or more conditionals to simulate decisions or implement branching but not all conditionals are used effectively and correctly with purpose in the program.

Program uses fewer than four conditionals to simulate decisions or implement branching.

—AND—

Not all conditionals are used effectively and correctly with purpose in the program.

Not enough criteria are met in order to award any credit.
Loops
Program implements repetition through the combination of four or more repeat and forever loops.

—AND—

All loops are used effectively and correctly with purpose in the program.

Program implements repetition through the combination of fewer than four repeat and forever loops AND all loops are used effectively and correctly with purpose in the program.

—OR—

Program implements repetition through the combination of four or more repeat and forever loops but not all loops are used effectively and correctly with purpose in the program.

Program implements repetition through the use of only one kind of loop, either repeat or forever.

—AND—

Not all loops are used effectively and correctly with purpose in the program.

Not enough criteria are met in order to award any credit.
Documentation
There is descriptive documentation that explains the program’s purpose and major code segments.

—AND—

There are complete and clear instructions on how to use the program.

There is documentation that explains the program’s purpose and major code segments AND there are instructions on how to use the program.

—OR—

There is descriptive documentation that explains the program’s purpose and some code segments AND there are instructions on how to use the program.

There is documentation that explains the purpose of the program and some code segments.

—AND—

There are incomplete instructions on how to use the program.

Not enough criteria are met in order to award any credit.
Aesthetics
The entire program includes aesthetically pleasing colors, graphics and/or multimedia.

—AND—

There are no spelling or grammatical errors throughout the program.

Some of the program includes aesthetically pleasing colors, graphics and/or multimedia AND there are no spelling or grammatical errors throughout the program.

—OR—

The entire program includes aesthetically pleasing colors, graphics and/or multimedia AND there are some spelling or grammatical errors throughout the program.

Some of the program includes aesthetically pleasing colors, graphics and/or multimedia.

—AND—

There are several spelling or grammatical errors throughout the program.

Not enough criteria are met in order to award any credit.
Functionality
The program functions exactly as described in the instructions.

—AND—

The program is easy to use.

The program lacks some functionality that was described in the instructions AND The program is easy to use.

—OR—

The program functions exactly as described in the instructions AND the program is somewhat difficult to use.

The program lacks some functionality that was described in the instructions.

—AND—

The program is somewhat difficult to use.

Not enough criteria are met in order to award any credit.