KS3 Computing Scheme of Work - Year 2

This is a scheme of work that I use for the second year of Computing for Key Stage 3 students. I created most of the presentations from looking at the National Curriculum, and before I looked at the GCSE specifications, but it turns out that a lot of the lessons would also be suitable for the start of a GCSE Computing or Computer Science course. Obviously, if you do start in KS3 then you give students the opportunity to master these things and give yourself more time for controlled assessments in KS4.

"I remember seeing your KS3 SoW a couple of years ago and it was a light bulb moment for me (having taught Maths to fill the timetable, I saw that they repeated over and over the concepts taught at GCSE from Year 7), [I] re-wrote my SoW... and have just done it for the first full year with end of year KS3 exams and have been so impressed at how they have dealt with some of the GCSE questions I have thrown in. I think this will make a difference in both uptake and scores in a couple of years time.", Head of Department, UK Secondary School

There is a complete set of resources for KS3 Computing and/or GCSE Computer Science here.

 

Topic

Lesson Content and Presentation Used

Tasks / Links

1 Introduction to Programming Introduction to the technology of creating programs:
  • scripting/macros/executables
  • high/low level
  • compiler/interpreter/assembler
  • IDE, break-points, etc.

Creating a Program

Assignment:

Creating a Program

2

Python Programming

Hello world! An introduction to the IDLE interface and how to output to the screen.

 

Programming – Introduction

Assignment:

Programming - Hello World!

3

Python Programming

Variables:
  • what they are and how we use them
  • different types in Python
  • local and global
  • constants

Programming – Variables

Assignment:

Programming – Variables

4

Python Programming

Repetition:
  • why a program might need to repeat things, and how many times?
  • iterables and for loops
  • while loops

Programming – Repetition

Assignment:

Programming – Ten Green Bottles

5

Python Programming

How to get a program to make a decision

Programming – Decisions

Assignment:

Programming – Times Table Tester

6

Python Programming

Handling text:
  • string as a series of characters
  • len() for string length
  • use of [] to slice strings
  • .index() to find a character
  • .lower(), .upper() and .title()

Programming – Text Functions

Assignment:

Reverse-a-Word

7

Algorithms

Algorithms:
  • what affects efficiency?
  • converting decimal to binary
  • Scratch “spirograph” example
  • examples – searching and sorting
  • how the nature of data affects choice

Programming - Efficiency

Links:

Searching algorithms

Sorting algorithms

Sorting Balance

Circle video

Spirograph

Assignment:

The Sorting Balance

8

Python Programming

Nesting:

  • making decisions with more than two outcomes
  • tables and combinations (e.g. time)
  • triangles and triangle numbers
Programming – Nesting
Assignment:

Programming – Rock, Paper, Scissors

9

Python Programming

Lists and tuples and their use for collections of objects and for “lookup”

 

Programming – Lists and Tuples

Assignment:

Programming – The Twelve Days of Christmas

10

Python Programming

Handling text:
  • recap use of [] in Python
  • use of ASCII values
  • use of random for anagrams

Programming – Character Functions

Assignment:

Programming – Phonetic Alphabet

11

Python Programming

Procedures and Functions
  • defining and calling
  • static, local and global variables

Programming – Procedures & Functions

Links:

Scratch (blocks demo)

Assignment:

Functions and Procedures

12

Python Programming

Useful numerical techniques:
  • Indices and modulo arithmetic
  • Random numbers
  • Powers and indices
  • Negative numbers and abs()
  • Int v. float

Programming – Numerical Functions

Programming – Random Numbers
Links:

Standard Form (enter 0.3 and click right arrow)

Assignment:

Lottery Numbers

13

Python Programming

Recap use of modular arithmetic – also use of nth-of-type CSS selector.

 

Modular Arithmetic

Assignment:
Teams
14

Python Programming

File handling:
  • the need for permanent storage
  • methods for reading/writing files
  • other methods of persistent storage
Programming – File Handling
Assignment:

Address Book I

15

Python Programming

Use of libraries / user interfaces:
  • random numbers / sqrt()
  • getch / clear screen
  • tkinter
  • UI and choice of programming language

Programming – Libraries & User Interfaces

Assignment:

Address Book II

16

Fetch-Execute Cycle

Components of the processor and how it works, including:
  • ALU, program counter, etc.
  • Clock speed
  • Instruction sets, CISC v. RISC
  • measuring performance

Stored Programs

Assignment:

CPU and the Fetch-Execute Cycle
17

Boolean Logic

Recap/explain:
  • truth
  • 1 = on = true
  • NOT, AND, OR, EOR
  • operator precedence
  • truth tables
  • DeMorgan's Duals

Truth Tables

Links:

Boolean Logic

Truth tables

Binary counter

Assignment:

Truth Tables

18

Boolean Logic

Logic circuits:
  • Symbols used / inputs & outputs
  • Simplifying circuits:
  • DeMorgan's Duals
  • NAND, NOR (transistor/ICs)
  • half-adder

Logic Circuits

Links:

Logic Circuits

Logic Circuit Simulator

Assignments:

Logic Circuits

19

Binary

Recap binary and properties:
  • column headings/powers of two
  • largest value in n bits
  • shifting
  • Addition

Binary Arithmetic

Links:

Abacus

Binary

Binary Flags

Representing characters

Assignment:

Binary Addition

20

Binary

Binary to decimal conversion:
  • multiply by column heading Decimal to binary conversion
  • column heading
  • bitwise AND Other number systems, e.g. Roman Numerals

Binary Conversion

Links:

Abacus

Binary

Binary Flags

Assignment:

Binary - Conversion

21

Hexadecimal

Introduction, conversion to decimal Conversion to binary Uses – e.g. colours

Hexadecimal

Links:

Abacus

Hexadecimal

Colours

Assignment:

Hexadecimal

22

Binary

Other binary forms:
  • Negative numbers
  • Decimals Limitations of binary:
  • Overflow
  • Underflow
  • Quantisation errors BCD:
  • How it works
  • Comparison with pure binary

Binary - Extension

Links:

Standard Form (enter 0.3 and click right arrow)

Assignment:

Binary Revision

23 Compression Compression:
  • Re-cap of file sizes & units
  • What affects file size?
  • Need for compression
  • Lossy v. lossless
  • Run-length encoding (RLE)
  • Size v. quality

Compression

Assignment:

Compression and File Size

24

Networking

Developments in Computing:
  • mainframes
  • PCs – dispersed computing
  • networked PCs
  • client-server architecture
  • social, environmental and other considerations
Developments in Computing
Assignment:

Developments in Computing

25

Networking

Networking:
  • Advantages and disadvantages
  • Topologies
  • Protocols
  • Structure of the internet DNS

Networking – KS4

Assignment:

Networks – Topologies and Protocols

26

Networking

Encryption
  • what it is (c.f. “coding”)
  • why it’s required How it can be done:
  • Caesar shift cipher
  • recap encoding of characters (e.g. ASCII)
  • recap EOR and bitwise logic

EncryptionKS4

Links:

ASCII codes

Bitwise Boolean Logic

Assignment:

Programming – Caesar Shift Cipher

Network Security - Encryption

27

Databases

Introduction to structure:
  • fields (importance of field type)
  • records Why we use databases:
  • searching
  • sorting
Introduction to Databases (slides 1-10)
Links:

Database structure

Assignment:

Databases - AQA GCSE Questions

Have you got Access?

28

Databases

Using databases to answer questions, do research, etc. Searching/query techniques:
  • query by example (filtering)
  • SQL
Introduction to Databases (slides 11-16)

Searching – Narrow or Widen

Links:

Queries

Assignment:

Database Queries - AQA GCSE Questions

Countries of the World

29

Databases

Moving to a proper RDBMS (e.g. Access or LibreOffice Base)
  • tables
  • queries
  • forms
  • reports Recap validation

Designing Database Systems

Validation and Verification

Assignment:

Validation – AQA GCSE Questions

30

Databases

Introduction to relational databases:
  • entities and tables
  • relationships and degrees Creating a relational database in Access or LibreOffice

Relational Databases

Links:

Relational databases

Assignment:

Relational Database - Questions

31

Databases

Queries:
  • QBE (including grouping)
  • SQL
Relational Databases (last two slides)

Relational Databases - Queries

Assignment:

Relational Databases - Queries

32

Databases

Further queries:
  • using multiple tables
  • aggregate queries
  • changing relationship types

Relational Databases - Queries

Assignment:

Relational Databases - Complex Queries

33

Databases

Relational databases:
  • further examples/practise
  • introduce idea of normalisation

Relational Databases

Normalisation
Links:

Relational databases

Normalisation

Assignment:

Relational Database – Creating the Structure

34

Software

Different types of software:
  • operating systems
  • utilities
  • applications
Also:
  • off-the-shelf/bespoke
  • proprietary/open-source
Software (slides 1-21)
Assignment:

Software Types

35

Software

Common types of software and features to expect:
  • content-free/generic
  • word processors
  • spreadsheets
  • databases
  • e-Mail
  • web-browsers

Software (slides 21-)

Assignment:

Software – AQA GCSE Questions

36

Importance of Data Security

The importance of security:
  • passwords
  • user rights
  • encryption

The Importance of Security

Assignment:

Security - Exam Questions

Importance of Data Security

Security - A-Z Threatsaurus

37

Legal and Ethical Issues

Esp. copyright and plagiarism

Legal Issues

Assignment:

Legal Issues - AQA GCSE Questions

NB. There aren't 38 lessons in the second year, but there are 42 in the first year, so you could carry some over.