OCR J277 Computer Science Notes
Paper 1: Computer Systems
- 1.1 Systems Architecture
- CPU Components: ALU, Control Unit (CU), Registers
- Fetch-Decode-Execute Cycle
- Von Neumann Architecture: MAR, MDR, Program Counter, Accumulator
- Embedded Systems: Purpose-built computers for a specific task
- 1.2 Memory and Storage
- Primary Storage: RAM (volatile), ROM (non-volatile)
- Secondary Storage: HDD, SSD, Optical Media
- Units of Storage: Bit, Byte, KB, MB, GB, TB
- Volatility and speed differences between storage types
- 1.3 Computer Networks, Connections, and Protocols
- Network Types: LAN, WAN
- Network Topologies: Star, Bus, Ring
- Network Hardware: Routers, Switches, Hubs, NICs
- Protocols: TCP/IP, HTTP, HTTPS, FTP, SMTP, POP3
- 1.4 Network Security
- Threats: Malware (virus, worm, Trojan), Phishing, Social Engineering
- Prevention: Firewalls, Encryption, Anti-virus software, Strong passwords
- Ethical & Legal considerations: Data Protection Act, Computer Misuse Act
- 1.5 Systems Software
- Operating Systems: Functions, types, managing hardware/software
- Utility Software: Backup, Compression, Defragmentation, Anti-virus
- 1.6 Ethical, Legal, Cultural, and Environmental Impacts
- Data Protection, Intellectual Property, Privacy
- Environmental impact of electronic waste and energy usage
Paper 2: Computational Thinking, Algorithms, and Programming
- 2.1 Algorithms
- Computational Thinking: Decomposition, Abstraction, Pattern Recognition, Algorithm Design
- Searching Algorithms: Linear, Binary
- Sorting Algorithms: Bubble, Merge, Insertion
- Pseudocode and Flowcharts
- 2.2 Programming Fundamentals
- Data Types: Integer, Boolean, String, Float
- Variables, Constants
- Operators: Arithmetic, Relational, Logical
- Control Structures: IF, ELSE, SWITCH, Loops (FOR, WHILE)
- 2.3 Producing Robust Programs
- Defensive Design: Input Validation, Error Handling
- Testing: Unit Testing, Integration Testing
- Purpose of Comments and Readable Code
- 2.4 Boolean Logic
- Logic Gates: AND, OR, NOT, NAND, NOR, XOR
- Truth Tables
- Combining Logic Gates
- 2.5 Programming Languages and IDEs
- High-level vs Low-level Languages
- Compilers, Interpreters, Assemblers
- Integrated Development Environments (IDEs): Features, Debugging Tools