Producing Robust Programs 3 - Test Data Part 2

Producing Robust Programs 3 - Test Data Part 2

A year 10 resource I created as part 3 of 3 lessons on Creating Robust Programs. This lesson continues with the below outcomes and LOs using exam questions and a differentiated-by-ability code sabotage exercise. Outcomes: • Understand the different types of Test Data: Valid / Invalid / Erroneous / Border. • Create a Test Table. • Demonstrate how to fix sabotaged code. Learning Objectives: • Pupils to gain understanding of test data types through creation of a test table. • Pupils to familiarise themselves with code then to fix it when sabotaged. Pupils assessed on exam questioning. PowerPoint, resources and lesson plan template included.
MickeyTheMoo
Producing Robust Programs 1 - Defensive Design

Producing Robust Programs 1 - Defensive Design

A year 10 resource I created as part 1 of 3 lessons on Creating Robust Programs. This lesson introduces the following concepts: Anticipating Misuse; Planning for Contingencies; Validation of Input; Authentication using scaffolded exercises, extension and AFL. Outcomes: • Describe defensive design considerations: o Anticipating Misuse o Planning for Contingencies o Validation of Input o Authentication Learning Objectives: • Pupils to undertake 6x coding exercises regarding validation of input and authentication. • Pupils to complete AFL exercise before and after the lesson, demonstrating understanding. PowerPoint, resources and lesson plan template included.
MickeyTheMoo
Doing Stuff with Python - a guide for beginners

Doing Stuff with Python - a guide for beginners

Delivering subjects like programming to mixed ability groups can be challenging, where ‘fire-fighting’ simple script issues for less able students, eats into the time you have to work with your more able students. This guide is intended to help to address these issues: A ‘self-help’ file for your students, in the form of a standalone web page (no Internet required). Issue to your students, or place it on your VLE. Make it easier for less able students to find the help they need. Example scripts are extensively commented. Examples can be copied and pasted direct from the web page into student’s IDE. Topics covered include: Variables. Data types. Numbers. Booleans. Assignment and Equivalence Operators. Comparison Operators. Strings - using tabs; indexing; slicing; converting, concatenation. Using Modules. Working with dates. Lists - indexing; slicing; change/add/remove items; remove duplicates; count occurrences; extending; clearing; sorting; searching; nested lists; list comprehensions. Sets - creating; check items; add items; remove items. Dictionaries - creating; looping through; searching. Tuples - creating; packing; unpacking; searching. Getting / Validating User Input. Controlling program flow - If statements; for loops; while loops; using range; using continue, augmented assignment. Functions - creating; scope of variables; avoiding duplication of variables. File Input and Output - modes; opening; reading; writing; using the with keyword. Using SQLite and CSV Databases. Troubleshooting - Self Help; Indentation; Tab Stops in output; Indexing and Slicing; Comparing Dates; Operator Precedence; Errors and Exceptions. Miscellaneous Items - validate an email address; checking user-supplied data; working with ini files; specifying Octal / Hexadecimal / Binary digits; converting numbers to Binary; generating random strings and numbers; simple Noughts and Crosses game.
elder_cat
OCR GCSE Computer Science Student eBook

OCR GCSE Computer Science Student eBook

Frustrated with the lack of a straightforward, to-the-point text book for this course (OCR GCSE Computer Science J276), I decided to compile the lesson resources that I have written over the past two years into this free eBook. Besides written content and diagrams to explain concepts, I have included links to many YouTube videos that will allow pupils to go deeper into topics and learn in ways other than just reading. You should be able to simply click on the image on all “Video” pages to link to the appropriate YouTube page straight from the PDF. This eBook is released under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license, so please feel free to share it with others - teachers, pupils or whomever you think might be interested in it! However, if you do so, please do point them back to this page as means of attribution. This is the first resource that I have published on TES.com so I would love to receive your feedback, particularly if find it useful or if you have suggestions for improvement. I have worksheets that I have written for each topic with this spec that I hope to upload in due course. Other resources that might be useful to you If you do find this eBook useful, you may be interested in my YouTube channel where I have produced a number of original videos to explain Computer Science topics as well as put together playlists of great videos from other YouTubers: https://www.youtube.com/mrawdimmick Finally, if you are teaching GCSE Computer Science then you might be interested in my online Python course hosted on repl.it. As a “community” classroom you can point your students directly to it for some self-learning or you can “Import and Teach” the class into your own Repl.it Classroom for you to invite your pupils to join so that you can track their progress and provide feedback on their work: https://repl.it/community/classrooms/29589
adimmick
Try Except ValueError lesson

Try Except ValueError lesson

A one hour validation lesson which engages students and shows them why, and how we use validation. They must be taught integer input first to understand this lesson. There are bronze silver and gold outcomes and resources are on the ppt itself.
hoof_hearted
Python Basics Help

Python Basics Help

a power point which details some of the different aspects of python programming, covering such topics as variables, debugging, comments and statements
dominicberesford1993
Python Cheat Sheets: Variables, Lists, Selection, Iteration

Python Cheat Sheets: Variables, Lists, Selection, Iteration

This is a group of ‘cheat sheets’ for students to use when programming. The sheets include: an explanation of the topic, the correct syntax and common errors. The sheets have common misconceptions on them. This allows students to refer to these when programming to increase their independence. I have used them as a laminated class set that I can hand to students when they ask me about an error.
lkgillott23
Python Pack

Python Pack

a collection of text files which feature python code including: Creating coloured patterns Guess the Number X’s and O’s
dominicberesford1993
Two Python lessons on arrays

Two Python lessons on arrays

An engaging resource which develops an understanding of manipulating lists in Python. There are two lessons here, first to introduce the topic and the second to consolidate learning. The answers are included as are extended learning tasks.
hoof_hearted
KS3 Introduction to Programming & Python

KS3 Introduction to Programming & Python

I created these resources as an introduction to the basics of programming and Python. It covers around 3-4 weeks of lessons (I had mine 3 times a week). The topics it covers are: High-Level and Low-Level programming introduction An introduction to Python IDLE Syntax Built in commands and what they mean, including colours of the text Hello World in Python Variables Naming rules of variables including camelCase Input Selection Indentation Maths programs Efficiency of programs Data types Algorithm practice Testing The PowerPoint has some notes as a brief guide. The end of the lessons is a small project which enables them to practice the skills they have been taught. I have provided some support sheets to help students. I have left the PowerPoint blank to enable you to customise.
chloehoppy
Presentation: how a selection sort works

Presentation: how a selection sort works

Presentation on how a selection sort works. It includes: A presentation explaining the principle of operation behind a selection sort A presentation introducing the code written in python to perform a selection sort The selection sort python code in a separate text file.
Teacher_aesg
End of year Computing Summer Quiz 2018

End of year Computing Summer Quiz 2018

NEW COMPUTER SCIENCE QUIZ FOR THE END OF YEAR / SUMMER TERM 2018! A fun whole class quiz, ideally suited to keep pupils engaged and settled for the final lesson of the summer term. Suitable for year 7 to year 11. The quiz includes computer science elements as well as other fun summer related questions getting them into the summer holiday spirit. Guaranteed to make the final lesson fun before they break up for summer. Print out the answer sheets (enough for 1 per team) and then run through the quiz on the whiteboard. After each section the answers are provided allowing the quiz to easily be cut shorter if you wish. Suitable for GCSE Computer Science classes and KS3 Computing and ICT classes.
nwilkin
Microbit- a lazy set of 6 problem-solving lessons

Microbit- a lazy set of 6 problem-solving lessons

This is a great set of lessons for microbit that require NO prep on the teacher, entirely student led, guaranteed to create engagement. Perfect for year 7 but could be extended to year 8 and 9 as well. my students love it! it gives opportunity for discussion,planning, pseudocode,flowchrt, testing. each lesson has a real life problem that the students need to solve using the microbit I used the microbit “let’s create” block editor online software (which will give simulation of the real microbit on days when i am too lazy to even get the microbits off the shelf!),though my higher students are asked to complete it in Python once they have solved the problem successfully in the block editor.
annetortue
Python Mathematical Operators Practical Challenges

Python Mathematical Operators Practical Challenges

A great 2 page handout for your pupils to practice using mathematical operators and functions in Python. Includes example code, a task to correct code and 6 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 Random Values Practical Challenges

Python Random Values Practical Challenges

A great 2 page handout for your pupils to practice using random values in Python. Includes example code, a task to read code, 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
Year 9 Computer Science Assessment

Year 9 Computer Science Assessment

This year 9 computer science assessment could either be used at the start of the year to assess suitability or at the end to assess learning. Another option is to do both and measure student progress and impact of teaching. Students aspiring to student computer science at GCSE must aim to score between 30 and 75. Answers/ Mark scheme provided.
chris_vidal
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