1. Resources Home
  2. Secondary
  3. Computing
  4. Algorithms and programming
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
Ozobot Maze Progression - 10 levels

Ozobot Maze Progression - 10 levels

Inspired by Google’s blockly games, this 10 level progression allows pupils to use ozobot and ozoblockly to solve mazes. The ozobot on its default setting is unlikely to solve the mazes in this progression, and thus, it forces pupils to use ozoblockly.
stuart_cork
Coding Concepts: Concurrency Vs Dependency - Delve in, for twelve min!

Coding Concepts: Concurrency Vs Dependency - Delve in, for twelve min!

These resources accompany Part 6 of my online CPD sessions, “Delve in, for twelve min!” In this session, I highlight the issue of pupils using time as the trigger for sprite and background changes (concurrency), rather than making the sprites and backgrounds interact with each other (dependency). Please watch the YouTube tutorial first, and use these Scratch projects as examples to secure your knowledge before you teach. Please see www.rundontwalk.co.uk for more resources, or to book me for your school’s computing CPD needs.
PhilWickins
GCSE CS Developing Code Input  Output

GCSE CS Developing Code Input Output

Created for GCSE Computer Science students. Teaches students how to create an algorithm using pseudo-code and flow diagrams. Also introduces the input output process model. Includes a range of related tasks and activities.
kwesi100
ScratchUp! A cunning combination of Sketchup (3D CAD) and Scratch (Coding)

ScratchUp! A cunning combination of Sketchup (3D CAD) and Scratch (Coding)

This is ScratchUp! A cunning combination of Sketchup (3D CAD) and Scratch (Coding) to bring your pupils’ programming projects to life! The idea for this emerged after teaching my classes Sketchup as a specific CAD tool within the DT curriculum to design lunar buggies, before then proceeding to the build stage. I was so impressed at their grasp of the software and 3D design as a concept, that I wanted to set a new challenge. Similarly, they had progressed extremely well in my computing lessons until they were quite proficient using coding constructs and concepts within Scratch, so what was the next step? I noticed that their sprite and background design within Scratch always fell short of their best, probably as they were so keen to code and get their project working. It was all coloured blobs and stick men; purely functional, but little in the way of inspiring graphical user interfaces! Enter: Sketchup. I decided that they could use their design skills to create high quality sprites, then export them as a 2D graphic to be loaded into Scratch as a costume. And then it hit me.  Why not export a series of rotations of a 3D sprite, load multiple images into a sprite’s costume, then animate it, so it appears as a rotating 3D sprite? The possibilities are endless! Take a look around this resource which includes my presentation from the CAS (Computing at School) National Conference 2018, the list of angles I used for my car direction, my ScratchUp examples, pupil Sketchup and ScratchUp examples and a Sketchup help sheet. Let me know how you get on!!! www.rundontwalk.co.uk
PhilWickins
Introduction To App Inventor (C.Science)

Introduction To App Inventor (C.Science)

This is the first lesson within the scheme that introduces learners to the online application, ‘App Inventor’. Regardless, of class ability or teacher experience this lesson will allow learners to develop an understanding of how apps have developed over time and will allow learners to build their first Android app. The easy to use guidance illustrates how to set up accounts and is available in both PDF and DOC format to suit learner needs. The app can be deployed to any android device providing the ‘App Inventor’ app is installed. Equally the’ App Inventor’ emulator can be installed on any networked machine. This lesson is particularly applicable to all computer science specifications and can be used to delve into the aspect of mobile development with ease and confidence. There is detailed notation and timings for teachers within the PPT which will offer a lesson plan structure. For more information or further resources linked to this topic, contact via e-mail.
beef_keefe
Linked Lists Using PHP Classes

Linked Lists Using PHP Classes

This resource was developed for Advanced Higher Computing Science (Scottish Curriculum). It describes a linked list and works through the implementation in PHP of the following operations: insert and delete nodes, read the contents of a node, count the number of nodes, read the whole structure. Some suggestions are given for programming problems involving linked lists.
A_Cowie
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
IGCSE computer science programming worksheets

IGCSE computer science programming worksheets

Full set of worksheets for iGCSE computer science units included programming concepts, pseudo code and flowcharts and algorithm design and problem solving. Intended to be taught as linked units for a more comprehensive learning style.
Stephens1412
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
[GCSE+IGCSE] Mini Project: Pentathlon

[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
PaperAirplane
[GCSE+IGCSE] Mini Course work project with Video and Solution Computer Science

[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
PaperAirplane
[GCSE + IGCSE] Python Coursework Mini Project 2D arrays, File Reading and Writing and Sorting

[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.
PaperAirplane
[GCSE+IGCSE] 2D Arrays introductory Task

[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
PaperAirplane
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
Python Problem Solving Algorithm and Coding Challenges [GCSE + IGCSE]

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.
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
[GCSE + IGCSE] Introduction to Algorithms (Problem Solving)

[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
PaperAirplane
Coding Apps with BitsBox - Lesson Plan

Coding Apps with BitsBox - Lesson Plan

Design & 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
iCompute
Search/Sort algorithms lesson activities

Search/Sort algorithms lesson activities

Slide 1 contains a whole pack of individual images of playing cards for use in demonstrating Search/Sort algorithms. Task slide include link to BBC Bitesize revision pages and activities to help students revise the following: Binary and Linear SEARCH Merge, Bubble, Quick SORT Can be easily adapted to suit others.
grahamturner
[GCSE+IGCSE] Computer Science PYTHON Arrays

[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)
PaperAirplane
[GCSE+IGCSE] Strings, Functions and Procedures Unit

[GCSE+IGCSE] Strings, Functions and Procedures Unit

This is my Strings, Functions and Procedures unit that I use in the lead up to the end of Term 1 at Christmas. It compromises 9 individual tasks. Each of these tasks, I take at least two lessons to deliver with students. I start off each with some starter questions (included file) and a discussion of the task. At this point, I would expect my students to be comfortable with planning in pseudcocode and flow charts. For each activity, I either get them to design it for Scratch, or I create a partially completed plan which they then fill in the blanks (These are usually hand drawn, so I didn’t include them) We then code the solutions which normally takes a full lesson. To support and challenge students, several activities contain challenging scenarios to keep better students engaged allowing me to support weaker students to aim towards completing minimum requirements. After we completely implement them, we spend time discussing test plans, the purpose of testing etc. This covers a lot of the theory in the course of looking at modular testing, why we use predefined functions/procedures, how large groups of programmers work together to decompose a task and implement it simultaneously etc. For each of the 9 activities included, I have included blank student files (when they are required) tested solutions for each activity and the overview of the task with instructions. For this activity, it will require a bit of teacher input to explain task at the beginning. At this point, I show students the completed activity, so they know what they are aiming to produce. For my weaker students, I give them a copy of the completed code (eventually) and get them to add internal commentary, or do testing. In some cases, I make simple syntax errors in it and get them to fix it. This activity booklet takes me around 8-10 weeks off 3 lessons per week. We use the Christmas themed lessons at the end, this introduces/recovers arrays, as well as some challenging problem solving that we all work on in groups to complete.
PaperAirplane
FREE Python lesson - Introduction to Python

FREE Python lesson - Introduction to Python

i created a nice introduction to Python for Year 7. It starts with the basics of how to use Python for beginners. Year7 really enjoyed it. I hope it is useful to you. It is a powepoint so you can amend it to your class.
khedges123