Skip to content ↓

Computer Science

 

subject overview

A high-quality computing education equips learners to use computational thinking and creativity to understand and change the world. Computing has deep links with mathematics, science and design and technology, and provides insights into both natural and artificial systems. The core of computing is computer science, in which learners are taught the principles of information and computation, how digital systems work and how to put this knowledge to use through programming. Building on this knowledge and understanding, learners are equipped to use information technology to create programs, systems and a range of content. Computing also ensures that learners become digitally literate – able to use, and express themselves and develop their ideas through, information and communication technology – at a level suitable for the future workplace and as active participants in a digital world.

Unit overview - Python Turtle Graphics

Subject: Python Turtle Graphics

Skills

Students are able to create simple computer programs using the Python Turtle Graphics (PTG) module, which extends on existing Python skills to reinforce:

  • Sequence - input and output and basic image generation
  • Selection – modification of behaviour within the code for selective execution of code paths
  • Iteration – the use of looping constructs to create dynamic images.
  • Computational mathematical operations to manipulate screen coordinates

To be able to implement sub-routines in program code

To be able to develop programs for image generation

To be able to debug and correct problems in their code

To be able to annotate code using appropriate terminology and technical language

Knowledge

Know how to implement Python Turtle Graphic module code by importing the PTG module and referencing its library of functions

Know how to utilise the PTG syntax to create images and draw custom shapes:

  • Movement commands: left, right, forward
  • Pen commands: pen-up, pen-down, colour, size
  • Shape Commands: circle, square, fill and end fill

Understand how to nest loops within loops for kaleidoscopic image creation

Know how to implement mathematical operations as part of plotting images on the screen

Know how produce algorithmic solutions for specific problems based on requirement statements

Know the purpose of subroutines in a program, and understand how to implement sub-routines

Understand the importance of ‘commenting’ code and documentation

Rationale

This unit extends and reinforces the students’ programming skills using the Python PTG extension.   It applies their learning of Python and computational thinking to some motivating tasks where they create ever more creative and colourful shapes using the Turtle module.

By the end of the unit, students will be able to design their own images using short snippets of code, as well as debug, annotate and document their code.  They are also encouraged to explain their designs, so as to become conscious of the algorithms they are creating.  

We believe that creating patterns and shapes in Python is an excellent pathway to learning the programming techniques used in the higher year groups, because the students often become so determined to make better and better shapes, they start using more complex techniques.  For example, it is not uncommon in this unit to see students coding in nested loops and making use of subroutines in their code – if they master these techniques, they will thrive at GCSE.

Unit overview - HTML and web-pages

Subject: HTML and web-pages

Skills

Explain the purpose of HTML in web pages

Be able to use some basic HTML tags to create web pages

Be able to add images to web pages

Be able to link multiple web pages together to create a basic web site

Be able to test the web pages that they have created

Be able to reflect on good practice and improve their pages after feedback

Knowledge

Understand the purpose of HTML in a web page

Understand the use of HTML tags and be able to apply them in a web page

Understand how to insert an image into a webpage

Know how to use HTML to write a basic web page with common formatting

Understand how HTML is used to link webpages together to create a web site

Rationale

Students grow up using web pages on their computers, tablets and smart phones, and engage with them daily as consumers. This unit seeks to look ‘under the hood’ of web pages and examine what goes into the making of them. It introduces the HTML standard for creating web pages, and guides students through the process of implementing their own pages.  After these tasks, students should be able to create a site comprising multiple pages with images, linked together using hyperlinks.

Unit overview - Python PRIMM units 8-13

Subject: Python programming with PRIMM (units 8-13)

Skills

Being able to apply some pre-intermediate programming techniques to write simple computer programs which solve real world problems.

Being able to investigate, modify and write programs which:

  • Branch according to input
  • Loop according to counters
  • Perform logical evaluations in programs

Being able to predict the output of an unseen program containing elementary programming techniques such as branching and count-controlled iteration.

Knowledge

Understand the use of one basic programming construct used to control the flow of a program: selection

Understand the use of another basic programming construct used to control the flow of a program: iteration (count-controlled loops)

Understand how the common arithmetic and Boolean operators are applied in selection statements

Rationale

Learning Computing has, at its heart, learning how to program computers to perform tasks for us.  This goes beyond writing instructions that the computer can reliably execute, and addresses how to write programs that branch in various directions depending on the data the user inputs, as well as programs that perform tasks again and again, as many times as we wish.

In Year 8, this means spending considerable time writing programs which branch and iterate.  Concepts such as these take a long time to master, and a resilient approach is required as the branches and loops that you code fail before your eyes.  This unit features three lessons working through tasks that develop understanding of branching, and applies this techniques to a series of more challenging tasks.  It then does the same for count-controlled iteration, also applying this technique to a series of increasingly complex tasks.

By engaging with these lessons, a student should be able to write useful programs which are versatile enough to perform different tasks depending on the user input, and which perform tasks again and again until the programmer says they are done.  After all, the processor can handle over 3 billion instructions per second, and will not complain no matter how many times it is asked to do something.

Unit overview - Python PRIMM units 14-17

Subject: Python programming with PRIMM (units 14-17)

Skills

Being able to apply some pre-intermediate programming techniques to write simple computer programs which solve real world problems

Being able to investigate, modify and write programs which:

  • Loop according to conditions
  • Perform logical evaluations in loops

Being able to predict the output of an unseen program containing elementary programming techniques such as condition-controlled iteration

Knowledge

Understand the use of a basic programming construct used to control the flow of a program: iteration (condition-controlled loops)

Rationale

Learning Computing has, at its heart, learning how to program computers to perform tasks for us.  This goes beyond writing instructions in sequence and which branch, and loop for a set number of times – and addresses how to write programs that perform tasks again and again, as long as a condition is true.

In Year 8, this means spending considerable time writing programs which branch and iterate while a condition is true – while the Boolean value of True is returned from a logical operation.  This particular concept takes students hours to master, and a resilient approach is required as the condition-controlled loops that you code behave unexpectedly.  This unit features four lessons working through tasks that develop understanding of condition-controlled looping, and applies this techniques to a series of more challenging tasks.

By engaging with these four lessons, a student should be able to write useful programs which will run as long as they need to.

knowledge Organiser

A knowledge organiser is an important document that lists the important facts that learners should know by the end of a unit of work. It is important that learners can recall these facts easily, so that when they are answering challenging questions in their assessments and GCSE and A-Level exams, they are not wasting precious time in exams focusing on remembering simple facts, but making complex arguments, and calculations.

We encourage all pupils to use them by doing the following:

  • Quiz themselves at home, using the read, write, cover, check method.
  • Practise spelling key vocabulary
  • Further researching people, events and processes most relevant to the unit.