Top Banner
Programming & Scratch
47

Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Dec 30, 2015

Download

Documents

Egbert Palmer
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Programming & Scratch

Page 2: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Programming

Learning to program is ultimately about learning to think logically and to approach problems methodically.

The building blocks out of which a programmer constructs solutions, meanwhile, are relatively simply.

Page 3: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Problem-Solving and Project-Design Skills

logical reasoning

breaking complex problems into simpler parts

debugging problems

developing ideas from initial conception to completed project

sustained focus and perseverence

Page 4: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Fundamental Ideas about Computers and Programming

computer programs tell the computer precisely what to do, step-by-step

writing computer programs doesn’t require special expertise, just clear and careful thinking

Page 5: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Programming

Common in programming, for instance, are "loops" (whereby a program does something multiple times) and "conditions" (whereby a program only does something under certain circumstances. Also common are "variables" (so that a program, like a mathematician, can remember certain values).

Page 6: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Statements

In programming, a statement is simply a directive that tells the computer to do something. Think of it as a command or an instruction. In Scratch, any block whose label reads like a command is a statement.

Page 7: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Statements

One such block instructs a sprite to say something:

Page 8: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Statements

Another such block instructs a sprite to go to some location:

Page 9: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Sequence

To create a program in Scratch, you need to think systematically about the order of steps

Page 10: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Boolean Expression.

In programming, a Boolean expression is an expression that is either true or false. In Scratch, any block shaped like an elongated diamond is a Boolean expression.

One such block is:

Page 11: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Boolean Expression.

Another such block is:

After all, it is either true that some number is less than another number or it is false.

Page 12: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Boolean Logic

and, or, or not are examples of boolean logic.

Page 13: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Conditions

In programming, a condition is something that must be true in order for something to happen. A condition is thus said to "evaluate to true" or "evaluate to false." In Scratch, any block whose label says "if," "when," or "until" is a sort of conditional construct.

Page 14: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Conditions

One such block is:

Page 15: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Conditions

The previous construct is generally known as an "if construct." With it can we instruct a sprite to say hello only if, say, the user has depressed the mouse button:

Page 16: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Conditions

A related construct is the "if-else construct":

Page 17: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Conditions

With the previous construct can we instruct a sprite to say hello or goodbye, depending on whether the user has depressed the mouse button:

Page 18: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Conditions

Realise that these constructs can be nested to allow, for example, for three different conditions. This construct could be called an "if-else if-

else construct".

Page 19: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Conditions

Another conditional block is:

Yet another such block is:

Page 20: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Conditional Statements

if, forever-if, if-else repeat-until and waituntil check for a condition

Page 21: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Loops

Sometimes, you want one or more statements to be executed multiple times in a row. To implement this behavior, we turn our attention to loops.

Page 22: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Loops

In programming, a loop can induce multiple executions of statements. In Scratch, any block whose label begins with "forever" or "repeat" is a looping construct.

Page 23: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Loops

One such block is:

This construct allows us, for instance, to instruct a sprite to meow every other second:

Page 24: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Loops

Another block allows you to loop a specific number of times:

And another block allows you to loop until some condition is true:

Page 25: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Iteration (Looping)

forever and repeat can be used for iteration (repeating a series of instructions)

Page 26: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Variables

Sometimes, you want execute some statement multiple times, each time varying your behavior ever so slightly. We thus turn our attention to variables.

Page 27: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Variables

In programming, a variable is a placeholder for some value.

Variables allow us, for instance, to instruct a sprite to

count up from 1:

Page 28: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Variables

A variable that only takes on a value of true (i.e., 1) or false (i.e., 0), incidentally, is called a Boolean variable.

Page 29: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Variables

The Variables category allows you to create a new variable and use it in a program.

Page 30: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Threads

In programming, a thread is like a mini-program within a program that can execute at the same time as other threads.

One such block is:

Page 31: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Threads

It's often helpful to use separate threads for conceptually distinct tasks. For instance, you might want to keep track of whether the user ever presses some key during a program's execution in order to, say, toggle sound on and off:

Page 32: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Threads

Page 33: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Threads

Notice how, in the above, the left-hand thread handles meowing, if appropriate, whereas the right-hand thread constantly checks and remembers whether the user has muted or unmuted sound by pressing ’space'.

Page 34: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Threads (Parallel Execution)

Launching two stacks at the same time creates two independent threads that execute in parallel.

Page 35: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Events

In programming, multiple threads can communicate with each other by signaling events and handling events. An event, then, is like a message from one thread to another.

A block that signals an event is:

Page 36: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Events

A block that handles an event is:

Page 37: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Events

Not only can events be signaled by blocks, they can also be signaled by a user's actions. Clicking Scratch's green flag, for instance, effectively signals an event that is handled by:

Page 38: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Events

In Scratch, not only do events enable threads to communicate, they also allow sprites to communicate with each other.

Page 39: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Event Handling

when key pressed and when sprite clicked are examples of event handling – responding to events triggered by the user or another part of the program

Page 40: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Synchronisation

broadcast can coordinate the actions of multiple sprites.

For example, Sprite1 sends the message winner when condition is met:

Page 41: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Synchronisation

This script in Sprite2 is triggered when the message is received:

Page 42: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Real-Time Interaction

mouse_x, mouse_y, and loudness can be used as dynamic input for real-time interaction

Page 43: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Time Triggering

Scratch includes an internal clock that you can access with timer.

Page 44: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Random Numbers

The pick random block selects random integers within a given range.

Page 45: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Object-Oriented Programming

Each sprite can have its own scripts and data.

Page 46: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

User Interface Design

You can design interactive user interfaces in Scratch – for example, using clickable sprites to create buttons.

Page 47: Programming & Scratch. Programming Learning to program is ultimately about learning to think logically and to approach problems methodically. The building.

Data Types

Different data types (such as numbers and booleans) are represented by different shapes in Scratch