OCR H046 AS-Level Computer Science
              1.1.1 Architecture of the CPU
              1.1.2 Types of processor
              1.1.3 Input, output, and storage
              1.2.1 Operating system
              1.2.2 Applications generation
              1.2.3 Introduction to programming
              1.3.1 Databases
              1.3.2 Networks
		
              1.4.1 Data types
              2.2.2 Software development cycle
				
            
            1.1.1 Architecture of the CPU
                    Parts of the CPU
                    
              
                  - Control Unit
 - ALU
 - Registers
 
                    Registers within the CPU
                    
                  - Accumulator
 - Memory Data Register
 - Memory Address Register
 - Program Counter
 - Current Instruction Register
 
                    Fetch-Decode-Execute cycle
                    
                  - Registers involved
 - Fetch, decode, execute cycle
 
                    CPU performance factors
                    
                  - Clock speed
 - Multi-core
 - Cache
 - RAM size
 - GPU
 - Pipelining
 
                    System performance factors
                    
                  - Faster CPU
 - Improved RAM
 - Graphics card
 - Upgraded Drive
 - Upgraded OS
 
                    Architecture of the CPU
                    
				  - Von Neumann architecture
 - Harvard architecture
 
1.1.2 Types of processor
                    CISC and RISC
                    
                  - Complex Instruction Cycle
 - Reduced Instruction Cycle
 
                    Multicore and Parallel processing
                    
				  - Pipelining
 - Array processor
 - Multi-core
 - GPU
 
1.1.3 Input, output, and storage
                    Types of storage
                    
                  - Magnetic
 - Optical
 - Solid state
 
                    Main memory
                    
                  
              - Random access memory (RAM)
 - Read-only memory (ROM)
 - Virtual memory
 
1.2.1 Operating system
                    Purpose of an operating system
                    
                  - Kernel
 - Device Drivers
 - Utilities
 - User Interface
 
                    Memory management
                    
                  - Segmentation
 - Pagination
 - Virtual memory
 - Memory issues
 
                    Scheduling
                    
                  - Round Robin
 - First Come First Serve
 - Shortest Job
 - Shortest time
 - Multi-level
 
                    CPU priority changes
                    
                  - Interrupts
 - Polling
 
                    Types of operating system
                    
                  - Multi Tasking
 - Multi User
 - Distributed
 - Real Time
 
                    BIOS
                    
                  - Booting
 - BIOS
 - POST
 - System start
 - Operating system boot
 
                    Virtual machines
                    
                - Virtual machines
 - With operating systems
 - With bytecode
 
1.2.2 Software
                    Types of software
                    
                  - Applications
 - Utilities
 - Generic software
 - Bespoke & Custom software
 - Closed source
 - Open source
 
                    From code to software
                    
                - Translators
 - Interpreters
 - Compilers
 - Assemblers
 
1.2.3 Introduction to programming
                    Procedural language techniques
                    
                  - What is a procedural language
 - Procedures
 - Subroutines
 - Functions
 - Program flow
 - Variables and Scope
 - Constants
 - String Handling
 - File Handling
 - Operators
 
                    Assembly language and LMC
                    
                - The 'Little Man Computer'
 - Instruction Set
 - Labels
 - Calculation
 - Branching
 - Input-Output
 - Loops
 
1.3.1 Databases
                    Databases
                    
                  - Flat file databases
 - Relational databases
 - Primary key
 - Foreign key
 - Secondary key
 
                    Entity-Relationship (E-R) diagrams
                    
                - Entities
 - One-to-One
 - One-to-Many
 - Many-Many
 - E-R Formats
 
1.3.2 Networks
                    Network basics
                    
                  - Network Characteristics
 - Protocols and Standards Importance
 
                    TCP/IP stack
                    
                  - TCP/IP
 - Ports and Sockets
 
                    Packet switching
                    
                  - Circuit switching
 - Datagrams
 - Packet Switching
 
                    Addressing
                    
                  - IP Format
 - Subnet Mask
 - IANA and ICANN
 - IPv4 and IPv6
 - DNS and Domain Name
 - MAC address
 
                    Models and layers
                    
                  - Internet 4 Layer Model
 - Protocol Layering
 - Physical & Logical layers
 - OSI
 
                    Network protocols
                    
                  - Global standards
 - UDP
 - HTTP(s)
 - FTP
 - POP,LDAP,SMTP
 - Ethernet
 
                    Network scale
                    
                  - Personal area network
 - Local area network
 - Wide area network
 - Other network scales (MAN, SAN)
 
                    Network configuration
                    
                - Client-Server
 - Peer-to-peer
 
1.4.1 Data types
                    Primitive
                    
                  - Integer
 - Real
 - Character
 - String
 - Boolean
 
                    Integer
                    
                  - Range
 - Unsigned
 - Signed
 - Sign & Magnitude
 - Two's compliment
 
                    Real
                    
                  - Fixed point
 - Floating point
 - Mantissa, Exponent
 - Placing binary point
 
                    Normalisation
                    
                - Floating point limits
 - Normalising floating point
 - Examples
 
2.2.2 Software development cycle
                    Software development
                    
                - Waterfall
 - Rapid Application Development
 - Spiral
 - Agile
 - Extreme Programming
 - Merits of different software methods