1. Resources Home
  2. Primary
  3. Computing
  4. Computational thinking
  5. Algorithmic thinking
Python - Getting Started

Python - Getting Started

4 documents that include example Python code, tasks and programming challenges to complete to help students, NQTs and non-specialist teachers to learn the following Python programming skills: Input and print statements If statements For loops While loops Perfect for classroom activities, homework tasks and self-study. Answers are included.
nwilkin
Python While Loop Practical Challenges

Python While Loop Practical Challenges

A great 2 page handout for your pupils to practice While Loops in Python . Includes example code, a task to read code, a task to correct code and 3 practical challenges for them to practice writing for loops in Python code. It even includes a PDF containing the answers. Great for homework tasks, classroom activities or self-study.
nwilkin
Python For Loop Practical Challenges

Python For Loop Practical Challenges

A great 2 page handout for your pupils to practice For Loops in Python . Includes example code, a task to work out the output from the range function, a task to correct code and 4 practical challenges for them to practice writing for loops in Python code. It even includes a PDF containing the answers. Great for homework tasks, classroom activities or self-study.
nwilkin
Python If Statements Practical Challenges

Python If Statements Practical Challenges

A great 2 page handout for your pupils to practice Python if statements. Includes example code, a task to identify the main operators, a task to correct code and 3 practical challenges for them to practice writing if statements in Python code. It even includes a PDF containing the answers. Great for homework tasks, classroom activities or self-study.
nwilkin
Python Basics Practical Challenges

Python Basics Practical Challenges

A great 2 page handout for your pupils to practice Python basics. Includes example code, a tasks to read code, a task to correct code and 4 practical challenges for them to practice writing Python code. It even includes a PDF containing the answers. Great for homework tasks, classroom activities or self-study.
nwilkin
Scratch DIRT SHEET - Assessment

Scratch DIRT SHEET - Assessment

Created this DIRT sheet for my Year 8’s but can be used for any year group. SIMPLE TO FOLLOW Teacher can look through their scratch projects and tick the boxes the pupils have covered in their Project. Pupils can then reflect on their project and suggest improvements they could make.
LUKEB82
What is an ALGORITHM

What is an ALGORITHM

An introduction to algorithms using a flowchart with sequence, selection and iteration. The worksheet provided enables students to slow down their thinking to focus on each instruction in the algorithm until the last instruction is executed and the program ends.
chris_vidal
Kodu-Rhythm Lesson 3(An Introduction to coding using Kodu)

Kodu-Rhythm Lesson 3(An Introduction to coding using Kodu)

Kodu is a friendly graphical programming language where students can build their own world and program objects within. This series of lesson uses kodu to introduce computer science terminology such as algorithm and variables to develop computational thinking skills.
chris_vidal
Getting your head around while loop - ITERATION for beginners.

Getting your head around while loop - ITERATION for beginners.

Understanding variables and loops are the most significant aspects of coding. It is important for students in early stages to grasp the concept of how loops work if the are to be successful candidates for computer science. This power point presentation is a scaffold building fundamental steps required in understanding and applying loops using python. Students must already know how to use basic input and output functions in python. The language and terminology used is simple enough for a non specialist to use and teach a coder at beginner level. The python idle software is available to download for free at https://www.python.org/downloads/. After students have fully grasp the concept of loops and how they work, they extension task will provide a challenge for them to apply their knowledge, using computational thinking to improve their code.
chris_vidal
[GCSE+IGCSE] Python Text Adventure Coding Challenge

[GCSE+IGCSE] Python Text Adventure Coding Challenge

This is possibly my most favourite piece of work to do with the students. I do it as an end of year activity when they are a bit more confident with the material. We create a zombie survival text adventure game and I have recently updated it to include questions similar to what has been in the recent exam and in the exemplar exam What is covered Local and Global Variables Variable Types Input and Validation Conditional Loops Fixed Loops Arrays Subprogram calls (Functions, Procedures and Pre-defined) Libraries Complex conditions and selection Repetition and Iteration What is included Word document with instructions, task overview and more detail on the activity Student Starting Python file (in zip folder) Teacher completed exemplar file Answer document to questions
PaperAirplane
#GoogleExpeditions The Hydrosphere: Modeling the Water Cycle with Scratch

#GoogleExpeditions The Hydrosphere: Modeling the Water Cycle with Scratch

This lesson combines science and computer science as students explore the water cycle through an expedition in the hydrosphere and use the programming language Scratch to create their own model. Objectives: Students will discuss how all water moves through a never ending cycle identifying key points in all stages. Students will apply their understanding by creating a model of the water cycle in Scratch. Standards: ESS2C: The Role of Water in Earth’s Surface Processes 5-ESS2-1 MS-ESS2-4 CSTA 1B-AP-10: Create programs that include sequences, events, loops, and conditionals. CSTA 1B-AP-17: Describe choices made during program development using code comments, presentations, and demonstrations. Additional videos / resources: Crash Course Kids: The Great Aqua Adventure https://www.youtube.com/watch?v=z5G4NCwWUxY Google Expedition Research Journal https://drive.google.com/file/d/1cd-NZMmx4dwzMsWNOuBg8Y375_iDJm6G/view?usp=sharing Create your own Google Logo Activity https://csfirst.withgoogle.com/c/cs-first/en/create-your-own-google-logo/overview.html Scratch Project Rubric https://docs.google.com/document/d/1jxxNbEITs4SDxNjsl0fXoq-XRX3t2HpY6aRfL_iKDyk/edit?usp=sharing Optional/Additional Lesson Plans/Resources Hydrologic (Water) Cycle Multimedia Text Set https://docs.google.com/presentation/d/e/2PACX-1vROakYmPuB2lMPONXbnF2kh28gPHC9EWM2ojZp7tvu9pFHUqgOjUFlb-URpx9w5zZnfCFf6qK28Wqht/pub?start=false&loop=false&delayms=3000 NASA Precipitation Education: Exploring the Water Cycle https://pmm.nasa.gov/education/lesson-plans/exploring-water-cycle
kdmoura
Scratch [Modelling and Simulation]

Scratch [Modelling and Simulation]

My activity booklet for building a model of a the solar system in Scratch. Students complete some Internet research first (gives us a chance to look into searching techniques, fake news and logging data/information) We then spend a few lessons coding the solution to the model, getting the sun to rotate around the sun. Adding the moon to rotate around earth and then adding the other planets. This is a really fun activity that I use as a transition from talking about Internet safety, Internet skills to programing in Scratch, I have also included an example solution file, so you can learn how to code this particular solution, as well as demonstrate a working model the students.
PaperAirplane
Scratch Programming Fractal Tree Activity

Scratch Programming Fractal Tree Activity

One of the areas of the national curriculum that we should be introducing students to is RECURSION. This is an excellent activity to introduce that concept in a visual way with a simple task to create a fractal tree in Scratch programming. This activity I had a learning observation on. I had my students work in small groups to try and complete the main activity together. When they finished this, they were to research other fractal activities on-line and see what they could create. Students really enjoyed this activity at the end of the Scratch topic to introduce a very complex topic that is not part of GCSE, but that appears again at IB level and A level. I expect students to learn that recursion is a complex rule that simplifies programs, but is very difficult to understand and it is a function that uses itself to solve a problem.
PaperAirplane
Scratch Programming Test 2 + Answers

Scratch Programming Test 2 + Answers

End of section test (I use with Y8 students) to assess their comprehension of coding using Scratch (I have uploaded my unit of work which goes with this. This is used a long with the assessment activity uploaded in the other unit of work, to check student progress. This is a problem solving assessment which tests students abilities to read and interpret code, as well as explain it. Checks their logical and computational thinking skills and ability to spot and correct errors.
PaperAirplane
Lesson:   algorithms, decomposition and anstraction

Lesson: algorithms, decomposition and anstraction

The lesson is suitable for KS3 / GCSE Computer Science. Starter, asking pupils to comment on an article about the impact of algorithms Presentation on what an algorithm is, giving examples of algorithms, different kinds of computer algorithms and how these sets of instructions can be developed into a program. Sample python programs supporting the presentation on algorithms Presentation on decomposition saying what it is, giving examples and looking at how decomposition can apply to programs effecting the way a person programs (eg functional programming) Task to decompose an authentication probem. Presentation on abstraction, looking at what it is, giving examples and considering what data can be removed as part of the abstraction process. The pupils are given a task to remove any unecessary detail from an algorithm. The pupils complete five abstraction questions . Plenary, the pupils split into pairs and are given a problem. One person explains in a series of steps how to solve the problem (decomposition), whilst the other person tries to intervene to remove any unecessary detail from the explanation (abstraction) Homework task on how to make toast breaking this problem down using decomposition / abstraction.
Teacher_aesg
Scratch Programming Y7/8/9 Activities Booklet

Scratch Programming Y7/8/9 Activities Booklet

Depending on the skills of your class, this is an activity book which can be used to introduce a lot of the Computing/Computer Science Curriculum in a creative way. 8 separate activities with links to completed/example projects and instruction videos. Lesson 1: Mad Libs This provides a nice opportunity to cross some Literacy boxes and cross curricular activities. It also ensures that students are being introduced to arrays and lists. This may seem complex at this point, but the activity really allows students to get the ideas behind it. One lesson to introduce and complete, scope for taking it further. We branched out for another lesson and students designed and implemented an excuse generator. Lesson 2: Digital Binary Perfect lesson to introduce Logical and Computational Thinking and go into as much or as little depth in Binary as you like. Again, this lesson took us about two lessons, as I made some follow up activities for the alarm clock and logic which are mentioned in the task themselves. Lesson 3: Randomly Random Introducing random functionality and variables to create a random character based on different sprites and costumes. We spent a few more lessons on this, as we advanced onto some follow up activities which are mentioned in the activities. Lesson 4: Keepy Uppy This is the first games based task that students make. It is based off the similar Atari game. All explained within file. I have also included the video lessons that I use to support my weaker students who are struggling in this. again, great scope to go above and beyond what is here, limited only by time and students abilities. Lesson 5: Harry Potter Challenge I complete this activity in pairs for a change on some of the other tasks. Students work together taking turns to be coder and tester, swapping often. They really love this and we spent a while designing other parts for our game and having a class competition on them Lesson 6: Group Project Another group based learning activity. Swapping groups (not necessary) we look at some of the pseudocode and flowcharts (included for several tasks here) I have included some links to some excellent exemplar student work here. Again, introducing simulation to students and with scope to go beyond what is included in the activities. Lesson 7: Practical Assessment As part of moving to life beyond levels (I have left levelling info in this, but included the word file and you are welcome to edit) This I do over one lesson - students struggle to finish it, so it really does differentiated the different skill levels Bonus Activity: Recursion I have included a Fractal Tree Activity that I use to teach about recursion. Fun end of term challenge.
PaperAirplane
Lesson: efficiency of algorithms

Lesson: efficiency of algorithms

The lesson is suitable for GCSE / KS3 Computer Science (see other similar lessons in this series) To understand that more than one algorithm can be used to solve the same problem. To compare the efficiency of algorithms explaining how some algorithms are more efficient in solving algorithms than others, specifically space and time efficiency of algorithms Please leave a comment if you like the resource. Lesson plan Presentation on space efficiency that looks at a simple algorithm of adding up consecutive numbers (eg 1 + 2 + 3 + 4 … ) in a sequence, then compares this approach with using a loop and then looks at using an equation to solve the problem as an example of space efficiency in an algorithm. Pupils program these algorithms for themselves to see how lines of code can be reduced in a program. The above presentation is supported by three python programs (eg sequence, loop, equation python programs) Presentation on time efficiency that looks at two algorithms (one using a loop and another using an equation) to see which ones are more time efficient. Pupils program these algorithms to see how execution time of a program can be reduced. The above presentation is supported by two python programs (eg loop and equation python programs) The pupils are then given a program task to try to create a program that will calculate the nth term of the sequence 2, 4, 8, 16 in the most efficient way. A stretch and challenge exercise considers how to program a more difficult sequence of numbers Plenary presentation quiz to test pupils knowledge Homework looking at definitions of space and time efficiency and an example algorithm (answers provided)
Teacher_aesg
[GCSE+IGCSE] RECORDS ARRAYS FLOWCHARTS

[GCSE+IGCSE] RECORDS ARRAYS FLOWCHARTS

A series of 6 activities (15 lessons following structure below) that can either be used to introduce Records, Arrays and Flow Charts, or as a revision tool at the end of introducing these. With each activity, I spend time going over the skills at the beginning of the lesson, with the students completing the flow chart in each scenario. For each activity, I have included extension activities to challenge the more advanced students. After each flow chart is completed, we review the learning at the end of the lesson. The second lesson for each, we review the learning from the previous activity and then code the solutions. I often do these in a mix of group and paired programming scenarios. This would also work well as a carousel activity, giving a set time at each station or, working in groups, students could implement the solutions for them and present their learning back to the rest of the class All in, covering theory, taking time to implement the code, and with testing at the end, this short set of activities takes us around 15 lessons and hugely benefited my students in the Paper 2 in the recent exam. There were a few questions which came up with regards to manipulating records / writing to files which, following these activities, my students were very confident with. This exercise was also used during a Looking For Learning classroom observation.
PaperAirplane
Lessons:   linear & binary search

Lessons: linear & binary search

Lessons (x1 hour) on linear and binary searches and logic gate presentation GCSE Computer Science. Starter activities Presentation on linear and binary searches View simulations of both searches Worksheet questions Stretch & challenge activities Plenary Homeworks (Logic gate presentation included)
Teacher_aesg
[GCSE+ IGCSE] End of Unit/topic Assessments for Computer Science

[GCSE+ IGCSE] End of Unit/topic Assessments for Computer Science

SET 1 of a few similar uploads 7 tests for different units Binary, Algorithms and Programming Each is separate with at least two for each unit. I use these as Part of my Y9 Computer Science course which leads students nicely into IGCSE Computer Science and GCSE Computer Science Basic Computer systems covering Hardware, ROM, Input devices etc Algorithms covering design of algorithms with pseudocode, flow charts etc and some trace tables Binary test, covering all areas except addition shifts and hex Programming tests covering conditonal loops, complex conditions, selection, repetition, inputs.
PaperAirplane
SCRATCH - making a game stage 2

SCRATCH - making a game stage 2

This PowerPoint has video descriptions of how to add features to a simple driving or maze navigation game. I used it with year 3 and made this to help the teachers who were not confident or familiar with SCRATCH themselves. They were able to play the pages and then get the children designing, making, innovating and debugging their games. It is a large file, so allow time for it to download.
NickAHutson
Kodu-Rythm Lesson 2(An Introduction to coding using Kodu)

Kodu-Rythm Lesson 2(An Introduction to coding using Kodu)

Kodu is a friendly graphical programming language where students can build their own world and program objects within. This series of lesson uses kodu to introduce computer science terminology such as algorithm and variables to develop computational thinking skills.
chris_vidal
Kodu-Rythm Lesson 1(An Introduction to coding using Kodu)

Kodu-Rythm Lesson 1(An Introduction to coding using Kodu)

Kodu is a friendly graphical programming language where students can build their own world and program objects within. This series of lesson uses kodu to introduce computer science terminology such as algorithm and variables to develop computational thinking skills.
chris_vidal
Introduction to algorithms

Introduction to algorithms

A gentle and friendly introduction to algorithms with a simple worksheet to enable students to develop computational thinking. Understanding how algorithms work and how they are used by computers is fundamental to achieving success in GCSE computer science. This lesson introduces KS2 and KS3 students to algorithms. This lesson could be used alongside the algorithms in scratch series.
chris_vidal
Presentation:   validation rules (x16 slides)

Presentation: validation rules (x16 slides)

The presentation introduces x7 validation rules; range check, type check, presence check, length check, lookup check, picture check and check digit check. Each one of the descriptions is supported with an example written in python and these have been uploaded as separate text files as part of the resource.
Teacher_aesg
Presentation:   data flow diagram (x13 slides)

Presentation: data flow diagram (x13 slides)

A presentation that introduces the different data flow diagram symbols, one by one and explains how a data flow diagram can be constructed from a table. An example of a data flow diagram is given followed a challenge exercise.
Teacher_aesg
Caesar Cipher Python Program (KS3 resource)

Caesar Cipher Python Program (KS3 resource)

This was programmed by me as a teaching aid to allow Year 9 pupils to see both how the Caesar Cipher works and to link it directly to programming and computational thinking. It can be used to have students identify the algorithm, use of items such as strings and lists and other variables as well as procedural programming and as an example of the practical use of Tkinter to code the graphical user interface. Another activity is to have pupils comment the program and to explain the job carried out by each procedure. Sensible names are used throughout the code for ease of tracing and to make it more easily understood. Code also contains some comments. Please note: on download rename the caesar1.txt file to caesar1.py and keep the gif file in the same file directory as the program file for the image of Julius Caesar to appear in the program.
Carl67
KS3 Computing - Cryptography Unit of Work - Lesson Presentations, Worksheets and Assessment

KS3 Computing - Cryptography Unit of Work - Lesson Presentations, Worksheets and Assessment

This is a whole unit of work that this aimed at KS3 - it covers all aspects of Cryptography that the students have absolutely loved doing and this has been uploaded to Google Classroom and made the whole unit very interactive. The work is split into Flight Paths and contains an assessment. All work has stretch and challenge extension tasks too. This is a really enjoyable unit of work for about 6 weeks.
cheekieclaire
Python Calculator - Using Subroutines

Python Calculator - Using Subroutines

This is a full lesson which teaches students how to create a simple calculator program in Python using subroutines. Help code is provided with each task for weaker students Task solutions are also included on the PPT The full working code is attached as a text file Extension tasks are included for the more able This is best taught after an introduction to subroutines.
jan3333
SCRATCH -how to make a game, step by step

SCRATCH -how to make a game, step by step

A PowerPoint with step by step videos introducing a class (and teacher?) to the stages of making a very simple driving game. It was made to help teachers who are not confident about introducing SCRATCH coding to a class. Load and play a step at a time. It’s quite a big file so be patient. Also available, with planning etc from http:bit.ly/sjsresources
NickAHutson
Pseudo Code - Array and Multidimensional Array

Pseudo Code - Array and Multidimensional Array

This is a powerpoint which you can get part of a pack. It teaches you how to do a multidimensional array and shows examples of how they can be used to work out the range. Hope that it is useful to some other teachers.
r_chambers
OCR - 9-1 - Computer Pseudo worksheet questions

OCR - 9-1 - Computer Pseudo worksheet questions

This work sheet is a number of questions including extension activities that will get students to program pseudocode on paper. The first part of the work sheet includes some basic questions as well as some answers on an answer sheet. It should be some good practice for the basics of pseudo code. The extension questinos are more complicated and should be done on a separate sheet or work book as practice for the students.
r_chambers
Algorithms & Flow charts Lesson

Algorithms & Flow charts Lesson

This lesson is aimed at Key Stage 3/4 and explains algorithms, has activities on flow charts, teaches pupils the flow chart symbols and contains a main task on creating a flow chart algorithm.
ahandford77
Teach yourself the ENTIRE AQA GCSE Computer Science specification

Teach yourself the ENTIRE AQA GCSE Computer Science specification

Looking for a complete solution to help you get to grips with the AQA Computer Science GCSE (9-10)? Need to feel more confident with the subject matter? Not sure how to approach some areas of the curriculum? Want a ready-to-use resource that is ideal for use in the classroom, for homework tasks and self-study? “Nichola thank you. They have saved me a lot of time" Matt - Computing Teacher We have created 7 detailed PDF student workbooks that EXACTLY match the AQA GCE (9-1) Computer Science (8520) specification. Each includes theory, tasks to recap the knowledge and put new skills into practice. they even include the answers! Seperatly these would cost £150 but if you buy them as part of this bundle it only costs £100 saving you a massive £50. “Love these packs - saved me so much work” Laura - Head of Computing Perfect for non-specialist teachers, NQTs or teachers who feel a little unsure about the qualification content and want some ready-to-use tasks to use in class. “Love your revision books. Your resources are such a life saver!” Katie - Non-specialist computing teacher Provided as seven separate PDF documents: • Fundamentals of algorithms • Programming • Fundamentals of data representation • Computer systems • Fundamentals of computer networks • Fundamentals of cyber security • Ethical, legal and environmental impacts of digital technology on wider society, including issues of privacy “Brilliant. These have been fab and my students love them.” Debbie - Computing Teacher These are ideal to use in the classroom, as homework tasks or for independent study as revision for the examinations.
nwilkin
Computer Science: Programming with pseudocode and Python AQA (9-1) GCSE

Computer Science: Programming with pseudocode and Python AQA (9-1) GCSE

Great for AQA (9-1) GCSE Computer Science revision and help with the programming project. This workbook covers the AQA GCSE Computer Science (8520) specification section 3.2 “Programming”. It includes a 116-page PDF document including theory, tasks and includes all the answers. Whenever possible pseudocode is shown alongside the Python code to allow students to compare the similarities and differences between them. Perfect for NQTs, non-specialist teachers or teachers who feel a little unsure about the qualification content and want to improve their subject knowledge. Also ideal as a teaching resource and covers programming in Python from the basics to more advanced techniques including writing to text files, 2D arrays and using subroutines. It also gives help on planning robust programs and testing programs along with the difference between an interpreter, a compiler and an assembler. Table of contents: Data types Variables and constants Iteration Selection Subroutines (procedures and functions Global and local variables Operators One-dimensional arrays Two-dimensional arrays Input and Output Reading from and writing to a text file String handling operations Random number generation Structuring programming Robust and secure programming Data Validation Creating a simple authentication routine Testing your programs Low-level and high-level languages Translators Other workbooks in this series: * Fundamentals of Algorithms GCSE revision student workbook Fundamentals of Data Representation GCSE revision student workbook * Computer Systems GCSE revision student workbook Fundamentals of Computer Networks GCSE revision student workbook Cyber Security GCSE revision student workbook Ethical, legal and environmental impacts
nwilkin
GCSE Computer Science 9 x Module Quizzes - Great for exam revision, consolidation, assessment or homework

GCSE Computer Science 9 x Module Quizzes - Great for exam revision, consolidation, assessment or homework

This is a collection of my module quizzes - a series of exam style questions and key knowledge/skill checks for each of the main Computer Science topic. Questions are applicable to all exam boards including AQA and OCR. All module quizzes come with full answers provided. I print these 2 to a page and use them both for end of topic assessments for current year 10, and exam revision for year 11.
MrWatkins123
Sequencing skills using iPads

Sequencing skills using iPads

This resource is aimed at teachers using iPads with students to provide ideas and inspiration for iPad activities in class. It’s suitable for all levels of teaching experience and digital skill, from new starters to experienced digital leaders. It can also be used as a general CPD resource for developing teaching skills, as the ideas suggested are not reliant on digital devices. Sequencing is an important thinking skill for students to develop. The first page of the resource provides the rationale for sequencing as a teaching concept and ideas to try out with suggested apps, along with differentiated levels of challenge for students to practise this skill. We’ve linked iOS apps but the ideas are adaptable to non-iOS / BYOD digital classrooms too. The second page provides some subject-specific ideas for lesson activities (our apologies if we’ve missed out your subject area!). We hope you’ll find some iPad teaching & learning inspiration here! About us: we’re developing a classroom app, Sparkjar, for use in iPad schools. We’ve made these free resources because we want to give something back to teachers whilst we raise the profile of Sparkjar. We hope you find them useful as part of your iPad teaching toolkit. There’s a link to our website in the resource - if you want to check us out, please do.
Sparkjarapp
Poster: Blooms Taxonomy and Computational Thinking

Poster: Blooms Taxonomy and Computational Thinking

Use Blooms Taxonomy thinking skills to incorporate Computational Thinking Concepts within your lessons. This poster cross references Blooms Taxonomy thinking skills with the concepts of Computational Thinking in order to support your delivery of these concepts within the classroom. Suitability ratings are also provided in order to identify how computational thinking concepts can be linked to their relative thinking skills. ***Please leave a review!
RobbotResources
4 Programming Lessons Pack for Python

4 Programming Lessons Pack for Python

Four lessons: Variables, Selection, Iteration and Functions. Includes 2 worksheets for lessons 2 and 3. Full lessons, starters, activities, plenaries etc, differentiated and include screen shot answers for each python programming activity.
ahandford77