This repo holds notes from AQA Computer Science A Level.
- Definitions
- Data Types
- Object-oriented programming
- Data structures
- Single- and multi-dimensional arrays
- Abstract data types-data structures
- Queues
- Stacks
- Graphs
- Trees (including binary trees)
- Hash tables
- Dictionaries
- Vectors
- Simple graph-traversal algorithms
- Simple tree-traversal algorithms
- Reverse Polish – infix transformations
- Linear search
- Binary search
- Binary tree search
- Bubble sort
- Merge sort
- Finite state machines (FSMs) with and without output
- Maths for regular expressions
- Regular expressions
- Backus-Naur Form (BNF)-syntax diagrams
- Comparing algorithms
- Maths for understanding Big-0 notation
- Order of complexity
- Limits of computation
- Classification of algorithmic problems
- Computable and non-computable problems
- Halting problem
- Turing machine
- Definitions
- Conceptual data models and entity relationship modelling
- Relational databases
- Database design and normalisation techniques
- SQL
- Client server databases
- Big Data
- Function type
- First-class object
- Function application
- Partial function application
- Composition of functions
- Functional language programs
- List processing
- Analysis
- Design
- Implementation
- Testing
- Evaluation
- Natural numbers
- Integer numbers
- Rational numbers
- Irrational numbers
- Real numbers
- Ordinal numbers
- Counting and measurement
- Number base
- Bits and bytes
- Units
- Unsigned binary
- Unsigned binary arithmetic
- Signed binary using two’s complement
- Numbers with a fractional part
- Rounding errors
- Absolute and relative errors
- Range and precision
- Normalisation of floating point form
- Underflow and overflow
- Character form of a decimal digit
- ASCII and Unicode
- Error checking and correction
- Bit patterns, images, sound and other data
- Encryption
- Analogue and digital
- Analogue-digital conversion
- Bitmapped graphics
- Vector graphics
- Vector graphics versus bitmapped graphics
- Digital representation of sound
- Musical Instrument Digital Interface (MIDI)
- Data compression
- Relationship between hardware and software
- Classification of software
- System software
- Role of an operating system (OS)
- Classification of programming languages
- Types of program translator
- Logic gates
- Using Boolean algebra
- Internal hardware components of a computer
- The meaning of the stored program concept
- The processor and its components
- The Fetch-Execute cycle and the role of registers within it
- The processor instruction set
- Machine-code assembly language operations
- Factors affecting processor performance
- Individual (moral), social (ethical), legal and cultural issues and opportunities
- Communication methods
- Communication basics
- Network topology
- Types of networking between hosts
- Wireless networking
- The Internet and how it works
- Internet security
- TCP-IP
- Client server model
- Thin- versus thick-client computing
- Standard application layer protocols
- IP address structure
- Subnet masking
- IP standards
- Public and private IP addresses
- Dynamic Host Configuration Protocol (DHCP)
- Network Address Translation (NAT)
- Port forwarding
To build the table of contents and insert: make