Code-It: How To Teach Primary Programming Using Scratch
By Phil Bagge
()
About this ebook
The Scratch: The ideal place to begin programming!
Key Stage 2 Programming Curriculum Guide .
Most primary teachers and pupils have little – if any – experience programming. This book, classroom-tested and perfected by the author through his website code-it.co.uk, aids teachers in providing Key Stage 2 pupils with an exciting and challenging computer science curriculum.
Code It can be used to supplement existing programming modules or as a complete KS2 computer science program of study. It contains a series of programming projects that gradually introduce pupils to algorithm design and evaluation, generalisation and decomposition. Pupils will learn how to use sequence, repetition, selection and variables through becoming creators of a wide variety of programming projects. Maths, literacy, humanities, gaming, music and control skills are all put to the test.
There are four pupil workbooks to provide structure, resources and home learning links. These are designed to work in conjunction with the teacher book. A growing bank of online videos are also available, designed to help teachers improve their own skills and take full advantage of the cross-curricular benefits of developing depth in programming.
The Scratch programming language, already widely recognised in schools, is freely accessible online or as a download at home. Scratch is the ideal place to begin programming as there is no other system that allows pupils to create such a wide variety of projects across primary and secondary education. It also enables pupils to extend their understanding independently through the Scratch online community – the new computing curriculum is truly transformational!
Read more from Phil Bagge
Code-It Workbook 4: Problem Solving Using Scratch Rating: 0 out of 5 stars0 ratingsCode-It Workbook 3: Algorithm to Code Using Scratch Rating: 0 out of 5 stars0 ratingsLearning Primary Programming with Scratch (Home Learning Book Years 3-4) Rating: 0 out of 5 stars0 ratingsCode-It Workbook 1: First Steps in Programming using Scratch Rating: 0 out of 5 stars0 ratingsLearning Primary Programming with Scratch (Home Learning Book Years 5-6) Rating: 0 out of 5 stars0 ratingsTeaching Primary Programming with Scratch Teacher Book: Research-Informed Approaches Rating: 0 out of 5 stars0 ratingsTeaching Primary Programming with Scratch Pupil Book Year 4 Rating: 0 out of 5 stars0 ratingsTeaching Primary Programming with Scratch Pupil Book Year 6 Rating: 0 out of 5 stars0 ratingsTeaching Primary Programming with Scratch Pupil Book Year 3 Rating: 0 out of 5 stars0 ratingsCode-It Workbook 2: Choices In Programming Using Scratch Rating: 0 out of 5 stars0 ratingsTeaching Primary Programming with Scratch Pupil Book Year 5 Rating: 0 out of 5 stars0 ratings
Related to Code-It
Related ebooks
Creative Coding: Lessons and Strategies to Integrate Computer Science Across the 6-8 Curriculum Rating: 0 out of 5 stars0 ratingsFirst Time Coders: A Definitive Guide to Coding for Children Rating: 4 out of 5 stars4/5Teaching Primary Programming with Scratch Teacher Book: Research-Informed Approaches Rating: 0 out of 5 stars0 ratingsNo Fear Coding: Computational Thinking Across the K-5 Curriculum Rating: 0 out of 5 stars0 ratingsComputer Science Teacher: Insight into the computing classroom Rating: 0 out of 5 stars0 ratingsUsing Stories to Teach ICT Ages 5 to 6 Rating: 4 out of 5 stars4/5Code Kids Rating: 0 out of 5 stars0 ratingsGetting Started with LEGO Robotics: A Guide for K-12 Educators Rating: 0 out of 5 stars0 ratingsUsing Stories to Teach ICT Ages 7 to 9 Rating: 0 out of 5 stars0 ratingsCode-It Workbook 2: Choices In Programming Using Scratch Rating: 0 out of 5 stars0 ratingsTeaching Primary Programming with Scratch Pupil Book Year 5 Rating: 0 out of 5 stars0 ratingsKids Can Code!: Fun Ways to Learn Computer Programming Rating: 0 out of 5 stars0 ratingsTeaching Primary Programming with Scratch Pupil Book Year 3 Rating: 0 out of 5 stars0 ratingsScratch Projects for 11-12 year olds: Scratch Short and Easy with Ready-Steady-Code Rating: 0 out of 5 stars0 ratingsDesigning Digital Games: Create Games with Scratch! Rating: 0 out of 5 stars0 ratingsThe Everything Kids' Scratch Coding Book: Learn to Code and Create Your Own Cool Games! Rating: 4 out of 5 stars4/5Scratch 2.0 Beginner's Guide Second Edition Rating: 4 out of 5 stars4/5Coding for Minecrafters: Unofficial Adventures for Kids Learning Computer Code Rating: 0 out of 5 stars0 ratingsCoding + Math: Strengthen K–5 Math Skills With Computer Science Rating: 0 out of 5 stars0 ratingsScratch 2.0 Programming Rating: 3 out of 5 stars3/5Hello World! Third Edition: Computer Programming for Kids and Other Beginners Rating: 0 out of 5 stars0 ratingsScratch 2.0 Game Development - HOTSHOT Rating: 1 out of 5 stars1/5Mission Python Rating: 0 out of 5 stars0 ratingsHello Scratch!: Learn to program by making arcade games Rating: 0 out of 5 stars0 ratingsSCRATCH Projects for 8-9 year olds: Scratch Short and Easy with Ready-Steady-Code Rating: 0 out of 5 stars0 ratingsScratch Projects for 10-11 year olds: Scratch Short and Easy with Ready-Steady-Code Rating: 0 out of 5 stars0 ratingsCoding for Kids Ages 10 and Up: Coding for Kids and Beginners using html, css and JavaScript Rating: 5 out of 5 stars5/5Coding and the Arts: Connecting CS to Drawing, Music, Animation and More Rating: 0 out of 5 stars0 ratingsDon't Teach Coding: Until You Read This Book Rating: 0 out of 5 stars0 ratings
Teaching Methods & Materials For You
Never Split the Difference: Negotiating As If Your Life Depended On It Rating: 4 out of 5 stars4/5Grit: The Power of Passion and Perseverance Rating: 4 out of 5 stars4/5Dumbing Us Down - 25th Anniversary Edition: The Hidden Curriculum of Compulsory Schooling Rating: 4 out of 5 stars4/5On Writing Well, 30th Anniversary Edition: An Informal Guide to Writing Nonfiction Rating: 4 out of 5 stars4/5Verbal Judo, Second Edition: The Gentle Art of Persuasion Rating: 4 out of 5 stars4/5Personal Finance for Beginners - A Simple Guide to Take Control of Your Financial Situation Rating: 5 out of 5 stars5/5Financial Feminist: Overcome the Patriarchy's Bullsh*t to Master Your Money and Build a Life You Love Rating: 4 out of 5 stars4/5The Dance of Anger: A Woman's Guide to Changing the Patterns of Intimate Relationships Rating: 4 out of 5 stars4/5Lies My Teacher Told Me: Everything Your American History Textbook Got Wrong Rating: 4 out of 5 stars4/5Fluent in 3 Months: How Anyone at Any Age Can Learn to Speak Any Language from Anywhere in the World Rating: 3 out of 5 stars3/5Weapons of Mass Instruction: A Schoolteacher's Journey Through the Dark World of Compulsory Schooling Rating: 4 out of 5 stars4/5The Anxious Generation - Workbook Rating: 0 out of 5 stars0 ratingsThe 5 Love Languages of Children: The Secret to Loving Children Effectively Rating: 4 out of 5 stars4/5Jack Reacher Reading Order: The Complete Lee Child’s Reading List Of Jack Reacher Series Rating: 4 out of 5 stars4/5Speed Reading: Learn to Read a 200+ Page Book in 1 Hour: Mind Hack, #1 Rating: 5 out of 5 stars5/5Writing to Learn: How to Write - and Think - Clearly About Any Subject at All Rating: 4 out of 5 stars4/5Closing of the American Mind Rating: 4 out of 5 stars4/5Good to Great: Why Some Companies Make the Leap...And Others Don't Rating: 4 out of 5 stars4/5400 Things Cops Know: Street-Smart Lessons from a Veteran Patrolman Rating: 4 out of 5 stars4/5The Lost Tools of Learning Rating: 5 out of 5 stars5/5Principles: Life and Work Rating: 4 out of 5 stars4/5How to Take Smart Notes. One Simple Technique to Boost Writing, Learning and Thinking Rating: 4 out of 5 stars4/5Becoming Cliterate: Why Orgasm Equality Matters--And How to Get It Rating: 4 out of 5 stars4/5Inside American Education Rating: 4 out of 5 stars4/5Speed Reading: How to Read a Book a Day - Simple Tricks to Explode Your Reading Speed and Comprehension Rating: 4 out of 5 stars4/5A Study Guide for Octavia Butler's "Parable of the Sower" Rating: 0 out of 5 stars0 ratingsWhy Does He Do That?: Inside the Minds of Angry and Controlling Men Rating: 4 out of 5 stars4/5
Reviews for Code-It
0 ratings0 reviews
Book preview
Code-It - Phil Bagge
Answers
Introduction
Author introduction
I have been a primary school teacher, lead teacher and advanced skills teacher in Information and Communication Technology for many years and in that time I have tried many new technologies in the classroom. Looking for something that would stretch my pupils' thinking, in 2012 I joined CAS (Computing at Schools), a grassroots organisation dedicated to promoting Computer Science. There I discovered the challenge of programming and computational thinking. I was so impressed with pupils’ positive responses to this more challenging work that I approached a group of Hampshire primary head teachers and asked them if they would employ me to teach a strand of computing science.
For the last three years I have taught over 1300 hours of Computer Science in six schools. In these years I have made plenty of mistakes while discovering what works and what helps develop resilience and problem solving skills in my pupils. I set up my own website, code-it.co.uk, to record my journey and help others benefit from my experiences. These resources have been edited and revised many times and downloaded by teachers tens of thousands of times for use within classrooms across the country. It has been a real joy writing this book as it has given me the chance to do one definitive version reflecting the way I teach computing science now. The Scratch resources on my website will remain there but this book is the best, most up to date version of these.
0A. Ways to use this book
This book can be used by:-
•Experienced teacher - programmers as a guide to what works in the classroom when delivering the National Curriculum
•Teachers with little experience of programming, who would value a way in
to teaching computing with confidence
•Parents who want to help their children gain important skills and work on a topic that they have an enthusiasm for
This book can be used:-
•As a full programming strand for KS2 (7-11 year olds) for all four year groups
•As a resource book of programming planning that emphasises computational thinking
•As a supplementary strand of programming that emphasises Music, Maths, Literacy or Gaming
•As a starting place to think through and create your own programming planning
•As a home tutoring guide to develop Computer Science knowledge and skills through programming
•As a set of projects to work through with your child if their school has chosen to teach only the barest minimum Computer Science or teach lots of it in an unplugged fashion. Please ask your school if they are using or intend to use the scheme first.
0B. Teacher Book & Pupil Workbooks
This volume goes alongside four pupils' workbooks. These are printed in black and white and are priced so they can be bought for each child as a workbook, saving teachers and support staff time.
Pupil Workbooks
Each programming module has reference to resources in the pupil workbooks when pupils need to use them. Each Scratch module also has an overview page in the pupil workbooks briefly describing the project and key computational thinking ideas. These pages also contain further home projects that pupils could complete independently once they have fully completed the module at school. Pupils could take the book home to complete these. Projects are graded.
First Steps These are reinforcement activities
Next Steps These require more investigation
Further Steps Designed to challenge the more able
You may also wish to point out the pupil parent guidance sheet found at the front of the pupil workbooks the first time you send one of the further challenges home, as it stresses the independent nature of the tasks.
0C. Hint Cards & Video Support
Many projects contain hint cards. These can be photocopied and folded to make A4 booklets. Some contain code samples that pupils can use to help them debug errors and some contain hints that help to trigger the next step in learning. It is worth printing these before the lesson and using with those pupils who need them.
The author is working on a set of videos to support many of the modules found in the book.
You can find these and other online files mentioned in the book at:
http://code-it.co.uk/bookmedia
0D. Why Scratch and why mainly Scratch in KS2?
When I first started teaching Computer Science in five schools I flitted about between Logo, Scratch, Kodu, Python and a few other programming languages. I found that I was wasting time covering the basics over and over again as pupils struggled to come to terms with new ways to do the same things. I realised that if pupils were truly to design and write their own programs with sequence, selection, repetition and variables I needed to develop depth in one programming language first before dipping into others. When evaluating which language to use as my core language I was looking for an ability to create a wide variety of programming types not just games (Kodu) or drawings (Logo) and a language that used the programming basics of sequence, selection, repetition and variables well and are which aided pupils’ understanding of these foundational concepts. Scratch with its bright colourful blocks and excellent design was really the only choice. It was just the cherry on the top that it has an excellent user community and was created and supported by one of the world’s premier computing universities, the Massachusetts Institute of Technology.
Limits of this volume
This work is only concerned with the first two aims of the English Computing National Curriculum worked out through the first three aims of the KS2 programs of study.
The aims are:-
The National Curriculum for computing aims to ensure that all pupils:
-can understand and apply the fundamental principles and concepts of computer science, including abstraction, logic, algorithms and data representation.
-can analyse problems in computational terms, and have repeated practical experience of writing computer programs in order to solve such problems.
The first three aims of the programs of study in KS2 are:
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.
0E. Computational Thinking in the National Curriculum
The opening statement of the introductory paragraph of the 2014 English computing National Curriculum 1 says, A high-quality computing education equips pupils to use computational thinking and creativity to understand and change the world.
This is a wonderful opening statement which highlights the importance of computational thinking. I also like the way it highlights that computer science is both a science and an engineering discipline. Understanding the world is a scientific endeavour and changing it is an engineering one. Computer Science doesn’t just think about things, it turns this thinking into digital artefacts to be tested and evaluated by society.
What is Computational Thinking like?
Computational thinking – the ability to think about solving problems with a computer. This is like scientific thinking (how to use experimental methods) or mathematical thinking (using equations, logic, algebra and trigonometry) or historical thinking (using documentary evidence and cross-checking written sources). Although programming (or coding) is often talked about, it is the wider ability to use a variety of programming, analysis and modelling techniques that is important.
Computational Thinking is
Wikipedia2 describes it as problem solving method that uses computer science techniques.
ITSE3, the International Society for Technology in Education, in their article on computational thinking describe computational thinking as critical thinking ideas combined with the power of computing. Computational thinking is not thinking like a computer. Computers are un-intelligent devices, all the things they do they do because a human has thought through a set of instructions (algorithm) and then converted this into code that a computer can follow precisely.
Who first thought of the term?
The first4 person to popularise computational thinking and call for computational thinking skills to be taught to all was Jeanette Wing,5 a prominent American computer scientist. She argued that, To reading, writing, and arithmetic, we should add computational thinking to every child’s analytical ability.
6
Is it a new idea?
The idea that problem solving methods used by computer scientists should be taught to every child is relatively new (2006), however the toolkit of useful critical thinking tools are much older.
What thinking skills are included?
A recent CAS working group included algorithmic thinking, evaluation, decomposition, abstraction and generalisation in their framework document7. These are specific thinking skills that have particular meanings for primary pupils and teachers. (Note that they are important for other areas of the curriculum too!)
Algorithmic Thinking
Algorithms define a precise set of instructions or rules to achieve an outcome or solve a problem. A recipe can be an algorithm, musical score can be an algorithm and instructional writing can be an algorithm. All working computer programs started life as human ideas that were expressed as algorithms in thoughts, words, symbols or flow charts. Programming is the challenge of turning precise ideas (algorithms) into code that can be read by a machine. When we define a precise set of instructions we save time as this algorithm can be reused to solve a problem over and over again and adapted (generalised) to solve similar problems.
Evaluation
Evaluation is how we look at algorithms and determine how useful they are, how adaptable, how efficient and how correct they are. There may be many algorithmic solutions to a problem, evaluation asks which one was best and why? Evaluation is also concerned with the people who use an algorithm. Did it solve their problem? Was it better on paper than in practice? Evaluation is also a very useful skill to extend into programming as well. Getting pupils to think about an end user in the design (algorithm) stage can help focus ideas. I think there is a lot of links between logical thinking in the National Curriculum and evaluation.
Decomposition
Decomposition is the skill of breaking a complex problem up into smaller manageable chunks and solving these chunks separately. I have found this to be a wonderfully useful skill in games design. Faced with the task of creating a new game8 pupils are often overwhelmed by the amount to think through. We use a decomposition planner where they jot down what they want the game to do first before circling objects and ideas and describing these in greater detail. This allows them to focus on designing small parts of the game separately before recomposing these ideas into the whole. Before pupils can usefully use this type of decomposition they need to see it modelled. In this scheme we do this at various points, decomposing an introductory project such as the Smoking Car [p26], Showing pupils a working copy of what they will create without showing them the code and asking them what they would need to create and what they would need to make it do. At the early stages this can be done verbally but it is important as projects become more complex to insist on written decomposition as we do in the Times Table Game [p142].
Abstraction
Abstraction is the skill of reducing complexity by hiding irrelevant detail and focussing on the most important element. This is a really useful computational skill as once the irrelevant detail has been stripped away computer scientists can focus on what really needs doing. Imagine I wanted to turn the card game Pairs into a computer game. The most important element is; you win if items are the same. This can be abstracted further into A = B win, A ≠ B lose. In the Music Abstraction module [p100], we use abstraction to turn a musical sound track on a video into an algorithm and then into musical programming in Scratch. We start by listening to a video and identifying all the elements on the video, singing, high and low pitch notes, moving pictures, backing track etc. We then look at what detail is important to turn into notes on Scratch and what is irrelevant. We ended up identifying pitch as the most important element to keep. We swapped to a much simpler music track where pitch was more obvious and listened to this to write a musical algorithm before converting this into code.9
Generalisation
Generalisation is adapting a solution that solved one problem to solve another. In our abstraction example earlier we reduced