You are on page 1of 23

A Strategic Approach to

Teaching Programming at KS3


RebeccaDCruzrdcruz@stalbans.herts.sch.uk
BACKGROUND
WHOAMI?

Background
Hobbyist, O-Level, College, work, kids, self-employed, MSc, teaching
https://en.wikipedia.org/wiki/ZX_Spectrum

Teaching experience
After-school clubs (KS2) 3 years
College lecturer 2 years
University lecturer 4 years
Secondary teacher 2 years (state and private sector)

But you teach in a selective school!


A STRATEGIC APPROACH TO TEACHING PROGRAMMING AT KS3
TEACHING PROGRAMMING
WHATARETHEISSUES?

Non-selective subject but one size doesnt fit all

Its not ICT: little alternate route/GCSE

Teacher inexperience and lack of confidence

Not rote learning - problem-solving approach needed

Abstract thinking needed

A STRATEGIC APPROACH TO TEACHING PROGRAMMING AT KS3


TEACHING PROGRAMMING
WHATARETHEISSUES?

Successful programming requires:


Real understanding of the problem

Algorithmic solution

Accurate coding

Thorough testing

Persistence and resilience

A STRATEGIC APPROACH TO TEACHING PROGRAMMING AT KS3


TEACHING PROGRAMMING
MYAPPROACH

Teach concepts not Scratch/Python etc.

Spiral curriculum expect to keep revisiting

Insist on independent problem-solving

Insist on debugging

Take the problem away from the computer

Use Bebras, Cybersecurity Challenge, Robot Grid World etc. as well as programming
games such as Hour of Code, Lightbot, Code Combat etc. to embed skills

A STRATEGIC APPROACH TO TEACHING PROGRAMMING AT KS3


WHAT DO YOU NEED FROM KS2?

Some Primary and Preparatory schools are now offering a fantastic curriculum
However
Much focus on Maths, English and Science

Much focus on SATs, Common Entrance, 11+ etc.

Many lack specialist teachers and / or curriculum time

IMHO: the most important skill they can promote is problem-solving

A STRATEGIC APPROACH TO TEACHING PROGRAMMING AT KS3


MY APPROACH
YEAR7

Autumn Term Spring Term Summer Term


IT induction Thinking Like a Programming
Presentations Computer Scientist Fundamentals I using
Programming Scratch (contd)
Word-processing
Fundamentals I using Programming
Bebras
Scratch Fundamentals II using
Data Modelling micro:bits
eSafety

One 50 minute lesson per week

A STRATEGIC APPROACH TO TEACHING PROGRAMMING AT KS3


YEARS 7 - 9: BEBRAS
http://challenge.bebras.uk/

6th - 17th November 2017


http://www.bebras.uk/teachers.html

A STRATEGIC APPROACH TO TEACHING PROGRAMMING AT KS3


YEAR 7
THINKINGLIKEACOMPUTERSCIENTIST
Used Compute-IT (Mark Dorling) as a
starting point
Guardian article also interesting

Decomposition
Natural language
Algorithms
Computational Thinking
Natural Language
Dr John Snow exercise
The lady hit the man with an umbrella.
Abstraction
Generalisation
He gave her cat food.
I saw her duck.
A STRATEGIC APPROACH TO TEACHING PROGRAMMING AT KS3
YEAR 7
THINKINGLIKEACOMPUTERSCIENTIST
Used Compute-IT (Mark Dorling) as a
starting point
Guardian article also interesting

Decomposition
Natural language
Algorithms https://www.youtube.com/watch?v=B1H8XsOxw28

Computational Thinking
Natural Language
Dr John Snow exercise
The lady hit the man with an umbrella.
Abstraction
Generalisation
He gave her cat food.
I saw her duck.
A STRATEGIC APPROACH TO TEACHING PROGRAMMING AT KS3
YEAR 7
THINKINGLIKEACOMPUTERSCIENTIST

https://www1.udel.edu/johnmack/frec682/cholera/snow_map.png

https://effectivesoftwaredesign.com/2016/09/28/the-cat-as-a-metaphor-in-object-oriented-software-development/

A STRATEGIC APPROACH TO TEACHING PROGRAMMING AT KS3


YEAR 7
PROGRAMMINGFUNDAMENTALSI USINGSCRATCH

What is programming? Sprite interaction


Getting started with Scratch: users, basic usage Directional motion with move
Costumes Drawing shapes and patterns with
Sequence: order these code blocks to draw loops and move
Iteration: changing costume many times, four Programming paradigms
rectangles Selection: weather choices, quiz
Walking animation using change-x, change-y Responding to input: selection in
Bidirectional motion forever loops
Sensing: walking edge to edge Variables
Debugging Input

A STRATEGIC APPROACH TO TEACHING PROGRAMMING AT KS3


YEAR 7
PROGRAMMINGFUNDAMENTALSI USINGSCRATCH

https://scratch.mit.edu/projects/145686320/
YEAR 7
PROGRAMMINGFUNDAMENTALSII USINGTHEMICRO:BITS
What is a micro:bit? What features does it have? Input and Output
Introduction to the programming environment
Responding to button presses with icons and phrases
Compilation
Designing your own icon variables
Animation: iteration
Sensors: shake, pin input, light level, accelerometer, compass
Algorithms and pseudocode
Selection: ifelse if else
Iteration: while-do and for loops
Networks: Home networks, routers, IoT, firewalls, smart home, Bluetooth
Using the radio: sending and receiving communications
MY APPROACH
YEAR8

Autumn Term Spring Term Summer Term


eSafety Web design and Computer Fundamentals II
Control Systems technologies representing images and
Flowcharts Security aspects of sound
Bebras Computing (Programming?)
Computer
Fundamentals I -
hardware, data, binary,
data representation
One 50 minute lesson per week

A STRATEGIC APPROACH TO TEACHING PROGRAMMING AT KS3


YEAR 8
CONTROLSYSTEMSUSINGFLOWOL

What is a control system?


Sensors: PIR, heat, light, humidity, electromagnetic
Flowchart symbols
Sequence: Belisha Beacons
Sequence, incremental development and testing: Bridge Lights
Selection: Robot and Lighthouse
Modularity and subroutines: Lighthouse
Unit assessment: Pelican Crossing
http://www.flowol.com/

Extension: Level Crossing


YEAR 9

Autumn Term Spring Term Summer Term


Baseline assessment Web design and Pre-GCSE theory
Mobile app development technologies number bases, binary
Flowcharts and pseudo addition, instruction sets,
eSafety
code Boolean logic
Bebras
Programming
Computer Fundamentals I Fundamentals III using
Python
Two 50 minute lessons per week
TEACHING PROGRAMMING
MYAPPROACH

Algorithms

Debugging
Sequence

Selection

Iteration
Bebras All
Computational Thinking
Programming (Scratch) Year 7
Programming (micro:bit) ()
Flowcharts Year 8
Mobile app development ()
Year 9
Pre-GCSE programming (Python) ()

A STRATEGIC APPROACH TO TEACHING PROGRAMMING AT KS3


The most effective debugging tool is still careful
DEBUGGING thought, coupled with judiciously placed print
statements. Brian Kernighan

Making mistakes and learning from them is a normal and important part of
programming
In order to debug our programs we must be methodical and resilient
1. What should it do?
2. Where exactly does it go wrong?
3. Explain your code to a coding partner
4. Make it simpler
5. Add print statements to test your assumptions
6. Ask for help to find the error but expect to be asked questions!
Simulated robot grid world
ROBOT GRID WORLD Control the robot with Python (and more)
Free
FLOWGORITHM
Build up and run a
flowchart
Generates code in
many languages
including Python,
Java and C#
Free

http://flowgorithm.org
SUMMARY

Teaching programming is not easy!

At KS3, develop:
problem-solving
methodical approach
resilience
understanding of basic concepts: sequence, selection and iteration

This allows an informed choice for GCSE


LINKS

Bebras - http://www.bebras.uk/teachers.html
Flowol - http://www.flowol.com/
Flowgorithm - http://flowgorithm.org
BBC micro:bit website - http://microbit.org/
Robot Grid World contact Dr Mick Walters, University of Hertfordshire
m.l.walters@herts.ac.uk

National Cipher Challenge - https://www.cipherchallenge.org/


Hour of Code - https://uk.code.org/
Lightbot - http://www.willamette.edu/~fruehr/141/light-bot.html
Code Combat - https://codecombat.com/

You might also like