getting started with programming 2014-15
TRANSCRIPT
Getting started with
programming
University of Brighton, School of Education
– Purpose of study, computing programmes of study
“A high-quality computing education equips
pupils to use computational thinking and
creativity to understand and change the world.”
– Purpose of study, computing programmes of study
“The core of computing is computer science, in
which pupils are taught the principles of
information and computation, how digital
systems work, and how to put this knowledge to
use through programming.”
– Jan Cuny, Larry Snyder, and Jeannette Wing
“Computational thinking is the thought processes
involved in formulating problems and their
solutions so that the solutions are represented in
a form that can effectively be carried out by an
information-processing agent.”
– Jan Cuny, Larry Snyder, and Jeannette Wing
“Computational thinking enables you to bend
computation to your needs. It is becoming the
new literacy of the 21st century.”
Computational thinking and programmingkey stage 1
Subject content for KS1
Pupils should be taught to:
• understand what algorithms are; how they are
implemented as programs on digital devices; and
that programs execute by following precise and
unambiguous instructions
• create and debug simple programs
• use logical reasoning to predict the behaviour of
simple programs
Algorithms
“understand what algorithms are; how they are
implemented as programs on digital devices; and that
programs execute by following precise and
unambiguous instructions” - Subject content KS1
An algorithm is a sequence of precise and
unambiguous instructions that are followed in order to
achieve a specific outcome.
Activity #1 Jam Sandwich Robot
In pairs, write an algorithm to program a robot to make
a jam sandwich.
Try to ensure your instructions are precise and
unambiguous.
https://www.youtube.com/watch?v=leBEFaVHllE
Activity #2 Program a partner
One child ‘programs’ another child (who could be
blindfolded) to safely navigate an obstacle course.
This encourages the children to use precise,
unambiguous instructions.
Debugging
“create and debug simple programs” - Subject content
KS1
Debugging is the process of finding and correcting
errors in a computer program.
Logical reasoning
“use logical reasoning to predict the behaviour of
simple programs” - Subject content KS1
“Logical reasoning: a systematic approach to solving
problems or deducing information using a set of
universally applicable and totally reliable rules.”
Activity #3 A Simple Program
Program Roamer to draw a T shape. Plan the
sequence of instructions first using your cards. When
you’re happy with your instructions, try them out on
Roamer.
If it isn’t right first time, debug your program by using
logical reasoning.
Extension: Can you program Roamer to draw an N?
Activity #4 Which program?
Which of the 3
programs will
produce the picture
shown here?
Activity #5 Using Repetition
What is the most efficient program that you can write
that will produce a rectangle? Use your cards to plan
your sequence and then test it out.
Tip: You need to use a repeat command
Subject content for KS1
Pupils should be taught to:
• understand what algorithms are; how they are
implemented as programs on digital devices; and
that programs execute by following precise and
unambiguous instructions
• create and debug simple programs
• use logical reasoning to predict the behaviour of
simple programs
Computational thinking and programmingkey stage 2
Subject content for KS2
Pupils should be taught to:
• design, write and debug programs that accomplish specific
goals, including controlling or simulating physical systems;
solve problems by decomposing them into smaller parts
• use sequence, selection, and repetition in programs; work
with variables and various forms of input and output
• use logical reasoning to explain how some simple
algorithms work and to detect and correct errors in
algorithms and programs
Decomposing problems
“solve problems by decomposing them into smaller
parts” - Subject content KS2
Decomposition is the process of breaking a problem
down into smaller problems so that ultimately the
bigger problem can be solved (and explained clearly to
someone else or to a computer).
Sequence, repetition &
selection“use sequence, selection, and repetition in programs” - Subject
content KS2
Sequence: putting instructions in an order where each one is
executed one after the other
Repetition: one or more instructions are repeated a number of
times or until a condition is met or the program is stopped
Selection: instructions are executed depending on whether a
particular condition is met
Selection lies at the heart of the ‘intelligence’ of a computer
program.
Activity #1 Hour of Code
Working in pairs, follow the Hour of Code beginners
tutorial. Your challenge is to complete this in 30 mins!
http://learn.code.org/hoc/1
NB: This tutorial introduces the key programming
concepts of sequence, repetition and selection
Debugging at KS2
“design, write and debug programs that accomplish
specific goals” - Subject content KS2
This builds upon children’s experience of debugging at
KS1. As their programs become more sophisticated
the debugging becomes more challenging.
Activity #2 Scratch Roamer
View the Simple Roamer project at
http://scratch.mit.edu/projects/33560452/. Click the
green flag to make the Roamer move.
Can you write a program to make the Roamer draw an
equilateral triangle? Click the ‘See inside’ button to get
started.
Hungry Monkey
View the Hungry Monkey project at
http://scratch.mit.edu/projects/21416773/. Click the
green flag to play the game.
We’re now going to decompose this game into smaller
problems and you will learn how to program each
element.
Activity #3 Hungry Monkey 1
http://scratch.mit.edu/projects/34307992/
Can you make the monkey sprite move left and right
when the left and right arrow keys are pressed?
Hint: you need to use a ‘forever’ block.
Activity #4 Hungry Monkey 2
http://scratch.mit.edu/projects/34309136/
Can you make the monkey jump when the ‘up’ arrow
key is pressed?
Hint: you’ll need to use a ‘wait’ block.
Activity #5 Hungry Monkey 3
http://scratch.mit.edu/projects/34311270/
Can you hide the bananas when the monkey grabs
them?
Hint: you’ll need to copy the code from Sprite1 to the
other banana sprites. To do this, drag the code stack
from Sprite1 onto each of the other banana sprites.
Variables
“work with variables” - Subject content KS2
Variables are containers for data. They enable us to
store, retrieve or change data. A variable could be
used in a game to keep track of a user’s score or to
remember a player’s name.
Activity #6 Hungry Monkey 4
http://scratch.mit.edu/projects/34312402/
Can you make the score board work so it keeps track
of the number of bananas the monkey has caught?
Inputs & Outputs
“work with […] various forms of input and output” -
Subject content KS2
Hardware such as a keyboard, a mouse, a camera or
a sensor is used to input data to a computer.
Outputs are the information produced by a computer
system for the user. This information can be output via
hardware such as a screen, a printer, speakers or a
motor driven robot.
makeymakey.com
Activity #7 Inputs & Outputs
Can you make a controller for the Hungry Monkey
game using a MaKey MaKey and some playdough?
If you weren’t able to complete the last Hungry
Monkey challenge you can find a fully working version
here:
http://scratch.mit.edu/projects/21416773/
Controlling or simulating
physical systems
“design, write and debug programs that accomplish
specific goals, including controlling or simulating
physical systems” - Subject content KS2
Controlling physical systems could be explored
through the use of kits such as LEGO WeDo. The
Hungry Monkey game is an example of a simulation of
a physical system.
Subject content for KS2
Pupils should be taught to:
• design, write and debug programs that accomplish specific
goals, including controlling or simulating physical systems;
solve problems by decomposing them into smaller parts
• use sequence, selection, and repetition in programs; work
with variables and various forms of input and output
• use logical reasoning to explain how some simple
algorithms work and to detect and correct errors in
algorithms and programs
Resources
There is a list of further learning
resources on the password
protected page at theSLATE.org
Evaluation
Please take a couple of minutes to complete our
simple online evaluation form:
goo.gl/DW8YPt
Thanks :)