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