
Computer Science: OCR A Level revision notes
1 Components of a Computer
1.2 Types of Processors
1.3 Input, Output & Storage
- 1.3.1 Elements of Computer Systems
- 1.3.2 Types of Computer Systems
- 1.3.3 How Magnetic Storage Works
- 1.3.4 Properties of Magnetic Storage
- 1.3.5 Examples of Magnetic Storage
- 1.3.6 How Optical Storage Works
- 1.3.7 Properties of Optical Storage
- 1.3.8 Examples of Optical Storage
- 1.3.9 Types of Optical Disc
- 1.3.10 Random Access Memory
- 1.3.11 Read Only Memory
- 1.3.12 Uses of Flash Memory
- 1.3.13 Properties of Flash Memory
- 1.3.14 What to do When We Run Out of Memory
- 1.3.15 How Virtual Memory Works
2 Software & Software Development
2.2 Applications Generation
- 2.2.1 Applications Software
- 2.2.2 Utilities
- 2.2.3 Encryption Software
- 2.2.4 Defragmentation Software
- 2.2.5 Data Compression Software
- 2.2.6 Backup Software
- 2.2.7 Open Source Software
- 2.2.8 Proprietary Software
- 2.2.9 Licensing Issues
- 2.2.10 Compilers
- 2.2.11 Interpreters
- 2.2.12 Assemblers
- 2.2.13 Compiling a Program
- 2.2.14 Lexical Analysis
- 2.2.15 Compilation Stages
- 2.2.16 Linkers, Loaders & Libraries
2.3 Software Development
- 2.3.1 Algorithmic Thinking
- 2.3.2 Waterfall Lifecycle
- 2.3.3 Waterfall Lifecycle - Strengths & Weaknesses
- 2.3.4 Agile Methodology
- 2.3.5 Agile Methodology - Strengths & Weaknesses
- 2.3.6 Extreme Programming
- 2.3.7 Extreme Programming - Strengths & Weaknesses
- 2.3.8 Spiral Methodology
- 2.3.9 Spiral Methodology - Strengths & Weaknesses
- 2.3.10 Rapid Application Development
- 2.3.11 RAD - Strengths & Weaknesse
2.4 Types of Programming Language
- 2.4.1 High Level Programming Languages
- 2.4.2 Low Level Programming Languages
- 2.4.3 Programming Paradigms
- 2.4.4 Procedural Programming Languages
- 2.4.5 Assembly
- 2.4.6 Machine Code
- 2.4.7 Modes of Addressing Memory
- 2.4.8 Object-Oriented Languages
- 2.4.9 Classes
- 2.4.10 Objects
- 2.4.11 Encapsulation
- 2.4.12 Polymorphism
3 Exchanging Data
3.1 Compression, Encryption & Hashing
3.3 Networks
- 3.3.1 The Benefits of Networks
- 3.3.2 Network Performance
- 3.3.3 Types of Networks
- 3.3.4 Network Protocols
- 3.3.5 Transmission Protocols
- 3.3.6 What is the Internet?
- 3.3.7 Uniform Resource Locators
- 3.3.8 Domain Name Service
- 3.3.9 Web Hosting
- 3.3.10 Layering Concepts
- 3.3.11 TCP &. OSI Models
- 3.3.12 The Advantages of Layering
- 3.3.13 What's in a Packet?
- 3.3.14 How do Packets get Routed?
- 3.3.15 Did my Data Arrive Safely?
- 3.3.16 Network Hardware
- 3.3.17 Transmission Media
- 3.3.18 Firewalls
- 3.3.19 Proxies
- 3.3.20 Client-Server Model
- 3.3.21 Advantages of the Client Server Model
- 3.3.22 Disadvantages of the Client Server Model
- 3.3.23 Peer-to-Peer Model
- 3.3.24 Advantages of the Peer-to-Peer Model
- 3.3.25 Disadvantages of the Peer-to-Peer Model
4 Data Types, Data Structures & Algorithms
4.1 Data Types
- 4.1.1 Data Types
- 4.1.2 Casting
- 4.1.3 Arrays
- 4.1.4 2D Arrays
- 4.1.5 Strings
- 4.1.6 Binary
- 4.1.7 Sign & Magnitude
- 4.1.8 Binary Addition
- 4.1.9 Binary Shifts
- 4.1.10 Hexadecimal
- 4.1.11 Using Hexadecimal
- 4.1.12 Converting Binary & Hexadecimal
- 4.1.13 Converting Denary & Hexadecimal
- 4.1.14 Floating Points in Binary
- 4.1.15 Normalisation of Floating Points
- 4.1.16 Floating Point Addition
- 4.1.17 Floating Point Subtraction
- 4.1.18 Bitwise Manipulation - Shifts
- 4.1.19 Bitwise Manipulation - Masks
- 4.1.20 Character Sets
- 4.1.21 ASCII
- 4.1.22 Unicode
5 Legal, Moral, Cultural & Ethical Issues
5.2 Moral & Ethical Issues
- 5.2.1 Online Activity Tracking
- 5.2.2 Censorship
- 5.2.3 Positive Cultural Impacts
- 5.2.4 Negative Cultural Impacts
- 5.2.5 E-Waste
- 5.2.6 Energy Consumption
- 5.2.7 Positive Environmental Impact
- 5.2.8 Layout, Colour Paradigms & Character Sets
- 5.2.9 Computers in the Workplace
- 5.2.10 Automated Decision-Making
- 5.2.11 Artificial Intelligence
- 5.2.12 Monitoring Behaviour
- 5.2.13 Analysing Personal Information
- 5.2.14 Piracy & Offensive Communication
6 Elements of Computational Thinking
6.1 Thinking Abstractly
6.2 Thinking Ahead
6.3 Thinking Procedurally
6.4 Thinking Logically
6.5 Thinking Concurrently
7 Problem Solving & Programming
7.1 Programming Techniques
7.2 Programming Construction