CS Notes

Content Page

Nov 16, 20254 min read

1. The Characteristics of Contemporary Processors, Input, Output & Storage Devices

1.1 Structure & Function of the Processor

  • Components of the CPU
  • CPU Performance
  • Fetch-Decode-Execute Cycle
  • Pipelining
  • Von Neumann & Harvard Architecture

1.2 Types of Processor

  • Graphics Processing Unit (GPU)
  • Multicore & Parallel Processors
  • RISC and CISC

1.3 Input, Output, & Storage

  • Input & Output Devices
  • RAM & ROM

2. Software & Software Development

2.1 Systems Software

  • BIOS
  • Device Drivers
  • Memory Management
  • Operating Systems
  • Scheduling
  • System Interrupts
  • Types of Operating System
  • Virtual Machines

2.2 Application Generation

  • Application Software
  • Libraries, Linkers & Loaders
  • Open Source & Closed Source Software
  • Stages of Compilation
  • Translators
  • Utility Software

2.3 Software Development

  • Agile (extreme programming)
  • Comparing Software Development Models
  • Rapid Application Development (RAD)
  • Spiral Model
  • Waterfall Lifecycle

2.4 Types of Programming Language

  • Assembly Language & Little Man Computer
  • Modes of Addressing
  • Procedural Programming
  • Programming Paradigms

2.5 Object Oriented Languages

  • Attributes (OOP)
  • Classes (OOP)
  • Encapsulation (OOP)
  • Inheritance (OOP)
  • Methods (OOP)
  • Objects (OOP)
  • Polymorphism (OOP)

3. Exchanging Data

3.1 Compression, Encryption, and Hashing

  • Hashing
  • Lossy & Lossless Compression
  • Run Length Encoding & Dictionary Coding
  • Symmetric & Asymmetric Encryption

3.2 Databases

  • Capturing Data
  • Entity Relationship Types
  • Normalisation
  • Referential Integrity
  • Relational Databases
  • SQL
  • Transaction Processing

3.3 Networks

  • Client-Server
  • Domain Name System (DNS)
  • LAN & WAN
  • Network Hardware
  • Network Security & Threats
  • Networks
  • Packet & Circuit Switching
  • TCP-IP

3.4 Web Technologies

  • Arithmetic Operators in JavaScript
  • For Loops in JavaScript
  • Functions & Procedures in JavaScript
  • HTML
  • JavaScript
  • Nested Statements in JavaScript
  • Outputs in JavaScript
  • PageRank Algorithm
  • Search Engine Indexing
  • Selection in JavaScript
  • Server Side Processing
  • Strings in JavaScript
  • Variables & Constants in JavaScript
  • While Loops in JavaScript
  • Writing CSS - Styling
  • Writing CSS

4. Data Types, Data Structures & Algorithms

4.1 Data Types

  • Binary Addition
  • Binary
  • Character Sets
  • Floating Point Arithmetic
  • Floating Point Binary
  • Logical Shifts
  • Primitive Data Types
  • Representing Hexadecimal Numbers
  • Signed Binary Numbers

4.2 Data Structures

  • Arrays
  • Binary Search Trees
  • Graphs - Traversing, Adding & Removing Data
  • Graphs
  • Hash Tables
  • Linked Lists
  • Queues
  • Records, Lists & Tuples
  • Stacks
  • Trees

4.3 Boolean Algebra

  • D Type Flip Flops
  • Half Adders
  • Karnaugh Maps
  • Logic Gates
  • What is Boolean algebra

5. Legal, Moral, Cultural & Ethical Issues

5.1 Computer Related Legislation

  • The Computer Misuse Act 1990
  • The Copyright Designs & Patents Act 1988
  • The Data Protection Act 1998
  • The Regulation of Investigatory Powers Act 2000

5.2 Moral & Ethical Issues

  • Artificial Intelligence
  • Automated Decision Making
  • Censorship & The Internet
  • Computer in the Workforce
  • Environmental Effects
  • Layout, Colour Paradigms & Character Sets
  • Monitoring Behaviour Ethics
  • Personal Information Ethics
  • Piracy & Offensive Communications

6. Elements of Computational Thinking

6.1 Thinking Abstractly

  • Abstract Models in Computational Thinking
  • Abstraction & Reality in Computational Thinking
  • The Nature of Abstraction

6.2 Thinking Ahead

  • Computational Thinking - Thinking Ahead

6.3 Thinking Procedurally

  • Components of a Problem in Computational Thinking
  • Order of Steps in Problem Solving
  • Sub-Procedures

6.4 Thinking Logically

  • Decisions in Computational Thinking
  • Logical Conditions in Computational Thinking

6.5 Thinking Concurrently

  • Concurrency in Problem Solving
  • Concurrent Processing

7. Problem Solving & Programming

7.1 Programming Techniques

  • Arithmetic, Logical & Boolean Operators
  • Data Types
  • Global & Local Variables
  • Integrated Development Environment (IDE)
  • Iteration
  • Modularity, Functions & Procedures
  • Parameter Passing
  • Programming Classes, Objects, Methods & Attributes
  • Programming Constructs
  • Programming Encapsulation
  • Programming Inheritance
  • Programming Polymorphism
  • Recursion
  • Selection

7.2 Computational Methods

  • Backtracking Algorithms
  • Data Mining
  • Divide & Conquer Algorithms
  • Features of Computation
  • Heuristics for Problem Solving
  • Performance Modelling
  • Pipelining as a Computational Method
  • Problem Decomposition
  • Problem Recognition
  • Use of Abstraction
  • Visualisation for Problem Solving

8. Algorithms

8.1 Algorithms

  • A-Star Search Algorithm
  • Big O Notation
  • Binary Search
  • Bubble Sort
  • Dijkstra’s Shortest Path Algorithm
  • Insertion Sort
  • Merge sort
  • Quick Sort
  • Searching Algorithms
  • Suitability of Algorithms

8.2 Algorithms for the Main Data Structures

  • Implementing a Linked List
  • Implementing a Stack
  • Implementing a Tree
  • Implementing Linear Queues

9. Exam Technique

9.1 The Exam Papers

  • Paper 1 Guidance
  • Paper 2 Guidance

9.2 Structuring Your Responses

  • How to Answer Extended Response Questions
  • How to Answer Programming Questions
  • How to Answer Trace Table Questions

Graph View

Created with Quartz v4.5.2 © 2025

  • GitHub
  • Discord Community