OCR 9-1 (J277) GCSE Computer Science
              1.1.1 Architecture of the CPU
              1.1.2 CPU performance
              1.1.3 Embedded systems
              1.2.1 Primary storage
              1.2.2 Secondary storage
              1.2.3 Units
              1.2.4 Data storage
              1.3.1 Networks and topologies
              1.3.2 Networks, protocols and layers
              1.4.1 Network threats
              1.4.2 Prevention methods
              1.5.1 Operating systems
              1.5.2 Utility software
              1.6.1 Ethical Legal
              2.1.2 Computational thinking
              2.1.3 Searching and sorting algorithms
              2.2.1 Programming Fundamentals
              2.2.2 Data types
              2.2.3 Additional programming
              2.3.1 Defensive design methods
              2.3.2 Identify syntax and logic errors
              2.4.1 Boolean logic
              2.5.1 & 2.5.2 Languages & IDE
            
            1.1.1 Architecture of the CPU
                    Defining what is a computer system
                    
                  - Computer system
 - Input, process, output, storage
 - Data bus
 
                    Common CPU components and their function
                    
                  - Control unit
 - ALU
 - Registers
 - Cache
 
                    Von Neumann architecture
                    
                  - Von Neumann architecture
 - MAR & MDR
 - Program Counter
 - Accumulator
 
                    Fetch-Decode-Execute cycle
                    
                - Registers involved
 - Fetch, decode, execute cycle
 
1.1.2 CPU performance
                    CPU common characteristics
                    
                - Clock speed
 - Multi-core processors
 - Cache size
 
1.1.3 Embedded systems
                    Purpose, characteristics of embedded systems
                    
                - Introduction
 - Features
 - Microcontroller
 
1.2.1 Primary storage
                    Primary storage features
                    
                - Features
 - RAM ROM Cache
 
1.2.2 Secondary storage
                    Secondary storage features
                    
                - Common types of storage
 - Suitable devices
 - How to choose
 
1.2.3 Units
                    Units
                    
                - Units for data storage
 - Bytes, bits and nibbles
 - Powers of ten—kilo, mega, giga, tera
 
1.2.4 Data storage
                    Binary numbers
                    
                  - Number systems
 - Digit position
 - Converting between binary/denary
 - Adding binary
 - Binary shift
 - Binary overflows
 
                    Hexadecimal numbers
                    
                  - Hex symbols
 - Converting between binary/hexadecimal
 - Converting between denary / hexadecimal
 
                    Characters
                    
                  - ASCII
 - Character sets
 - Unicode
 
                    Images
                    
                  - Storing pixels
 - Meta data
 - Quality of image
 - Size of image file
 
                    Sound
                    
                  - What is sound
 - Sample rate
 - Bit depth
 - Size of sound file
 
                    Compression
                    
                - Lossy compression
 - Lossless compression
 
1.3.1 Networks and Topologies
                    Types of network
                    
					- What is a network
 - Home/Business networks
 - Cache size
 
                    Network performance
                    
					- Bandwidth
 - Latency
 - Number of users
 - Error rate
 - Wi-Fi performance
 
                    Roles of computers
                    
					- Client-server
 - Peer-to-peer
 
                    Network hardware
                    
					- Hubs, switches and routers
 - Transmission media
 - Wireless hardware
 
                    Internet technology
                    
					- DNS system
 - Local hosting
 - Web servers and the Cloud
 
                    Network topology
                    
                - Star topology
 - Mesh topology
 - Make your own network
 
1.3.2 Networks, protocols, and layers
                    Modes of connection
                    
					- Ethernet
 - Wi-Fi
 - Bluetooth
 
                    Encryption
                    
					- Encryption methods
 - Symmetric
 - Public - Private key
 
                    IP and MAC addressing
                    
					- IP addressing
 - MAC addressing
 
                    Common protocols
                    
                - TCP/IP
 - HTTP(S)
 - FTP
 - POP
 - IMAP
 - SMTP
 - Layer concept
 
1.4.1 Network threats
                    Types of threats
                    
                - Malware
 - Social engineering, phishing
 - Brute force attack
 - Denial of Service
 - Data interception
 - SQL injection
 
1.4.2 Prevention methods
                    Threat prevention methods
                    
                - Penetration testing
 - Anti-malware software
 - Firewalls
 - User-access rights
 - Passwords
 - Encryption
 - Physical security
 
1.5.1 Operating systems
                    Purpose and use of operating systems
                    
                - User interface
 - Memory management, multitasking
 - Peripheral management and drivers
 - User management
 - File management
 
1.5.2 Utility software
                    Purpose and use of utility software
                    
                - Encryption software
 - Defragmentation
 - Data compression
 
1.6.1 Wider impacts of computer science
                    Ethical issues
                    
					- Digital divide
 - Genetic screening
 - Whistleblowers
 - Drones
 - Self-driving cars
 
                    Environment
                    
					- E-waste
 - Sustainability
 - Recycling
 - Energy
 - Earth monitoring
 - The stakeholders
 
                    Privacy issues
                    
					- DNA profiling
 - National ID cards
 - CCTV
 - Electronic tracking
 - Earth monitoring
 - Personal data
 - Stakeholder perspective
 
                    Cultural issues
                    
					- Anonymity issues
 - Use of social media
 - Health issues arising
 - Citizen journalism
 - Making popular videos
 
                    Legislation
                    
                - The Data Protection Act 2018
 - Computer Misuse Act 1990
 - Copyright Designs & Patents Act 1988
 - Software licences - open, proprietary
 
2.1.2 Computational thinking
                    Principles of computational thinking
                    
					- Abstraction
 - Decomposition
 - Algorithmic thinking
 - Structure diagrams
 - Abstraction practice
 - Input-process-output practice
 - Decomposition practice
 - Algorithm practice
 - Pattern recognition practice
 
                    Writing pseudocode and Python code
                    
					- Pseudocode
 - Practice activities
 - Exam Reference language
 - Python practice tasks
 
                    Using flowcharts
                    
                - Flowcharts
 - Practice activities
 
2.1.3 Searching and sorting algorithms
                    Search algorithms
                    
					- Binary search
 - Linear search
 
                    Sort algorithms
                    
                - Bubble sort
 - Merge sort
 - Insertion sort
 - Practice questions
 
2.2.1 Programming Fundamentals
                    Variables and others
                    
					- Variables
 - Constants
 - Operators
 - Assignments
 - Input Output
 
                    Arrays
                    
					- One dimenstion
 - Two dimension
 - Static
 - Dynamic
 - Array functions
 
                    Sequence Selection Iteration
                    
                - Sequence
 - Selection
 - Iteration
 - Conditionals - IF
 - Conditionals - CASE
 - WHILE iteration
 - DO iteration
 - FOR iteration
 
2.2.2 Data types
                    Use of data types
                    
                - Integer
 - Real
 - Boolean
 - Character
 - String
 - Casting
 
2.2.3 Additional programming
                    String manipulation and handling
                    
					- Assignment
 - Concatenate
 - Traversal
 - Search
 - Copy
 
                    File manipulation and handling
                    
					- Open
 - Read
 - Write
 - Close
 
                    SQL and databases
                    
					- Records
 - SQL
 - SELECT
 - WHERE
 - FROM
 
                    Functions, procedures, and subroutines
                    
					- Repeating code
 - Procedures and Subroutines
 - Functions
 - Code library
 
                    Random numbers
                    
                - Use of random numbers
 - Python worked example
 - Python files in zip
 
2.3.1 Defensive design methods
                    Defensive design
                    
					- User interface choice
 - Screen widgets
 - Repeat data entry
 - Input boxes
 - Validation
 - Authentication
 
                    Maintainable code
                    
                - Comments
 - Headers
 - Whitespace
 - Indentation
 - Naming
 
2.3.2 Errors and testing
                    Spotting errors
                    
					- Logic errors
 - Syntax errors
 - Arithmetic order
 - Debugging tools
 - Runtime errors
 - Authentication
 
                    Types of testing
                    
                - Test plan
 - Test data
 - Iterative testing
 - Final testing
 
2.4.1 Boolean logic
                    Logic
                    
					
                - What is logic
 - Binary logic
 - Logic gates
 - Truth tables
 - Standard symbols
 
2.5.1 & 2.5.2 Languages & IDEs
                    Languages
                    
                - Machine code
 - Assembly language
 - High level language
 - Translator
 - Compilers
 - IDE features