Edexcel GCSE in Computer Science scheme of work for Year ...



Spring term Year 11 Scheme of WorkGCSE (9-1) Computer SciencePearson Edexcel Level 1/Level 2 GCSE (9-1) in Computer Science (1CP1)Spring term Year 11AssumptionsThis scheme of work is based on the assumption that the students have followed the Free Support Materials Schemes of Work for Year 10 and Autumn Year 11. If not, it is important to check the content of each lesson to confirm that it has or has not been previously covered. However even if it has already been covered teachers may find some of the suggestions and activities I the associated booklet useful to reinforce knowledge or use as revision. The lessons in the various schemes of work total 150 hours altogether (see course planner); the guided learning hours for GCSE Computer Science are 120. It is expected that centres will modify the schemes of work and the course planner as required to fit their own timetabling.The programming language used here is Python 3.0. Centres can of course use any of the other languages in the specification, namely Java and C-derived (C, C++, C#) and use equivalent examples from these languages.This document does not contain explicit guidance on what should be covered in the NEA lessons. Teachers should use their experience from completing the NEA preparation (see Autumn year 11 Scheme of Work).All the Year 11 resources now account for the revised submission date of 31 March as required by Ofqual. ExplanationsThe course has been broken down into six terms. Over the course, lessons are split into the six topics in the subject content and the colours in the schemes of work mirror the colours of the topics in the course planner.Weeks are numbered from one in each term and there are two lessons each week. This scheme of work details the content to be covered in the Spring term of Year 11.The references to the specification represent the specification content that is covered in the lesson but occasionally only the main specification reference is given to fit the lesson content. You are strongly advised to use the specification alongside this scheme of work.The lesson summary gives an overview of the lesson content. The title in bold refers to the subject content headings given for each topic in the specification.The lesson content gives suggestions on how this material could be taught. Example activities for each lesson are given in the activities files. The activities are numbered with the lesson number, for example Activity 1.2.3 is the third activity for Lesson 2 in Week 1. These activities are provided to give teachers ideas of activities and programming. Spring term Year 11In this Scheme of Work Weeks 1 to 8 and the first lesson of Week 9 have been dedicated to completing the NEA. Including the 3 hours at the end of the Autumn term year 11 that makes a total of 20 hours, the maximum allowed for the NEA.This document does not contain explicit guidance on what should be covered in the NEA lessons. Teachers should use their experience from completing the NEA preparation (see Autumn term year 11 Scheme of Work).Week 9LessonSpec refLesson summaryLesson contentLesson resources1NEALast lesson for NEA.23.5.1Characteristics of structured and unstructured dataBegin the lesson by giving examples of some of the many structured databases in students’ lives, such as Facebook, Google, Amazon, YouTube, email, Twitter. Use examples to illustrate the difference between structured and unstructured data. An address book, customer details, train timetable can be used as examples of structured data; photos, videos, presentations, documents can be used as examples of unstructured data.Give students the opportunity to investigate the sorts of data databases, such as Amazon store for every product they sell (Activity 9.2.1).Explain that a structured database is a convenient and powerful way to store and organise data. The simplest kind of structure is shown in a spreadsheet.Explain the terms ‘record’ and ‘field’ and link to the rows and columns of a spreadsheet. Ask students to share the pieces of information they found that were common to all the products they looked at on Amazon’s website. Explain that these are likely to be fields in Amazon’s database, and that each of the products they looked up will have a record in Amazon’s database.Practical activity: students analyse a flat-file database in Activity 9.2.2 using the csv file Activity 9.2.2.Homework/Extension: students write a Python program to identify duplicate records and nulls in the CSV data file Activity 9.2.2 (Activity 9.2.3).Week 9Lesson 2 activitiesActivity 9.2.2 csv file in in Spring term Year 11 ResourcesProgram solutions in Spring term Year 11 Programming SolutionsWeek 10LessonSpec refLesson summaryLesson contentLesson resources13.4.13.4.2EncryptionStart the lesson by introducing the concept of encryption – what it is and why it is important – it allows data to be kept secret and secure so no one else can make use of it (Activities 10.1.1 and 10.1.2).Outline the encryption process – a key is used to encrypt plain text into meaningless cipher text, the same key is used to decrypt the data back into its original form. Only someone who knows the key can decrypt the cipher. If you don’t have the key you need to crack the code.Use the YouTube video ‘158,962,555,217,826,360,000 (Enigma Machine) - Numberphile’ to introduce the Enigma machine: a ciphertext challenge: . Students to work in pairs to tackle the challenge.Homework: ask students to devise a cipher in Activity 10.1.3.Week 10 Lesson 1 activities ‘158,962,555,217,826,360,000 (Enigma Machine) - Numberphile’ YouTube video Ciphertext Challenge (Simon Singh) 23.5.2Structured databasesTables and relationshipsStarter: Q&A session to recap the ideas of ‘field’ and ‘record’.Ask students to consider in pairs how they would extend the spreadsheet data from last lesson to include target grades and exam marks for several subjects for each student. Share their solutions. Ask how they would search for all the students with an A target in geography (this should turn out to be very difficult). Solution in Lesson 10.2.1.pngExplain that a relational database helps to solve this and other problems by splitting the data into several linked or related tables. Show the video ‘Database terms’: the example of a zoo in which animals are kept in enclosures, demonstrate how a relational database is organised into tables, fields (columns) and records (rows).Invite students to suggest fields for Animal (e.g. name, breed, date of birth, gender, etc.) and Enclosure (e.g. name, headkeeper, capacity, description, etc.)Use the example of two animals with the same name to demonstrate why each record in the Animal table needs a unique identifier.Using the zoo example, demonstrate the potential for inaccuracies to creep in when some items of data are duplicated, and the impact duplication has on the amount of storage the database needs. Explain how these problems can be avoided by keeping the information in separate linked tables.Give students a table of data and ask them to re-organise it into two linked tables (Animal and Enclosure) using Activity 10.2.1.If your students have limited experience of database work, you could adapt this activity so that they have to organise data into one table.Plenary: use a Q&A session to test students’ understanding of relational database terms.Homework: give students another opportunity to reorganise the data from one table into two linked tables and to answer questions about how many fields and records are in each table, and how the relationship between them is made (Activity 10.2.2).Week 10Lesson 2 activitiesSpring term Year 11 Resources ‘Database terms’ –YouTube video Week 11LessonSpec refLesson summaryLesson contentLesson resources13.4.2Encryption: Caesar cipher algorithmStart the lesson by recapping what students have learnt so far about encryption. Show the YouTube video ‘Caesar Cipher’: . You could ask students to swap their homework ciphers with a partner and to try to work out what the secret message says. If they can’t, their partner should share the ‘key’ with them.Give each student a copy of the resource sheet ‘The Caesar Shift Wheel’: students have assembled their Caesar Shift Wheel, ask them to complete Activity 11.1.1 which will give them the opportunity to practise encrypting and decrypting using their Caesar cipher wheel. Ask students to work in pairs to produce step-by-step instructions for producing encrypted messages using a Caesar cipher (Activity 11.1.2).Homework: Ask students to produce a second set of step-by-step instructions for decrypting encoded messages (Activity 11.1.3).Week 11Lesson 1 activities ‘Caesar Cipher’ YouTube videoCaesar cipher wheel23.5.2Structured databasesStarter: Q&A session to recap the ideas of ‘field’, ‘record’ and ‘table’.Recap the use of key fields and the potential for inaccuracies to creep in when some items of data are duplicated.Demonstrate how keys are used to create a relationship between tables. (The name of each enclosure is unique. The field Enclosure is included as a foreign key in the Animal table. Each animal lives in an enclosure, but enclosures typically house more than one animal.)Show the YouTube videos ‘Database Key fields - animation’ () and ‘DatabaseKeysrelationship’ ().Run through the process of finding the name of Sam’s headkeeper in the data from last lesson’s Activity 10.2.1 once the data has been separated out into two tables. First students would locate Sam’s record in the Animal table to find which enclosure she is in, then they would locate the Ape House record in the Enclosure table and find its headkeeper: S LarkinProgramming task: students to complete a search program in Activity 11.2.1.Homework: students should research ideas around Data Science, Big Data and open public data. These talks could act as a stimulus for further reading: TEDxWarwick – Andy Standford-Clark – Innovation Begins at Home ()Tim Berners-Lee: The next Web of open, linked data ()Week 11Lesson 2 activities ‘Database Key fields - animation’ YouTube video‘Database-Keysrelation-ship’ YouTube videoSpring term Year 11 Programming SolutionsWeek 12LessonSpec refLesson summaryLesson contentLesson resources13.4.2Encryption:Programming challenge to consolidate what students have learnt about Caesar ciphersRecap what students have learnt so far about the Caesar cipher.Give students the code for a Caesar cipher encoder written in Python. Ask them to work in pairs to run the encoder function, using different messages and keys, to find out how it works. They should add comments to the code to explain how the function works (Activity 12.1.1).Ask students to work in pairs to make a new version of the function that decrypts text encrypted using a Caesar cipher (Activity 12.1.2).Ask students to design and write a function that both encrypts and decrypts (Activity 12.1.3).Homework: ask students to write a user interface for the caesar_cipher they produced in Activity 12.1.3 (Activity 12.1.4). Week 12Lesson 1 activitiesSpring term Year 11 Programming Solutions23.5.2Structured databasesStarter: Activity 12.2.1Use this resource at CSUnplugged to consolidate learning about databases:(or via if link broken).More able students can begin to learn some SQL by following the activity at a faster pace. They could also look at the first part (0:13 – 3:06) of the YouTube video ‘SQL tutorial - What is SQL?’: . Please note that SQL is not assessed in this course.Some teachers may prefer to use this lesson to allow students to research further into data science or to complete the additional tasks in Activity 12.1.1.Homework: create a revision resource for this topicWeek 12Lesson 2 activitiesCSUnplugged resourceYouTube video ‘SQL tutorial - What is SQL?’The Summer term of Year 11 should be spent on revision.Suggestions for teaching this contentProvide code as images (print screen) to force the students to type in the program code rather than just use copy and paste. They will learn more by making mistakes and having to correct them.Use two projectors on two screens. This allows you to display code on one screen and information or questions on the other. Use a plain wall or card on wall to make the screens.Divide the class into groups who work together to solve problems. Explain that they must discuss problems within the group before they ask for help. Introduce the concept of coaching other students within their groups to ensure everyone finishes within the set time. Have competitions between groups.Get students to ‘think, pair, share’ with problems (before asking the teacher a question) as well as using this to answer questions. Think about the problem by themselves, discuss the problem in a pair, then share it with a group around them.Starters and plenariesIdeas for starters or plenaries which give students the opportunity to review computational thinking skills, reflect on their learning and build up specialist technical vocabulary.Give students some code and ask them what it does.Give students a flowchart and ask them to produce the code.Give students the pseudo-code and ask them to produce the code.Give students some code and ask them to depict as a flowchart.Give students some pseudo-code and ask them to depict as a flowchart.Give students a written description and ask them to depict as a flowchart.Give students a written description and ask them to produce the code.Give students a list of commands jumbled up and ask them to put them in the right order.Give students some code and ask them to find the syntax errors.Give students some code and ask them to produce a test plan.Give students some input data and ask for appropriate test data (valid, invalid, extreme).Ask students to summarise the lesson in 140 characters.Ask students to identify three ways in which a program could be improved.Who can find out about a topic first using Python help? (Do as a group.)Play videos introducing a particular aspect of Python programming.Ask students to produce five questions and answers on a topic.Online polls for formative assessment of topics.Peer-review of a program – how to give and receive constructive feedback.Self-assessment of a program.Invite students to ‘show and tell’ a program – what are the good features and the bad features? How could it be improved?‘What would happen if I made this change to the program?’‘Role play’ being a program, e.g. students act as manual debuggers and give values of variables at certain break points in a program.Use games, e.g. hangman with technical terms.Give a definition of a technical term and ask students to say what the term is.Suggestions for additional homework questions or extension exercisesAsk students to summarise a topic in 140 characters or less.Ask students to produce a program in code/pseudo-code/flowchart given as a written description (or any combination of this).Ask students to write a written description of a program given as program code.Ask students to make a ‘topic in plain English’ video (for an example see: watch?v=VumBNb6gcBk)Ask students to write a quiz (with answers) on a topic.Ask students to find the definitions of technical terms.Ask students to create a digital or classroom poster to explain a technical term or concept.Challenge students to find the five best websites to help with a particular topic.Ask students to search online to find the answers to some Python programming problem.Ask students to assess a program using an assessment checklist (give all the class the same program).ResourcesGeneral resourcesBCS Glossary of Computing and ICT, 13th edition (ISBN 9781780171500)A range of articles on teaching coding: guide/teaching-kids-to-code SoftwareAudacity (free open source, cross-platform software for recording and editing sounds) available to download from audacity.Python (free open source software) available to download from getit/Python resourcesOfficial Python documentation (also available through help in IDLE): docs.3/Python summer school from Anglia Ruskin University is an excellent resource with videos and programming challenges: code for kids is a clearly written summary of the Python language written in accessible language: pythondictionary.code-it.co.uk/‘Python in 10 minutes’ is a quick run through of the basic concepts: ‘Quintin Cutts – Too much doing, not enough understanding’ is a 20-minute video containing useful ideas and concepts on how to teach programming: watch?v=Pim4aYfiZiYFree online booksThink Python How to Think Like a Computer Scientist is a free online book with programming challenges at the end of each chapter: thinkpython/thinkpython.pdfA Byte of Python is an excellent online book, though it does not use IDLE as the editor: notes/Python/BooksPython Programming for the Absolute Beginner, M. Dawson (published Course Technology 2010) (ISBN 9781435455009) is an excellent book with clear explanations of each bit of code together with free downloads and example games built into each chapter.Python for Kids: A Playful Introduction to Programming, J. Briggs (published No Starch Press 2013) (ISBN 9781593274078). ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download