Topic outline

  • Introduction to Programming

    2 Hours

    An introduction to programming.

  • Handling Data

    [2.1.7] 1 Hour

    In this lesson you will begin to understand how data is used within computer programs as per 2.1.7. You will be able to:

    • [j] Define the terms variable and constant as used in an imperative language
    • [k] Use variables and constants
    • [n] Perform common operations on numeric and Boolean data

    and will add keyboard control and simple scoring to your Scratch Game.

    Depending on the prior experience of the students this maybe combined with topic 1 in one lesson.

  • The Programming Constructs

    [2.1.7] 2 Hours

    In an almost repeat of topic 1 in this lesson you will continue to learn about programming and control flow in imperative languages as per 2.1.7:

    • [g] Understand and use sequence in an algorithm
    • [h] Understand and use selection in an algorithm (IF and CASE statements)
    • [i] Understand and use iteration in an algorithm (FOR, WHILE and REPEAT loops).

    In the practical task you will learn some how to use the three key programming constructs in a computer program.

  • Flowcharts and Pseudo Code

    [2.1.7] 1 Hour

    In today's lesson we are going to look at how we can represent our programs using diagrams. At the end of the session:

    • Everyone will be able to draw a flowchart using the three key shapes.
    • Most will have drawn a flowchart of their Greenfoot game.
    • Some will have extended their flowchart to include ideas for improving their game.

  • Units

    [2.1.7] - 2 Hours

    In this topic you will learn about the units computers use to store data as specificed in 2.1.7. You will be able to:

    • [a] Define the terms bit, nibble, byte, kilobyte, megabyte, gigabyte, terabyte
    • [b] Understand that data needs to be converted into a binary format to be processed by a computer.

    For the practical task you will continue to develop your understanding and ideas of pseudo-code and programming.

  • Testing

    [2.1.7] - 3 hours

    In this topic you will learn about Testing and how programmers ensure that their software does not crash. In line with 2.1.7, you should be able to:

    • [p] Describe syntax errors and logic errors which may occur while developing a program.
    • [q] Understand and identify syntax and logic errors
    • [r] Select and justify test data for a program, stating the expected outcome of each test.

    You will be given a simple program, correct the syntax and logic errors before creating a test data table for the program. You will then be expected to test the game and record the outcome of each test. Submit your results below.

  • Networks

    [2.1.6] - 5 Hours

    In this topic you will learn about Networks and how computers talk to each other. You should be able to:

    • [a] Explain the advantages of networking stand-alone computers into a local area network
    • [b] Describe the hardware needed to connect stand-alone computers into a local area network, including hub/switches, wireless access points
    • [c] Explain the different roles of computers in a client-server and a peer-to-peer network
    • [d] Describe, using diagrams or otherwise, the ring, bus and star network topologies
    • [e] Describe the differences between a local area network and a wide area network such as the internet
    • [f] Explain the terms IP addressing, MAC addressing, packet and protocols
    • [g] Explain the need for security measures in networks, such as user access levels, suitable passwords and encryption techniques
    • [h] Describe and justify network policies such as acceptable use, disaster recovery, failover, backup, archiving.
  • The Internet

    [2.1.6] - 5 Hours

    In this topic you learn all about how the internet works and what equipment a computer needs to connect to the web.  You should be able to:

    • [i] Describe the nature of the internet as a worldwide collection of computer networks
    • [j] Describe the hardware needed to connect to the internet including modems, routers
    • [k] Explain the need for IP addressing of resources on the internet and how this can be facilitated by the role of DNS services
    • [l] Explain the importance of HTML and its derivatives as a standard for the creation of webpages
    • [m] Describe common file standards associated with the internet such as JPG, GIF, PDF, MP3, MPEG
    • [n] Explain the importance of compressing files that are transmitted via the internet
    • [o] Describe the differences between lossy and lossless compression.

  • Computer Systems

    [2.1.1] - 3 Hours 

    As a computing specialist you need to understand how computers work and give advice to others.  You should be able to:
    • [a] Define a computer system
    • [b] Describe the importance of computer systems in the modern world
    • [c] Explain the need for reliability in computer systems
    • [d] Explain the need for adherence to suitable professional standards in the development, use and maintenance of computer systems
    • [e] Explain the importance of ethical, environmental and legal considerations when creating computer systems.
  • The Central Processing Unit (CPU)

    [2.1.2] 2 Hours


    One of the key components in a computer is the CPU.  You should be able to: 
    • [a] State the purpose of the CPU
    • [b] Describe the function of the CPU as fetching and executing instructions stored in memory
    • [c] Explain how common characteristics of CPUs such as clock speed, cache size and number of cores affect their performance.
    • Lesson 1 - Understanding the CPU role.

      Learn about CPUs and the Fetch, Decode and Execute Cycle.

    • FileLesson PP File 71.3KB Powerpoint presentation
    • FileStudent PP File 2.7MB Powerpoint presentation
    • FileCPU Flash Cards File 13.4KB Word document
    • Lesson 2

      Learning about and labelling the different components inside a computer.

    • FileTeacher / Student Powerpoint File 3.5MB Powerpoint presentation
    • FileStudent Worksheet File 1.1MB application/zip
  • Binary logic

    [2.1.2] 3 Hours


    As you learnt in 2.1.7.b Computers use the Binary number system to store data. You should be able to: 
    • [d] Explain why data is represented in computer systems in binary form
    • [e] Understand and produce simple logic diagrams using the operations NOT, AND and OR
    • [f] Produce a truth table from a given logic diagram.
  • Memory

    [2.1.2] 2 hours

    You should be able to:
    • [g] Describe the difference between RAM and ROM
    • [h] Explain the need for ROM in a computer system 
    • [i] Describe the purpose of RAM in a computer system 
    • [j] Explain how the amount of RAM in a personal computer affects the performance of the computer
    • [k] Explain the need for virtual memory
    • [l] Describe cache memory
    • [m] Describe flash memory
    • [n] Discuss how changes in memory technologies are leading to innovative computer designs.
  • Input and output devices

    [2.1.2] 3 Hours

    You should be able to:
    • [o] Understand the need for input and output devices
    • [p] Describe suitable input devices for a wide range of computer controlled situations
    • [q] Describe suitable output devices for a wide range of computer controlled situations
    • [r] Discuss input and output devices for users with specific needs.
  • Secondary storage

    [2.1.2] - 2 Hours

    You should be able to:
    • [s] Explain the need for secondary storage
    • [t] Describe common storage technologies such as optical, magnetic and solid state
    • [u] Select suitable storage devices and storage media for a given application and justify their choice using characteristics such as capacity, speed, portability, durability and reliability.
  • Software

    [2.1.3] 3 Hours 

    You should be able to:
    • [a] Explain the need for the following functions of an operating system: user interface, memory management, peripheral management, multi-tasking and security
    • [b] Describe the purpose and use of common utility programs for computer security (antivirus, spyware protection and firewalls), disk organisation (formatting, file transfer, and defragmentation), and system maintenance (system information and diagnosis, system cleanup tools, automatic updating)
    • [c] Discuss the relative merits of custom written, off the shelf, open source and proprietary software.
  • Images

    [2.1.4] 1 Hour

    You should be able to:
    • [k] Explain the representation of an image as a series of pixels represented in binary
    • [l] Explain the need for metadata to be included in the file such as height, width and colour depth
    • [m] Discuss the effect of colour depth and resolution on the size of an image file.
  • Sound

    [2.1.4] 1 Hour

    You should be able to:
    • [n] Explain how sound can be sampled and stored in digital form
    • [o] Explain how sampling intervals and other considerations affect the size of a sound file and quality of its playback
  • Instructions

    [2.1.4] 1 Hour

    You should be able to:
    • [p] Explain how instructions are coded as bit patterns
    • [q] Explain how the computer distinguishes between instructions and data.
  • The Database Concept

    [2.1.5] 1 Hour 

    You should be able to:
    • [a] Describe a database as a persistent organised store of data
    • [b] Explain the use of data handling software to create, maintain and interrogate a database.
  • The DBMS

    [2.1.5] 1 Hour

    You should be able to:
    • [c] Describe how a DBMS allows the separation of data from applications and why this is desirable
    • [d] Describe the principal features of a DBMS and how they can be used to create customized data handling applications.
  • Relational databases

    [2.1.5] 3 Hours 

    You should be able to:
    • [e] Understand the relationship between entities and tables
    • [f] Understand the components of a relational database, such as tables, forms, queries, reports and modules
    • [g] Understand the use of logical operators in framing database queries
    • [h] Explain the use of key fields to connect tables and avoid data redundancy
    • [i] Describe methods of validating data as it is input.