1. Resources Home
  2. Whole School
  3. Computing
  4. Algorithms and programming
  5. Python
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
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
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
[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
[GCSE] Computer Science Python FULL COURSE

[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.
PaperAirplane
AQA GCSE Computer Science Workbook (9-1)

AQA GCSE Computer Science Workbook (9-1)

A workbook covering the whole of the AQA GCSE Computer Science course. Each section has a combination of theory and questions. In class we use it to help students struture their notes and all students are provided with the workbook at the start of the year. Depending on your version of Word, occasionally the formatting may be slightly off-kilter with some information jumping between pages. So it is worth double checking before it goes to print - I learnt that the hard way!
gdown3
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
[GCSE Computer Science] 2D Arrays Introduction [IGCSE also]

[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,
PaperAirplane
KS2 & KS3 Creating Fun Games using Python

KS2 & KS3 Creating Fun Games using Python

This 10 page photocopiable resource has been produced to provide KS2 and KS3 students with exciting and engaging opportunities to learn coding concepts using Python in a series of 4 fun standalone projects. The projects are: Game 1 -Play the name game - Students have fun with their name. Game 2 -Guess the number -Students have fun making a game to guess the number. Game 3 - Mystery of the Crystal Ball - Students have fun looking into their future. Game 4 - Two Player Horse Race Game Each project takes from 30 minutes to an hour and a half to complete and all of them include a series of activities to extend learning.
edulitolearn
Edexcel Computer Science 9-1 Paper 2 bundle

Edexcel Computer Science 9-1 Paper 2 bundle

This is a whole half term of work relating to the questions appearing in the second Computer Science paper. The lessons are on input, processing, output selection statements boundary testing recognising constructs trace tables a test The lessons guide the learner from easy to understand exercises, to GCSE level exercises. There is a learning question focus for each lesson, but in some cases the bronze silver and gold outcomes have been left blank for you to tailor to your classes. There is enough work here for a half term.
hoof_hearted
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
File handling - Python-

File handling - Python-

File handling presentation and tasks for KS4/KS3 programming unit / python. Please make sure to leave feedback if you like it or if you think it can be improved somehow, this will allow me to improve it if needed.
barabcu
Python Worksheets KS3

Python Worksheets KS3

A set of 5 Python worksheets. Includes practical activities and questions. Comes with video guidance for each worksheet, which helps with differentiation. Python worksheet #1 - Given separately on TES as a free sample. For absolute beginners. Getting set up, using the Shell and 1st program using the editor. https://www.tes.com/teaching-resource/python-worksheet-for-ks3-11912924?theme=1 Python worksheet #2 - Using variables and inputs. Python worksheet #3 - Conditional statements (IF, ELIF, ELSE). Python worksheet #4 - Arithmetic and relational operations. Stretch and challenge - using the Math library. Python worksheet #5 - Commenting and debugging
chrdol72
Python Worksheet for KS3

Python Worksheet for KS3

Free Python worksheet for absolute beginners. Includes practical activities and questions. Comes with video guidance for the worksheet, which helps with differentiation. Includes step-by-step guide on getting set up and using IDLE. Maths activities using the Shell. Using the editor and making a simple program. Finally there are a series of questions to check understanding.
chrdol72
Drawing & Plotting Shapes in Scratch & Python Turtle

Drawing & Plotting Shapes in Scratch & Python Turtle

A great “comparing software” course where students learn to draw shapes using script. They start by drawing geometric shapes in Scratch, then plotting shapes in Scratch and using Functions for repeated code / shapes. Students then repeqt the process using Python Turtle on the free programming practice website www.repl.it
jkemm
Lessons: linear & binary search, bubble & merge sort

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 & challenge activities Plenary assessment Homeworks
Teacher_aesg
Lesson:   Merge sort, (lesson plan  & x 6 resources)

Lesson: Merge sort, (lesson plan & x 6 resources)

Lesson: Merge sort, (lesson plan & x 6 resources) (GCSE Computer Science) • To understand and explain how a merge sort works An easy to follow and timed lesson plan (x1 hour) that includes x6 resources. Starter activity where pupils compare the performance of the bubble and merge sort. A merge sort presentation that introduces and explains the sorting algorithm (divide & conquer) A link to a merge sort simulation demonstrates a working model An worksheet exercise to dry run the merge sort algorithm (answers provided) There is a sample merge sort written in python that the pupils edit and make changes. A stretch and challenge exercise to program the first half of the merge sort. A plenary exercise containing an x8 question assessment on the merge sort A homework to represent the performance of the bubble and the merge sort on a chart
Teacher_aesg
Python Programming Help Sheets

Python Programming Help Sheets

Here are 4 Help Sheets to support the programming examples up to the Dungeon Escape resource. They cover: Help Sheet 1 - Print, Variables, Maths & Input Help Sheet 2 - If, For, While & Random Help Sheet 3 - Array, Modulus, Increment Help Sheet 4 - Functions If you find the resources useful, please leave a review to help others find it. If you find it really useful, please consider purchasing the Dungeon Escape resource to help support all the FREE ones. HackDragn
hackdragn