1 of 21

Text based programming

Master Teacher Training

Day 2 Session 2

4 April 2014

2 of 21

Why Programming?

the practical experience of programming, [is] almost certainly the best way for primary pupils to learn about

computer science

3 of 21

KS1

  • 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

4 of 21

KS2

  • 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

5 of 21

Ofsted

Most of the Key Stage 1 pupils observed were able to learn programming through devising and testing sequences of instructions for floor robots. However, in Key Stage 2, pupils in the majority of schools visited had insufficient opportunities to develop their understanding and use of programming, and data logging and handling. In some schools this weakness arose from the limited skills and understanding of teachers.

6 of 21

Programming = Algorithms + Code

7 of 21

A Computing Mantra

There’s more to technology than computing

There’s more to computing than CS

There’s more to CS than coding

There’s more to coding than Scratch

There’s actually more to Scratch than Scratch.

8 of 21

Programming

Physical

Pictorial

Textual

print "Hello, world!"

9 of 21

Text OR Pictorial

  • knowledge and understanding vs skills
  • progression to secondary and beyond
  • syntax and spelling,
  • time for more training

print "Hello, world!"

10 of 21

More to coding than Scratch

11 of 21

Which textual language?

  • how well do you know it?
  • what resources and communities are available?
  • can pupils access it at home?

Kemp, 2014 (in press)

12 of 21

Our first program - Sequence

Write some things to the screen:

print("Hello world!")

Extension:

import winsound

Freq = 2500

Dur = 1000

winsound.Beep(Freq,Dur)

13 of 21

Setting up Python

14 of 21

Angles and art!

15 of 21

Program or be programmed?

In many schools today, the phrase "computer-aided instruction" means making the computer teach the child. One might say the computer is being used to program the child. In my vision, the child programs the computer and, in doing so, both acquires a sense of mastery over a piece of the most modern and powerful technology and establishes an intimate contact with some of the deepest ideas from science, from mathematics, and from the art of intellectual model building.

.

16 of 21

Logo turtles

  • Most major textual languages offer a turtle plugin
  • Built into Python

17 of 21

How to teach: Learning spies

Seek out other people’s great ideas and share them

18 of 21

How to teach: Learning saboteurs

  • Start with code that definitely works
  • Swap places and add 5 errors to the code
  • You return and see if you can fix the errors
  • Limit the error types

19 of 21

How to teach: Conducting

  • Use students to help each other
  • Get used to being the student

20 of 21

How to teach: Pair programming

  • Programming together on one machine
  • Picking up bugs
  • Creating better code

21 of 21

How to teach: BBBT

  • Brain
  • Book (or video)
  • Buddy
  • Teacher