Resources for Teaching OCR J277

These are the web-based resources that I use when teaching the GCSE Computer Science content for OCR J277 - mostly interactive pages that I created that help the students to visualise and understand the concepts. I have mapped the pages to the topic references from the specification. There are some links on the GCSE revision page to exam style questions for retrieval practice, but the links here are largely about Computer Science content rather than assessment. I use past-paper questions from sites such as ExamBuilder for questions to test the knowledge.

There are, however, some low-stakes revision activities that we can use throughout the course when students have a few spare minutes, e.g. the Connecting Wall and Worderama. Note that we teach students following all boards, so pages might ocassionally include detail that isn't required for OCR.






Systems Architecture:

  • There are no interactive resources to enable students to visualise the fetch-execute cycle, but there are slides, links to videos, etc., on the resources page.
  • It's also a representation topic, but I explain that the FDE cycle works because programs are stored as numbers which represent a particular instruction to be performed. That's why the RAM can store both data and instructions.
  • I make the link between the ALU, logic circuits and binary addition by explaining to students how a full adder can be used to add bits.
  • The size of the registers and width of the buses affect the number of instructions that can be performed, the size of numbers that can be handled, and the number of memory locations that can be addressed.


Memory and Storage:

  • There are no interactive pages for storage media and their properties, but students should be aware of representation topics that that they understand how programs, images and sounds are stored. There are slides available on the resources page, including ones that discuss cloud storage and fragmentation.
  • The binary page can be used to demonstrate shifting, the maximum value in a given number of bits, etc.
  • The binary counter page shows the "history" of each bit so can be used to demonstrate a quicker way to write a sequence of binary numbers (or fill in a truth table).
  • The binary addition page also shows overflow - you can use the binary page to demonstrate underflow by shifting numbers rightwards.
  • ASCII and Unicode values are used to store which character is being used, e.g. an A, and not what it looks like.
  • You can use the metadata page to demonstrate that the colour of the pixels isn't enough information to be able to reconstruct the image.
  • With the sound recording page you can zoom in until you can see the individual samples and show just how many there are per second.
  • The sampling pages shows you what happens if the sampling rate is too low, and the effect of reducing the sample size.
  • The specification says only that students should know that colours are stored as a unique code - it doesn't actually mention RGB (although most people don't bother with HSL).
  • For a broader view of representation you could also look at vector graphics, programs and other forms of representation.
  • To aid understanding of what is "lost" in lossy compression you can use the two pages listed to show the impact of reducing the sample size both on the image or wave (see also range of binary values) and on the file size.
  • Details of Run-Length Encoding and Huffman Coding aren't required for OCR, but students might be interest to see how lossless compression might work.


Computer networks, connections and protocol:

  • There are no interactive resources to enable students to visualise networking, but there are slides, links to videos, etc., on the resources page.
  • Parity isn't required, but you might want to discuss how errors are detected and why certain transmission media, e.g. fibre optic cables, have greater bandwidth.
  • As well as demonstrating substitution ciphers using the linked page, we also do programming tasks, e.g. shift ciphers and encryption with EOR.


Network security:

  • I show students this video to help them to visualise what's happening in the different forms of cyber attack.
  • After we've looked at SQL we look at the SQL injection page see whether we can use a username and password that creates a value SQL statement that is always true (the examples in Wikipedia work).


Systems software

  • There are no interactive pages for systems software, but there are slides available, including an animation of defragmentation, on the resources page.


Ethical, legal, cultural and environmental impact:

  • Throughout the course we look at issues as they arise in the news (the sort of news stories that I post via Twitter, Threads and Bluesky).
  • As it's difficult to predict exactly what will appear, we also discuss points that we could make for almost any context.



  • Look through the Algorithms menu for more examples of algorithms that you can discuss with your students.
  • More confident programmers can respond well to discussions of recursion, e.g. the flood fill algorithm


Programming Fundamentals:

  • The programming resources aren't interactive resources themselves but I use them to do at least one programming task every week throughout the course, plus additional programming in theory lessons to reinforce the content - e.g. conversion to and from binary and hexadecimal or encryption. Look in the Programming and Algorithms sections for further ideas of things that you can program.
  • You can use the Monte Carlo method to show that random numbers aren't only for games, etc.
  • Windows users can use the SQL view in Microsoft Access to investigate SQL.


Producing robust programs


Boolean logic:


Programming languages and Integrated Development Environments

  • There are no interactive resources for this topic, but look at the resources page for presentations, etc.


Most of the points above relate to invidividual specification points. You can also improve understanding the identifying themes that run through these points:

There are also ideas that aren't explicitly mentioned in the specification but are really just combinations of things that are:

NB. The * indicates third-party resources that I use. Links to programs open in Basthon - turn off translation and click Exécuter to run them.