1. Resources Home
2. Middle School
3. Computing
4. Computational thinking
5. Logical reasoning

#### 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.

#### IGCSE Computer Science worksheets

Topics included: Computer Architecture Ethics Input Devices Memory Storage and media Programming concepts Pseudocode and Flowcharts Algorithm Design

#### IGCSE Computer Science Logic gates worksheet

Worksheet for IGCSE computer science Logic Gates unit, covers all spec points in unit.

#### 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.

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.

#### [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

#### [GCSE+IGCSE] Exam Style Questions on coding

Exam preparation questions on coding for Paper 2 Content Question sheet Zipped folder of Python code

Activity to practice encoding and decoding messages with the Vigenere Cipher

#### [GCSE + IGCSE] Caesar Cipher Encryption and Decryption Task

Simple activity to practice encrypting and decrypting messages with the Caesar Cipher

#### [GCSE+IGCSE] Mini Project: Pentathlon

This is another of the mini projects that I get my students to complete in preparation for completing the coursework. Lesson Overview Depending on ability level, we start by completing flow charts and pseudocode to complete the design of the program. I sometimes prepare a complete one, but blank out some of the steps to give to my weaker students. Better students I will give blank designs to and somewhere in between for the other students. At end of this lesson, we look at how the code works In preparation for the next lesson, I get the students to watch the video as a homework task. The next lesson, the students complete the program using their pseudocode / flow charts completed in previous lesson. If they are still struggling, they can watch the video again in class time, as well as me able to wander around and help. Students who are better at coding will easily be able to add more functionality to this project Included Zipped file contains: 2 CSV files required for the project and the completed solution file (1 of the CSV files is the file writing part) Video Support of completing the solution Whilst this is mainly aimed at students, it would be useful PD for any Computer Science teachers who are still struggling to understand the complex programming side of the course What this teaches File Reading from CSV file File writing back to CSV file Storing Data in 2D arrays Functions/Procedures Parameter Passing Complex Functions (Finding Minimum algorithm using 2D arrays) Combining

#### [GCSE+IGCSE] Mini Course work project with Video and Solution Computer Science

This is a smaller project that uses File Reading, 2D arrays and some manipulation of the data stored in it. A complex project, smaller than a final year project, but building in complexity. Included: 3 solution videos, completed solution file (.py) and zipped (TES doesn’t allow this file type) with the CSV file to access - save these in the same folder, or your program will not work

#### Computer Science Algorithms Test

This is the test my students complete after they have finished my Algorithms and Problem Solving unit.

#### [GCSE + IGCSE] Python Coursework Mini Project 2D arrays, File Reading and Writing and Sorting

**Teaching Duration: ** For main tasks, 3 lessons. This task can be expanded to challenge the top level students to add more and more features in. A further 1 to 2 lessons where we reverse engineer the flow charts which is very useful skill for the final exam Who is it for: Students studying GCSE in preparation for final project. Students studying IGCSE who are consolidating their skills at developing a large project. Also useful for staff struggling with teaching the course What’s included Instruction File: Includes detailed instructions and code that students should enter to complete the project Student File: partially completed code that students add to Teacher File: Completed project Text File: This project includes file reading, this is the text file to use. Make sure to save it in the same folder as the python file, or it will not work This covers every area of the programming side of the course from Units 1 and 2 completely. This is a perfect project for students to practice a larger project before tackling the coursework, or as a revision task for the practical exam / paper 2 by reverse engineering code/pseudocode and flow charts which is always a tricky area to learn. This has been in all exemplar papers, as well as the 2018 exam.

#### [GCSE+IGCSE] 2D Arrays introductory Task

Activity is written using standard pseudocode/python, so easy to change and update for any other programming language . Use this to introduce arrays and records and discuss the diffrences between them both - with python coding in mind, as well as the exam based pseudocode being different from Python Questions from the new curriculum on 2D array data manipulation

#### 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.

#### Python Problem Solving Algorithm and Coding Challenges [GCSE + IGCSE]

A series of 11 coding challenges for students. This is a unit of work that I complete once my students have seen the basics of coding and have used the Mathematical Operators in Python (MOD % / DIVISION // INTEGER DIVISION) There are a variety of logical puzzles to work through and solve. I have included the solutions to all problems (11 Python files in ZIP format (TES doesn’t support direct upload of .py files)) For this unit, I had students work in groups. For my students who were struggling, I prepared some files with the pseudocode already typed in, or I hand drew some flow charts for some differentiation. For many of these, it would be very easy to build on and challenge your top level students to make some of the challenges even more difficult.

#### [GCSE + IGCSE] Introduction to Algorithms (Problem Solving)

This is the unit that I complete before I start programming with my GCSE students. It features a variety of problem solving activities that I use to introduce Flow Charts and Pseudocode. This has massively helped my students understand the concepts and process of planning before progressing onto writing code. This covers a lot of the concepts of Unit 1 and Unit 2 from the curriculum. Introduces the ideas of Abstraction, Decomposition, Algorithms etc

#### Coding Apps with BitsBox - Lesson Plan

Design &amp; Develop Mobile Apps A computing lesson plan and associated resources for KS2 children designing and developing a game for mobile devices. Includes step-by-step lesson plan, support materials and pre-written program files. More free primary computing lessons and resources available at iCompute

#### [GCSE+IGCSE] Computer Science PYTHON Arrays

Included: 10 project based activties. These address some standard algorithms (Search, Find Max and Min) and build into some menu building areas which uses Functions/Procedures. Solution files to all projects, including any advanced/challenge areas Links to video lessons for some projects End of Unit Project activity This is my very expansive unit of work on functions. This is the second last unit of work that I complete with my GCSE students, before we start the project (the final one being 2D arrays and records with File Reading/Writing, as well as some example projects) This is a very thorough set of activities which are all mini projects. Depending on the time you have, you could take each activity in turn and spend time designing, implementing and testing each of them. SOme of them I worked on and completed in pairs. There are 10 projects in total, each with a solution which has been fully tested. In some cases, to support my weaker students I spent some time making video lessons. These are hosted on youtube and are private and not accessible without the links in the documents - useful for professional development, for students who miss lessons or to support lower ability students (some of the areas covered are more advanced, so in fact my strongest students were also using them to advance their skills)

#### [GCSE] Computer Science Python FULL COURSE

I have recently updated my coding activities. This is my introductory unit that I use in the first year of GCSE. It starts of with basics such as inputs and outputs, complex selection (IF) statements, building up to introductory arrays tasks. I have included links to the tutorial videos for the tasks which require them. I have included the student ‘starter’ files for some of the programs that require them I have included solution python files for the majority of tasks. The booklet has about 15 individual tasks. Several of these have extension tasks. Some of the individual tasks are actually a set of 10-15 challenging coding questions. This represents my full first year of introducing Python coding to GCSE level. I have other follow up activity booklets after this one that focus on STRING manipulation, FUNCTIONS, ARRAYS and 2D ARRAYS including FILE READING AND WRITING as well as some exemplar PROJECT PRACTICE tasks which I will be uploading shortly. I have uploaded the booklet in word format, so you can make changes if necessary and taken off the front cover. I have also included a PPT of starter questions which I use at the beginning of the lessons. I have uploaded separately some of the End of Topic quizzes which assess the understanding of this area. I have also included an activity in here which I use as an introduction to the GCSE coursework, but it is scaled down and appropriate to the material covered I haven’t included solutions for the challenges, or for the activities with the video support - if you think that you need these, please email me, but if you are following the scheme of work, they should be good problem solving practice.

#### 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.

#### 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.

#### [GCSE Computer Science] 2D Arrays Introduction [IGCSE also]

A series of activities to introduce students to 2D arrays. This is an area my students regularly struggled with understanding the concept. This year their test results were much improved compared to my last year groups - I believe this is mainly down to spending more time on getting students to visualise where data is, how it is stored and accessed. We spent a week on this activity - discussing the theory at the beginning of the lesson, tracing the execution, coding the solutions and then practicing writing flow charts for the equivalent pseudocode. I also updated this to work with records, but I will upload as a separate resource,

#### [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.

#### Logic Gates, LogicTables and Boolean Algebra Practice (GCSE)

GCSE Computer Science Resource for Unit 2.4 Computational Logic. Practice interpreting and drawing logic diagrams using a range of methodologies. Teacher marks scheme included.

#### Cluedo murder mystery riddle - adaptation from Einstein's '5 houses' logic puzzle

**Mr Black has been found dead at Tudor Manor. ** You are the lead investigating detective. You have all six suspects brought to the main hall of the mansion, seated next to each other around a circular table. Every one of them has a motive to murder Mr Black, but only one committed the crime. Can you solve the case and bring the killer to justice? Who killed Mr Black? What weapon was used? Where was the weapon hidden? This activity is an adaptation of mine based off Einstein’s ‘five houses’ logic problem Students extract relevant information from text; create an appropriate data structure to record these facts; and use a process of elimination to solve the problem I have been using it with KS4/5 Computer Science classes to demonstrate computational thinking (abstraction and decomposition)

#### Lessons: linear & binary search, bubble & merge sort

Includes the following x1 hour lessons: linear search binary search bubble sort merge sort Format of the lessons: Starter activities Presentations Simulations Worksheets Stretch &amp; challenge activities Plenary assessment Homeworks

#### [GCSE + IGCSE] Computer Science Programming (Visual Basic)

Advanced programming resources for teaching IGCSE + GCSE Computer Science and beyond This is also useful for anyone teaching IB Computer Science using Visual Basic 8 individual ‘activities’ with advanced challenges for each. More than 8 lessons work once I build in introduction, designing of the code and plenary reviews at end of lessons. Taking our time to build up skills, do traces on the code etc, each takes (or could take) three lessons to thoroughly cover the knowledge

#### [IGCSE + GCSE] Computer Science Tests x7

7 tests for variety of units at both IGCSE and GCSE Binary Representation X 2 (covers all of this unit) Computer Systems (covering basics with RAM, to processor parts, to fetch execute and von neumann) Logic Gates x 1(covers full unit) Networking x2 (covers full unit) Encryption X 1 (covering all aspects of Encryption) Simple basic define questions, multiple choice and more difficult extended questions when appropriate.

#### [GCSE + IGCSE] Computer Science Trace Tables, Algorithms and Efficiency

This is an excellent resource that I have created and used with my Y10 and Y11 GCSE class (Y10 are IGCSE, and is relevant to both courses) I use this as a collaborative carousel activity where students in pairs (or however you want to work it) look at two algorithms at a time, tracing the values of the variables. This is a problem solving activity that should hopefully challenge students Computational Thinking, as well as revising their skills with Trace Tables and predicting output of code, as well as spotting Logical errors. I have also used it to introduce the idea of preprocessing. This series of activities leads nicely into more challenging activities, such as sorting of data. When I teach this lesson, I use some theory resources and plenary activities, as well as some on-line quizzes over 3 lessons. Had a looking for learning observation whilst using these activities and feedback from observation was excellent. Having reviewed it with students, their feedback was (a long with the Data Structures activities uploaded and used prior to these activities) is that it really helped them to visualise how data is stored and manipulated in arrays, as well as introducing preprocessing (which appeared in this year exam) as well as revising trace tables. Allowing the students to work in collaboration, discussing with one another and doing some peer review tied in neatly with some of the observational areas which we are looking at with ATL and Life After Levels. I was also toying with doing this as a group presentation activity, where the students can ‘lead’ this activity and ‘Be the Teacher’ explaining the inefficiency of their algorithm and how the data can be as issue also. This was also a perfect opportunity to revise why we use arrays in the first place - as I got students to re-write the code without arrays and it was a crazy series of IF statements, so plenty of scope to draw in other areas of the course.

#### 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 &amp; challenge activities Plenary Homeworks (Logic gate presentation included)

#### WEBSITE Development Performance Assessment for Assignments > CHECKLIST & RUBRIC

This Checklists is a quick way to assess if a performance task has been completed according to the assignment objectives. Specifically designed for Web Development projects. Appropriate for creating original websites, or for redesigns. This checklist is a quick, accurate way to assess student knowledge. Teachers can evaluate projects using this Rubrics, and it can also be used to set student expectations. Standards Addressed Include: ~ Website Organization ~ Design and Technical Skills ~ Research and Validation ~ Communication and Navigation ~ Project Planning and Management

#### [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.

#### IGCSE Computer Science Paper 2: Applications of Computational Thinking

Mock example paper for Paper 2 of IGCSE Computer Science with Edexcel spec. This will be relevant for many exam boards (CIE will need to alter some of the pseduocode formatting) Also relevant for practise with GCSE for students Paper 2 with questions similar of reading and interpreting code, trace tables, flow charts etc Included in the Zip File is the 9 associated Python files which are required. Mail me for Marking Scheme when you have the resource.

#### IGCSE Computer Science Records, Arrays, 2D arrays Tasks

Three different activities to introduce the concept of how data is stored in 2D arrays and records. Some complex problem solving to decrypt a short message using the Vigenere Cipher Covers some theory as why arrays are better than individual variables and how records and arrays differ.

#### Lesson: Linear search, (lesson plan & x 10 resources)

Lesson: Linear search, (lesson plan &amp; x 10 resources) (GCSE Computer Science) • To understand and explain how a linear search works An easy to follow and timed lesson plan (x1 hour) that includes x10 resources. Starter activity where pupils line up and hold numbers up to simulate a linear search. A linear search presentation that introduces and explains the search algorithm with supporting examples given in python Three linear search programs written in python, demonstrating a linear search (basic), a linear search (when data item not found) and a linear search (when more than one item you are looking for is found) Pupils view a simulation of a linear search (Internet link provided) A worksheet of six questions and answers on the linear search. A stretch and challenge exercise to program a linear search that counts the number of search terms if there is more than one search term. A plenary exercise to read through an account of visiting a games store and searching for a particular game. The parts of the account that are in error have to be highlighted in red. A research homework exercise and answers about the linear search (x3 questions)

#### Boolean Algebra and logic gate equations

Created to teach boolean algebra and logic gates, includes history of boolean algebra, links to Venn diagrams basic and extended logic gates as well as examples relating to real life.

#### Website Basics: EASY Lesson Plans 4 Teachers = Full Curricula with Activities!

A great introduction to website construction. Use as a complete curriculum or as a supplemental educational aid. Packed with lesson activities! Highlights Include: ~ Learn basic HTML codes ~ Use notepad to construct a website ~ Web terminology ~ Page design and re-designs ~ Create a personal website ~ Story boarding ~ Project planning with project charters ~ Create tables, lists, links + more ~ About browsers, domains and web hosting ~ JavaScript and Cascading Style Sheets Comes with: ~ Self Guided Lessons ~ Teachers Grading Rubrics and Criteria ~ Student and Peer Evaluations ~ Empty Rubric Templates** This is a full semester’s worth of curricula. If you need a pre-made, EASY lesson plan for “Website Basics” &gt; Here it is!

#### 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.

#### 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.

#### 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.

#### 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.