3.1 Data representation

3.1.1 User-defi ned data types

3.1.2 File organisation and access

3.1.3 Real numbers and normalised fl oating-point representation

3.2 Communication and Internet technologies

3.2.1 Protocols

3.2.2 Circuit switching, packet switching and routers

3.2.3 Local Area Networks (LAN)

3.3 Hardware

3.3.1 Logic gates and circuit design

3.3.2 Boolean algebra

3.3.3 Karnaugh Maps

3.3.4 Flip-flops

3.3.5 RISC processors

3.3.6 Parallel processing

3.4 System software

3.4.1 Purposes of an operating system (OS)

3.4.2 Virtual machine

3.4.3 Translation software

3.5 Security

3.5.1 Asymmetric keys and encryption methods

3.5.2 Digital signatures and digital certifi cates

3.5.3 Encryption protocols

3.5.4 Malware

3.6 Monitoring and control systems

3.6.1 Overview of monitoring and control systems

3.6.2 Bit manipulation to monitor and control devices

Candidates should be able to:

3.1.1 User-defi ned data types

• show understanding of why user-defi ned types are necessary

• defi ne and use non-composite types: enumerated, pointer

• defi ne and use composite data types: set, record and class/object

• choose and design an appropriate user-defi ned data type for a given problem

3.1.2 File organisation and access

• show understanding of methods of file organisation: serial, sequential (using a key fi eld) and

random (using a record key)

• show understanding of methods of file access:

– sequential access for serial and sequential files

– direct access for sequential and random files

• select an appropriate method of file organisation and file access for a given problem

3.1.3 Real numbers and normalised fl oating-point representation

• describe the format of binary floating-point real numbers

• convert binary floating-point real numbers into denary and vice versa

• normalise floating-point numbers

• show understanding of the reasons for normalisation

• show understanding of the effects of changing the allocation of bits to mantissa and exponent in a floating-point representation

• show understanding of how underfl ow and overflow can occur

• show understanding of the consequences of a binary representation only being an approximation

to the real number it represents (in certain cases)

• show understanding that binary representations can give rise to rounding errors

Candidates should be able to:

3.2.1 Protocols

• show understanding of why a protocol is essential for communication between computers

• show understanding of how protocol implementation can be viewed as a stack, where each layer has its own functionality

• show understanding of the function of each layer of the TCP/IP protocol suite

• show understanding of the application of the TCP/IP protocol suite when a message is sent from one host to another on the Internet

• show understanding of how the BitTorrent protocol provides peer-to-peer fi le sharing

• show an awareness of other protocols (HTTP, FTP, POP3, SMTP) and their purposes

3.2.2 Circuit switching, packet switching and routers

• show understanding of circuit switching and where it is applicable

• show understanding of packet switching

• show understanding of the function of a router in packet switching

• explain how packet switching is used to pass messages across a network, including the Internet

3.2.3 Local Area Networks (LAN)

• show understanding of a bus topology network and the implications of how packets are

transmitted between two hosts

• show understanding of a star topology network and the implications of how packets are

transmitted between two hosts

• show understanding of a wireless network

• explain how hardware is used to support a LAN: switch, router, servers, Network Interface Cards (NICs), wireless access points

• show understanding of Ethernet and how collision detection and avoidance (such as CSMA/CD) works