Skip to content
Subjects

IGCSE Computer Science

  • 1 Data representation
    1.1

    Why computers use binary

    A computer can only work with two states: on and off. You write these as 1 and 0. A system that uses only two digits 数字 is called binary 二进制 (base 2).

    A field of blue binary digits, 0s and 1s
    Computers represent all data — numbers, text, sound and images — as binary strings of 0s and 1s

    Every kind of data 数据 — numbers, text, sound and images — must be changed into binary before a computer can use it. The computer processes this binary using logic gates 逻辑门, and stores it in registers 寄存器 (small, fast stores inside the processor 处理器).

    The silicon die of a microprocessor under magnification
    A microprocessor holds millions of tiny transistors, each a switch that is on (1) or off (0) — the physical basis of binary
    Vocabulary Train
    English Chinese Pinyin
    digit 数字 shù zì
    binary 二进制 èr jìn zhì
    data 数据 shù jù
    logic gate 逻辑门 luó jí mén
    processor 处理器 chǔ lǐ qì
    register 寄存器 jì cún qì
    1.1

    Number systems

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Understand how and why computers use binary to represent all forms of data • Any form of data needs to be converted to binary to be processed by a computer • Data is processed using logic gates and stored in registers
    2 (a) Understand the denary, binary and hexadecimal number systems (b) Convert between (i) positive denary and positive binary (ii) positive denary and positive hexadecimal (iii) positive hexadecimal and positive binary • Denary is a base 10 system • Binary is a base 2 system • Hexadecimal is a base 16 system • Values used will be integers only • Conversions in both directions, e.g. denary to binary or binary to denary • Maximum binary number length of 16-bit
    3 Understand how and why hexadecimal is used as a beneficial method of data representation • Areas within computer science that hexadecimal is used should be identified • Hexadecimal is easier for humans to understand than binary, as it is a shorter representation of binary
    4 (a) Add two positive 8-bit binary integers (b) Understand the concept of overflow and why it occurs in binary addition • An overflow error will occur if the value is greater than 255 in an 8-bit register • A computer or a device has a predefined limit that it can represent or store, for example 16-bit • An overflow error occurs when a value outside this limit should be returned
    5 Perform a logical binary shift on a positive 8-bit binary integer and understand the effect this has on the positive binary integer • Perform logical left shifts • Perform logical right shifts • Perform multiple shifts • Bits shifted from the end of the register are lost and zeros are shifted in at the opposite end of the register • The positive binary integer is multiplied or divided according to the shift performed • The most significant bit(s) or least significant bit(s) are lost
    6 Use the two’s complement number system to represent positive and negative 8-bit binary integers • Convert a positive binary or denary integer to a two’s complement 8-bit integer and vice versa • Convert a negative binary or denary integer to a two’s complement 8-bit integer and vice versa

    Source: Cambridge International syllabus

    Counting in binary: 0 to 15

    A number system 数制 is a way of writing numbers using a fixed set of digits. You need three of them.

    System Base Digits used
    Denary 10 0–9
    Binary 2 0 and 1
    Hexadecimal 16 0–9 then A–F
    • denary 十进制 is the normal counting system (also called decimal).
    • binary uses only 0 and 1.
    • hexadecimal 十六进制 (hex) uses sixteen digits: 0–9, then A, B, C, D, E, F stand for 10, 11, 12, 13, 14, 15.

    The base 基数 tells you how many different digits a system uses.

    Place value

    Each column in a number has a place value 位值. In binary the place values double from right to left. For an 8-bit number they are:

    128  64  32  16  8  4  2  1
    
    An 8-bit place-value chart with values 128 down to 1, and the bits of 150 placed under the columns that sum to 150
    An 8-bit place-value chart: the 1s sit under the values that add up to 150

    One bit is a single 0 or 1. Eight bits make one byte 字节. Four bits (half a byte) is a nibble 半字节.

    Converting between number systems

    Denary → binary. Write the place values. Put a 1 under each value you need so they add up to your number; put 0 under the rest.

    Example: change denary 150 to binary. $150 = 128 + 16 + 4 + 2$.

    128 64 32 16 8 4 2 1
      1  0  0  1 0 1 1 0
    

    So $150$ = 10010110.

    Binary → denary. Add the place values where there is a 1. 10010110 $= 128 + 16 + 4 + 2 = 150$.

    Hexadecimal → binary. Change each hex digit into its own 4-bit group (a nibble).

    Example: hex F08. $F = 1111$, $0 = 0000$, $8 = 1000$, so F08 = 1111 0000 1000.

    Three hexadecimal digits F, 0 and 8, each with an arrow down to its own group of four bits
    Each hex digit maps to its own 4-bit nibble — F08 = 1111 0000 1000

    Binary → hexadecimal. Group the bits into nibbles of 4, starting from the right. Change each nibble to one hex digit.

    Denary → hexadecimal. The easy way is to change to binary first, then binary to hex.

    This table helps with the hex letters:

    Denary Binary Hex
    10 1010 A
    11 1011 B
    12 1100 C
    13 1101 D
    14 1110 E
    15 1111 F

    Cambridge questions use binary numbers up to 16 bits long.

    Worked example. Convert denary 100 to 8-bit binary, then to hexadecimal.

    $100 = 64 + 32 + 4$, so the binary is 01100100. Splitting into nibbles, 0110 0100 $= 6$ and $4$, so the hexadecimal is 64.

    Why hexadecimal is used

    Hex is shorter than binary and easier for people to read and write. One hex digit replaces 4 binary digits, so you make fewer mistakes. The value does not change — hex is just a shorter way to show the same binary.

    Computer scientists use hex for:

    • MAC addresses and IPv6 addresses
    • colour codes in HTML (for example #FF0000 is red)
    • memory addresses 内存地址 and error codes
    • showing the contents of memory (a "memory dump")
    Explore

    Binary, denary and hex

    Type a number and see it in binary, denary and hex — and how the place values build it.

    Vocabulary Train
    English Chinese Pinyin
    number system 数制 shù zhì
    denary 十进制 shí jìn zhì
    hexadecimal 十六进制 shí liù jìn zhì
    base 基数 jī shù
    place value 位值 wèi zhí
    bit wèi
    byte 字节 zì jié
    nibble 半字节 bàn zì jié
    memory address 内存地址 nèi cún dì zhǐ
    1.1

    Binary addition

    You can add two 8-bit binary numbers, column by column from the right, just like denary. The rules for one column are:

    A B Result bit Carry
    0 0 0 0
    0 1 1 0
    1 0 1 0
    1 1 0 1

    When a carry also comes in, $1 + 1 + 1 = 1$ with a carry of 1.

    Example: add 01110110 (118) and 00110000 (48).

      0 1 1 1 0 1 1 0    (118)
    + 0 0 1 1 0 0 0 0    (48)
    -------------------
      1 0 1 0 0 1 1 0    (166)
    
    8-bit binary addition of 118 and 48 with the carry bits shown in red above the left columns, giving 166
    Adding column by column; the carries ripple to the left. 118 + 48 = 166

    Overflow

    An 8-bit register can hold denary values from 0 to 255 only. If an addition gives a result above 255, the answer needs a 9th bit. The register cannot hold this extra bit, so it is lost. This is called overflow 溢出 (an overflow error). It happens when a value goes outside the limit the register can store.

    Example: 11001000 (200) $+$ 01001000 (72) $= 272$. In binary that is 1 00010000, which needs 9 bits. The leading 1 will not fit in 8 bits, so the stored answer is wrong.

    Adding 200 and 72 gives 272, which in binary needs nine bits; the eight-bit register keeps only the lower eight and loses the ninth bit, so the stored answer is 16 not 272
    Adding 200 and 72 needs 9 bits, but an 8-bit register drops the ninth, so the answer is wrong
    Vocabulary Train
    English Chinese Pinyin
    overflow 溢出 yì chū
    1.1

    Logical binary shift

    A logical binary shift 逻辑二进制移位 moves all the bits left or right by a number of places.

    • Bits that move off the end of the register are lost.
    • Zeros are added at the empty end.

    A left shift multiplies the number by 2 for each place moved. A right shift divides it by 2 for each place; the right-most bits (the least significant bit(s) 最低有效位) are lost.

    Example: left shift 00110101 (53) by 2 places.

    start:         0 0 1 1 0 1 0 1
    left shift 2:  1 1 0 1 0 1 0 0
    
    A logical left shift of two places: arrows move each bit two columns left, the two left-most bits are lost and two zeros enter on the right
    A left shift of 2: every bit moves 2 places left, the top bits are lost and zeros fill the right

    The result is 11010100 (212), which is $53 \times 4$. The two left-most bits were lost and two zeros came in on the right. If a 1 is pushed off the end, that information is gone for good.

    Vocabulary Train
    English Chinese Pinyin
    logical binary shift 逻辑二进制移位 luó jí èr jìn zhì yí wèi
    least significant bit 最低有效位 zuì dī yǒu xiào wèi
    1.1

    Two's complement

    So far the numbers were positive. Two's complement 补码 lets an 8-bit register hold negative numbers too.

    In two's complement, the left-most bit (the most significant bit 最高有效位, or MSB) has a negative place value:

    -128  64  32  16  8  4  2  1
    
    • If the MSB is 0, the number is positive.
    • If the MSB is 1, the number is negative.

    To make a positive number negative: write the positive binary, flip every bit (0↔1), then add 1.

    Example: make $-40$.

    • $+40$ = 00101000
    • flip the bits = 11010111
    • add 1 = 11011000

    So $-40$ = 11011000. Check by adding the place values: $-128 + 64 + 16 + 8 = -40$.

    A two's complement 8-bit chart where the most significant bit is worth minus 128, with 11011000 highlighted to give minus 40
    The most significant bit is worth −128, so 11011000 = −128 + 64 + 16 + 8 = −40

    To read a negative two's complement number, just add the place values (the MSB counts as $-128$). The range of an 8-bit two's complement number is $-128$ to $+127$.

    Vocabulary Train
    English Chinese Pinyin
    two's complement 补码 bǔ mǎ
    most significant bit 最高有效位 zuì gāo yǒu xiào wèi
    1.2

    Representing text

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Understand how and why a computer represents text and the use of character sets, including American standard code for information interchange (ASCII) and Unicode • Text is converted to binary to be processed by a computer • Unicode allows for a greater range of characters and symbols than ASCII, including different languages and emojis • Unicode requires more bits per character than ASCII
    2 Understand how and why a computer represents sound, including the effects of the sample rate and sample resolution • A sound wave is sampled for sound to be converted to binary, which is processed by a computer • The sample rate is the number of samples taken in a second • The sample resolution is the number of bits per sample • The accuracy of the recording and the file size increases as the sample rate and resolution increase
    3 Understand how and why a computer represents an image, including the effects of the resolution and colour depth • An image is a series of pixels that are converted to binary, which is processed by a computer • The resolution is the number of pixels in the image • The colour depth is the number of bits used to represent each colour • The file size and quality of the image increase as the resolution and colour depth increase

    Source: Cambridge International syllabus

    Computers store text by giving every character a number, then storing that number in binary. The set of characters a computer can use, together with their numbers, is a character set 字符集.

    • ASCII uses 7 bits per character, so it has 128 different characters. This is enough for English letters, digits and common symbols.
    • Unicode uses more bits per character. It can represent far more characters — many languages, plus symbols and emoji 表情符号.

    Because Unicode has more characters, it needs more bits per character than ASCII, so the same text takes more storage 存储.

    ASCII uses seven bits per character for 128 characters, enough for English; Unicode uses more bits per character for far more characters including many languages and emoji, but takes more storage
    ASCII uses 7 bits for 128 characters; Unicode uses more bits for far more characters but more storage
    Vocabulary Train
    English Chinese Pinyin
    character set 字符集 zì fú jí
    emoji 表情符号 biǎo qíng fú hào
    storage 存储 cún chǔ
    1.2

    Representing sound

    A sound wave 声波 is smooth and always changing. To store it, the computer measures the height of the wave at regular moments. This is called sampling 采样, and each measurement is a sample.

    A smooth sound wave with vertical lines at regular time intervals measuring its height, marking the sample interval and the amplitude
    Sampling records the wave's height (amplitude) at regular moments
    • sample rate 采样率 is the number of samples taken each second (measured in Hz).
    • sample resolution 采样分辨率 is the number of bits used for each sample. The height of the wave at a sample point is its amplitude 振幅.

    A higher sample rate and a higher sample resolution give a more accurate recording, but a larger file.

    Explore

    Representing sound

    y = a sin(bt + c)

    Sound is a wave; sampling records its height many times a second.

    Vocabulary Train
    English Chinese Pinyin
    sound wave 声波 shēng bō
    sampling 采样 cǎi yàng
    sample rate 采样率 cǎi yàng lǜ
    sample resolution 采样分辨率 cǎi yàng fēn biàn lǜ
    amplitude 振幅 zhèn fú
    1.2

    Representing images

    A computer image is made of a grid of small dots called pixels 像素.

    An 8 by 8 grid of pixels forming a simple coloured picture, with one square labelled as one pixel
    A bitmap is a grid of pixels; the resolution is how many pixels it has
    • resolution 分辨率 is the number of pixels in the image (for example $1920 \times 1080$).
    • colour depth 颜色深度 is the number of bits used to store the colour of each pixel.

    A higher resolution and a higher colour depth give a better-quality image, but a larger file.

    Vocabulary Train
    English Chinese Pinyin
    pixel 像素 xiàng sù
    resolution 分辨率 fēn biàn lǜ
    colour depth 颜色深度 yán sè shēn dù
    1.3

    Measuring data storage

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Understand how data storage is measured • Including: – bit – nibble – byte – kibibyte (KiB) – mebibyte (MiB) – gibibyte (GiB) – tebibyte (TiB) – pebibyte (PiB) – exbibyte (EiB) • The amount of the previous denomination present in the data storage size, e.g.: – 8 bits in a byte – 1024 mebibytes in a gibibyte
    2 Calculate the file size of an image file and a sound file, using information given • Answers must be given in the units specified in the question. Calculations must use the measurement of 1024 and not 1000 • Information given may include: – image resolution and colour depth – sound sample rate, resolution and length of track
    3 Understand the purpose of and need for data compression • Compression exists to reduce the size of the file • What the impact of this is, e.g.: – less bandwidth required – less storage space required – shorter transmission time
    4 Understand how files are compressed using lossy and lossless compression methods • Lossy compression reduces the file size by permanently removing data, e.g. reducing resolution or colour depth, reducing sample rate or resolution • Lossless compression reduces the file size without permanent loss of data, e.g. run length encoding (RLE)

    Source: Cambridge International syllabus

    Data storage is measured in the units below. A nibble is 4 bits and a byte is 8 bits; from the kibibyte upward, each unit is 1024 times the one before it (because $1024 = 2^{10}$, which fits binary).

    Unit Equals
    bit a single 0 or 1
    nibble 4 bits
    byte 8 bits
    kibibyte (KiB) 1024 bytes
    mebibyte (MiB) 1024 KiB
    gibibyte (GiB) 1024 MiB
    tebibyte (TiB) 1024 GiB
    pebibyte (PiB) 1024 TiB
    exbibyte (EiB) 1024 PiB
    Hard-disk platters: storage is measured in bytes — knowing file size needs width × height × colour depth for images
    Hard-disk platters: storage is measured in bytes — knowing file size needs width × height × colour depth for images
    1.3

    Calculating file size

    Image file size (in bits) $=$ resolution $\times$ colour depth $=$ width $\times$ height $\times$ colour depth.

    Example: an image is $1024 \times 1024$ pixels with a colour depth of 2 bytes ($= 16$ bits).

    • bits $= 1024 \times 1024 \times 16 = 16\,777\,216$ bits
    • bytes $= \div 8 = 2\,097\,152$ bytes
    • KiB $= \div 1024 = 2048$ KiB
    • MiB $= \div 1024 = 2$ MiB

    Sound file size (in bits) $=$ sample rate $\times$ sample resolution $\times$ length in seconds.

    Always divide by 1024 (not 1000) to change to KiB, MiB and so on. Give your answer in the unit the question asks for.

    Worked example. A sound is recorded for 30 seconds at a sample rate of 8,000 Hz with a sample resolution of 16 bits. Find the file size in kibibytes (KiB).

    • bits $= 8\,000 \times 16 \times 30 = 3\,840\,000$ bits
    • bytes $= 3\,840\,000 \div 8 = 480\,000$ bytes
    • KiB $= 480\,000 \div 1024 \approx 469$ KiB
    1.3

    Compression

    Compression 压缩 makes a file smaller. A smaller file:

    • uses less storage space,
    • needs less bandwidth 带宽 (the amount of data a connection can carry),
    • takes a shorter time to send (a shorter transmission 传输 time).

    There are two types.

    Lossless compression

    Lossless 无损 compression makes the file smaller with no permanent loss of data. The original file can be rebuilt exactly.

    One method is run-length encoding 行程编码 (RLE). It replaces a run of repeated values with one copy of the value and a count of how many times it repeats. For example WWWWWWWW (8 whites) is stored as "8 W". This works well when data has many repeats.

    A strip of 8 white then 4 red squares compressed into the pairs 8 W and 4 R
    Run-length encoding stores each run once as a count and a value

    Lossy compression

    Lossy 有损 compression makes the file much smaller by permanently removing some data. The removed data cannot be got back. For example:

    • reducing the resolution or colour depth of an image,
    • reducing the sample rate or sample resolution of a sound.

    Use lossless when you must keep every detail (text and program files). Use lossy for photos, music and video, where a small loss of quality is worth a much smaller file.

    Explore

    Run-length encoding

    Watch repeated symbols get squashed into a count — simple lossless compression.

    Vocabulary Train
    English Chinese Pinyin
    compression 压缩 yā suō
    bandwidth 带宽 dài kuān
    transmission 传输 chuán shū
    lossless 无损 wú sǔn
    run-length encoding 行程编码 xíng chéng biān mǎ
    lossy 有损 yǒu sǔn
    1.3

    Exam tips

    • Convert denary → binary by subtracting the place values (128, 64, 32 …); binary → denary by adding the place values that hold a 1.
    • To convert to hex, group the binary into nibbles of 4 bits from the right; each nibble is exactly one hex digit.
    • Overflow happens when a result needs more bits than the register has (an 8-bit register only holds 0–255), so the extra bit is lost.
    • File size in bits: for an image, width × height × colour depth; for sound, sample rate × resolution × seconds. Divide by 8 for bytes, then by 1024 for each larger unit.
    • Lossless compression keeps every bit (text; run-length encoding); lossy permanently removes data (photos, music) for a much smaller file.
  • 2 Data transmission
    2.1

    What is data transmission?

    Data transmission 数据传输 means moving data from one place to another — for example from your computer to a website, or from a phone to a printer.

    Data often travels along a cable. Two common ones are shown below.

    A close-up of a network cable ending in a clear plastic plug with gold metal pins
    An Ethernet cable with an RJ45 plug, often used to carry data on a wired network
    A cable opened up to show the thin glass fibres inside, with a ruler for scale
    A fibre-optic cable carries data as pulses of light along thin glass fibres

    Before it is sent, the data is broken down into small, equal-sized pieces called packets 数据包. Each packet travels separately and they are put back together at the other end.

    Using packets has benefits:

    • if one packet is lost or damaged, only that packet is sent again, not the whole file;
    • packets can take different routes, so a busy or broken route can be avoided;
    • many users can share the same connection at the same time.
    Vocabulary Train
    English Chinese Pinyin
    data transmission 数据传输 shù jù chuán shū
    packets 数据包 shù jù bāo
    2.1

    The structure of a packet

    Syllabus
    Candidates should be able to: Notes and guidance
    1 (a) Understand that data is broken down into packets to be transmitted
    (b) Describe the structure of a packet • A packet of data contains a: – packet header – payload – trailer • The packet header includes the: – destination address – packet number – originator’s address
    (c) Describe the process of packet switching • Data is broken down into packets • Each packet could take a different route • A router controls the route a packet takes • Packets may arrive out of order • Once the last packet has arrived, packets are reordered
    2 (a) Describe how data is transmitted from one device to another using different methods of data transmission • Including: – serial – parallel – simplex – half-duplex – full-duplex
    (b) Explain the suitability of each method of data transmission, for a given scenario • Including the advantages and disadvantages of each method
    3 Understand the universal serial bus (USB) interface and explain how it is used to transmit data • Including the benefits and drawbacks of the interface

    Source: Cambridge International syllabus

    Every packet has three parts.

    A packet shown as three joined blocks — header, payload and trailer — with the header's contents listed below it
    A packet has a header, a payload (the data) and a trailer; the header carries the addresses and packet number
    Part What it holds
    packet header 包头 control information (see below)
    payload 有效载荷 the actual data being carried
    trailer 尾部 shows where the packet ends, plus an error check

    The packet header holds:

    • the sender's IP address 地址 (where the packet came from),
    • the receiver's IP address (where it is going),
    • the packet number (so the packets can be put back in the right order).
    Vocabulary Train
    English Chinese Pinyin
    packet header 包头 bāo tóu
    payload 有效载荷 yǒu xiào zài hè
    trailer 尾部 wěi bù
    address 地址 dì zhǐ
    2.1

    Packet switching

    Packet switching 数据包交换 is the way packets are sent across a network.

    Two packets travelling from a sender to a receiver through a mesh of routers, each taking a different coloured route
    Routers forward packets, and different packets can take different routes to the same receiver
    • Special devices called routers 路由器 read each packet's header and choose the best route for it.
    • Each packet may take its own path, so packets can travel different ways.
    • Packets may arrive out of order.
    • When the last packet has arrived, the packets are reordered using their packet numbers.
    Explore

    How data travels in packets

    Step through packet switching. Splitting a file into addressed packets is why one lost packet only needs resending, and why many users can share the same line.

    Vocabulary Train
    English Chinese Pinyin
    packet switching 数据包交换 shù jù bāo jiāo huàn
    routers 路由器 lù yóu qì
    2.1

    Methods of data transmission

    Serial and parallel

    Serial 串行 Parallel 并行
    How one bit at a time, down one wire several bits at once, down several wires
    Distance good over long distances good over short distances only
    Cost cheaper (fewer wires) more expensive (more wires)
    Errors bits stay in order bits can arrive at slightly different times over long wires

    Serial sends one bit after another along a single wire. Parallel sends several bits at the same time along several wires, so it is faster over short distances.

    Serial transmission as bits in a line on one wire, and parallel transmission as several bits travelling together on several wires
    Serial sends one bit at a time down one wire; parallel sends several bits at once down several wires

    Simplex, half-duplex and full-duplex

    These describe the direction data can travel.

    Two devices A and B with arrows showing simplex (one way), half-duplex (both ways one at a time) and full-duplex (both ways at once)
    Simplex is one way only; half-duplex is both ways but one at a time; full-duplex is both ways at once
    Method Direction
    simplex 单工 one direction only (e.g. computer → printer)
    half-duplex 半双工 both directions, but only one at a time (e.g. walkie-talkie)
    full-duplex 全双工 both directions at the same time (e.g. phone call)

    Choosing a method

    The choice depends on the distance, the speed needed, the cost, and whether data must travel both ways at once.

    Vocabulary Train
    English Chinese Pinyin
    serial 串行 chuàn xíng
    parallel 并行 bìng xíng
    simplex 单工 dān gōng
    half-duplex 半双工 bàn shuāng gōng
    full-duplex 全双工 quán shuāng gōng
    2.1

    USB

    The universal serial bus 通用串行总线 (USB) is a common interface 接口 (a connection point) for joining devices to a computer.

    Benefits:

    • the same connector is used by many devices (one standard);
    • the device is detected automatically and the correct driver is loaded;
    • it carries power, so it can charge or run a device;
    • the connector only fits one way, so it is hard to plug in wrongly.

    Drawbacks:

    • the cable can only be a limited length (a few metres);
    • older USB versions are slower than newer ones;
    • transfer speeds can be lower than some other connection types.
    Five different USB plug shapes side by side — micro, mini, type-B, and type-A — with a 5 cm scale bar
    A few of the USB connector shapes. All use the same USB standard, so devices are detected automatically.
    Vocabulary Train
    English Chinese Pinyin
    universal serial bus 通用串行总线 tōng yòng chuàn xíng zǒng xiàn
    interface 接口 jiē kǒu
    2.2

    Why we check for errors

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Understand the need to check for errors after data transmission and how these errors can occur • Errors can occur during data transmission due to interference, e.g. data loss, data gain and data change
    2 Describe the processes involved in each of the following error detection methods for detecting errors in data after transmission: parity check (odd and even), checksum and echo check • Including parity byte and parity block check
    3 Describe how a check digit is used to detect errors in data entry and identify examples of when a check digit is used, including international standard book numbers (ISBN) and bar codes
    4 Describe how an automatic repeat query (ARQ) can be used to establish that data is received without error • Including the use of: – positive/negative acknowledgements – timeout

    Source: Cambridge International syllabus

    While data travels, interference 干扰 can change it. Three things can go wrong:

    • data loss — some bits do not arrive;
    • data gain — extra bits are added;
    • data change — some bits are flipped.

    So the receiver checks whether the data arrived correctly.

    Vocabulary Train
    English Chinese Pinyin
    interference 干扰 gān rǎo
    2.2

    Error detection methods

    Parity check

    A parity check 奇偶校验 adds one extra bit, the parity bit 奇偶校验位, to each byte. There are two types:

    Data with four 1s (even); a parity bit of 0 keeps it even
    A parity bit is added to make the number of 1s even (or odd)
    • even parity — the total number of 1s in the byte (including the parity bit) must be even;
    • odd parity — the total number of 1s must be odd.

    Example (even parity): the data 1011001 has four 1s, which is already even, so the parity bit is 0:

    parity bit + data
        0        1011001
    

    To find an error: the receiver counts the 1s. If even parity was agreed but a byte arrives with an odd number of 1s, an error has happened during transmission.

    A parity check cannot find every error. If two bits flip, the count may still look correct.

    Worked example. A single parity bit tells you that an error happened, but not where. A parity block 奇偶校验块 can find the exact bit. Several bytes are sent together, each with a row parity bit, and one extra parity byte 奇偶校验字节 at the bottom holds a parity bit for each column. Even parity is used below, and one bit was flipped during transmission. Find it.

              b1 b2 b3 b4 b5 | parity
     byte 1    1  0  1  1  0 |   1
     byte 2    0  1  1  0  1 |   1
     byte 3    1  1  1  1  0 |   1    <- row: odd number of 1s
     byte 4    0  0  1  1  0 |   0
     ------------------------------
     parity    0  0  1  1  1 |   1
                     ^ column b3: odd number of 1s
    

    Row byte 3 breaks even parity, and column b3 breaks even parity. The flipped bit is where they cross: byte 3, bit b3. Changing it back from 1 to 0 repairs the data. A single parity bit only says an error happened; a parity block says exactly where, so the receiver can even fix it.

    Checksum

    A checksum 校验和 is a value worked out from all the data before sending. The receiver works out the checksum again from the data it received. If the two values do not match, an error has occurred and the data is resent.

    Echo check

    In an echo check 回送校验, the receiver sends the data back to the sender. The sender compares it with the original. If they differ, an error happened. (This needs the data to be sent twice, so it is slow.)

    Automatic Repeat reQuest (ARQ)

    Automatic Repeat reQuest 自动重传请求 (ARQ) uses messages called acknowledgements 确认.

    • The receiver sends a positive acknowledgement if a packet arrived correctly, or a negative acknowledgement if it did not.
    • The sender starts a timeout 超时 timer. If no positive acknowledgement comes back in time, the sender sends the packet again.

    Check digit

    A check digit 校验码 is an extra digit placed at the end of a number, worked out from the other digits. It is used to find mistakes when a number is typed in.

    When the number is entered, the check digit is calculated again and compared. It can catch:

    • an incorrect digit entered,
    • a transposition error 换位错误 (two digits swapped, e.g. 21 typed as 12),
    • a digit left out or an extra digit added,
    • a phonetic error (a digit that sounds similar, e.g. 13 and 30).

    Check digits are used in barcodes 条形码 and ISBNs (book numbers).

    Explore

    Computing concept lab

    Classify concrete examples by the computing idea they demonstrate.

    Vocabulary Train
    English Chinese Pinyin
    parity check 奇偶校验 jī ǒu jiào yàn
    parity bit 奇偶校验位 jī ǒu jiào yàn wèi
    parity block 奇偶校验块 jī ǒu jiào yàn kuài
    parity byte 奇偶校验字节 jī ǒu jiào yàn zì jié
    checksum 校验和 jiào yàn hé
    echo check 回送校验 huí sòng jiào yàn
    automatic repeat request 自动重传请求 zì dòng zhòng chuán qǐng qiú
    acknowledgements 确认 què rèn
    timeout 超时 chāo shí
    check digit 校验码 jiào yàn mǎ
    transposition error 换位错误 huàn wèi cuò wù
    barcodes 条形码 tiáo xíng mǎ
    2.3

    Encryption

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Understand the need for and purpose of encryption when transmitting data
    2 Understand how data is encrypted using symmetric and asymmetric encryption • Asymmetric encryption includes the use of public and private keys

    Source: Cambridge International syllabus

    Why we need encryption

    Encryption 加密 scrambles data so that it cannot be understood if it is intercepted 拦截 (caught) by the wrong person. The readable data is called plaintext 明文; after encryption it becomes ciphertext 密文.

    Encryption does not stop data from being intercepted. It only stops the data from being understood.

    Symmetric encryption

    Symmetric encryption 对称加密 uses a single key 密钥 to both encrypt and decrypt the data. The sender and receiver must share this same secret key. The risk is that the key itself could be stolen while being shared.

    Asymmetric encryption

    Asymmetric encryption 非对称加密 uses two different keys:

    • a public key 公钥 that anyone can have, used to encrypt;
    • a private key 私钥 that is kept secret, used to decrypt.

    Data encrypted with the public key can only be decrypted with the matching private key, so the key never has to be shared. This is safer than sharing one secret key.

    Symmetric encryption using one shared key for both steps, and asymmetric encryption using a public key to encrypt and a private key to decrypt
    Symmetric uses one shared key; asymmetric uses a public key to encrypt and a private key to decrypt
    Explore

    The Caesar cipher

    Shift each letter to encrypt a message — the simplest idea of a cipher and its key.

    Vocabulary Train
    English Chinese Pinyin
    encryption 加密 jiā mì
    intercepted 拦截 lán jié
    plaintext 明文 míng wén
    ciphertext 密文 mì wén
    symmetric encryption 对称加密 duì chèn jiā mì
    key 密钥 mì yào
    asymmetric encryption 非对称加密 fēi duì chèn jiā mì
    public key 公钥 gōng yào
    private key 私钥 sī yào
    2.3

    Exam tips

    • Data is sent in packets (a header with the addresses and packet number, a payload, and a trailer). Packets can take different routes and arrive out of order, then are reordered by their packet numbers.
    • Match the transmission types: serial (one bit at a time, good over long distances) vs parallel (several bits at once, short distances); simplex / half-duplex / full-duplex describe the direction.
    • A single parity bit only shows that an error happened; a parity block locates the exact wrong bit — the row and the column that both fail.
    • Learn the error-detection methods and what each does: parity check, checksum, echo check, ARQ, and the check digit (for typed-in numbers).
    • Symmetric encryption uses one shared key; asymmetric uses a public key to encrypt and a private key to decrypt, so no secret key is ever shared.
  • 3 Hardware
    3.1

    The central processing unit (CPU)

    Syllabus
    Candidates should be able to: Notes and guidance
    1 (a) Understand the role of the central processing unit (CPU) in a computer • The CPU processes instructions and data that are input into the computer so that the result can be output
    (b) Understand what is meant by a microprocessor • A microprocessor is a type of integrated circuit on a single chip
    2 (a) Understand the purpose of the components in a CPU, in a computer that has a Von Neumann architecture • Including: – units: arithmetic logic unit (ALU) and control unit (CU) – registers: program counter (PC), memory address register (MAR), memory data register (MDR), current instruction register (CIR) and accumulator (ACC) – buses: address bus, data bus and control bus
    (b) Describe the process of the fetch–decode–execute (FDE) cycle, including the role of each component in the process • How instructions and data are fetched from random access memory (RAM) into the CPU, how they are processed using each component and how they are then executed • Storing data and addresses into specific registers • Using buses to transmit data, addresses and signals • Using units to fetch, decode and execute data and instructions
    3 Understand what is meant by a core, cache and clock in a CPU and explain how they can affect the performance of a CPU • The number of cores, size of the cache and speed of the clock can affect the performance of a CPU
    4 Understand the purpose and use of an instruction set for a CPU • An instruction set is a list of all the commands that can be processed by a CPU, and the commands are machine code
    5 Describe the purpose and characteristics of an embedded system and identify devices in which they are commonly used • An embedded system is used to perform a dedicated functions. For example in, domestic appliances, cars, security systems, lighting systems or vending machines. This is different to a general purpose computer that is used to perform many different functions. For example in, a personal computer (PC) or a laptop

    Source: Cambridge International syllabus

    The fetch-decode-execute cycle

    The central processing unit 中央处理器 (CPU) is the part of the computer that processes data and carries out instructions 指令. It runs programs by repeating a cycle, millions of times each second.

    A square computer chip with a shiny metal top and the model name printed on it
    A central processing unit (CPU): the chip that processes data and runs the instructions

    Parts of the CPU

    Part What it does
    arithmetic logic unit 算术逻辑单元 (ALU) does calculations (add, subtract) and logical operations (compare)
    control unit 控制单元 (CU) sends control signals to manage all the parts and tell them what to do
    registers 寄存器 very small, very fast stores that hold one piece of data at a time

    The parts are joined by buses 总线 — sets of wires that carry information:

    • the address bus 地址总线 carries memory addresses (one direction);
    • the data bus 数据总线 carries data and instructions (both directions);
    • the control bus 控制总线 carries control signals.
    Block diagram of a CPU containing the control unit, ALU and registers, joined to main memory by the address, data and control buses
    The CPU holds the control unit, the ALU and the registers; three buses link it to main memory

    Special registers

    These registers are used during the fetch–execute cycle.

    Register Purpose
    program counter 程序计数器 (PC) holds the address of the next instruction
    memory address register 内存地址寄存器 (MAR) holds the address to read from or write to
    memory data register 内存数据寄存器 (MDR) holds the data or instruction just fetched
    current instruction register 当前指令寄存器 (CIR) holds the instruction now being carried out
    accumulator 累加器 (ACC) holds the result of the ALU's calculations

    The fetch–execute cycle

    The fetch–execute cycle 取指执行周期 has three stages, repeated again and again:

    1. Fetch — the instruction is copied from memory 内存 into the CPU (using the PC, MAR and MDR). The PC then increases by 1.
    2. Decode — the control unit works out what the instruction means.
    3. Execute — the instruction is carried out (the ALU may do a calculation, with the result going to the accumulator).
    The fetch-decode-execute cycle drawn as three boxes connected in a loop
    The processor repeats three stages: fetch the instruction, decode it, then execute it

    Cache memory

    Cache 高速缓存 is a small amount of very fast memory inside or close to the CPU. It stores data and instructions that the CPU uses often. The CPU can read from cache much faster than from main memory, so the computer runs faster.

    What affects CPU performance

    Feature Effect
    number of cores 核心 each core can run instructions on its own, so more cores can do more work at the same time
    cache size a larger cache holds more data ready for the CPU, so it waits less
    clock speed 时钟速度 the number of cycles per second; a higher clock speed runs more instructions per second

    Worked example. Two computers are identical except that A has a 3.0 GHz single-core CPU with 2 MB of cache, and B has a 2.4 GHz quad-core CPU with 8 MB of cache. Which is better for video editing, and why? Video editing splits into many tasks that can run at the same time, so B's four cores can process several streams in parallel while A can only work on one at a time. B's larger cache also keeps more frequently used data close to the CPU, so it has to fetch from RAM less often. B is the better choice, even though A has the higher clock speed. Never answer on clock speed alone: weigh cores, cache and clock speed together, and tie each one to the job being done.

    Embedded systems

    An embedded system 嵌入式系统 is a small computer built inside a larger device to do one fixed job. It is dedicated to that task, is usually small and low-cost, and has no general operating system. Examples: a washing machine, a microwave, a set-top box.

    A green circuit board densely packed with chips, memory and connectors, taken from inside a satnav
    The mainboard from inside a satnav: an embedded system is a small dedicated computer like this, built into a device to do one fixed job
    Explore

    The fetch-execute cycle

    Tap round the loop the CPU repeats billions of times a second — fetch the instruction, decode what it means, execute it, then do it all again.

    Vocabulary Train
    English Chinese Pinyin
    central processing unit 中央处理器 zhōng yāng chǔ lǐ qì
    instructions 指令 zhǐ lìng
    arithmetic logic unit 算术逻辑单元 suàn shù luó jí dān yuán
    control unit 控制单元 kòng zhì dān yuán
    registers 寄存器 jì cún qì
    buses 总线 zǒng xiàn
    address bus 地址总线 dì zhǐ zǒng xiàn
    data bus 数据总线 shù jù zǒng xiàn
    control bus 控制总线 kòng zhì zǒng xiàn
    program counter 程序计数器 chéng xù jì shù qì
    memory address register 内存地址寄存器 nèi cún dì zhǐ jì cún qì
    memory data register 内存数据寄存器 nèi cún shù jù jì cún qì
    current instruction register 当前指令寄存器 dāng qián zhǐ lìng jì cún qì
    accumulator 累加器 lěi jiā qì
    fetch–execute cycle 取指执行周期 qǔ zhǐ zhí xíng zhōu qī
    Cache 高速缓存 gāo sù huǎn cún
    cores 核心 hé xīn
    clock speed 时钟速度 shí zhōng sù dù
    embedded system 嵌入式系统 qiàn rù shì xì tǒng
    memory 内存 nèi cún
    3.2

    Input devices

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Understand what is meant by an input device and why it is required • Including: – barcode scanner – digital camera – keyboard – microphone – optical mouse – QR code scanner – touch screen (resistive, capacitive and infra-red) – two-dimensional (2D) and three-dimensional (3D) scanners
    2 Understand what is meant by an output device and why it is required • Including: – actuator – digital light processing (DLP) projector – inkjet printer – laser printer – light emitting diode (LED) screen – liquid crystal display (LCD) projector – liquid crystal display (LCD) screen – speaker – 3D printer
    3 (a) Understand what is meant by a sensor and the purposes of sensors • Limited to: – acoustic – accelerometer – flow – gas – humidity – infra-red – level – light – magnetic field – moisture – pH – pressure – proximity – temperature
    (b) Identify the type of data captured by each sensor and understand when each sensor would be used, including selecting the most suitable sensor for a given context

    Source: Cambridge International syllabus

    An input device sends data into the computer.

    Device How it works
    barcode scanner 条形码扫描器 shines light at the bars and reads the pattern reflected back
    QR code scanner 二维码扫描器 a camera reads a square pattern of black-and-white blocks
    keyboard pressing a key sends a code for that character
    optical mouse 光电鼠标 a light and a sensor track movement across a surface
    microphone turns sound waves into an electrical signal
    digital camera a lens focuses light onto a sensor that records pixels
    sensors 传感器 measure a physical quantity (such as temperature or light) and send it as data
    touch screen 触摸屏 detects where your finger touches the screen
    A close-up of a black computer keyboard with the QWERTY letter keys
    A keyboard: each key press sends a code for that character
    A white optical mouse on a desk, with the optical light glowing underneath
    An optical mouse: a light and a sensor track its movement on the desk
    A flat white box-shaped scanner with a closed lid that lifts up to scan a page
    A flatbed scanner: it shines light across a page to copy it into the computer
    A handheld scanner in a stand, joined to a computer by a USB cable
    A barcode scanner reads the pattern of bars and sends it to the computer
    The front of a small red digital camera, showing its lens and flash
    A digital camera: a lens focuses light onto a sensor that records the pixels
    A handheld microphone with a rounded metal mesh head
    A microphone turns sound waves into an electrical signal
    A small blue-and-black temperature sensor on a tiny circuit board with three pins
    A sensor measures a physical quantity (here, temperature) and sends it as data

    A touch screen can work in three ways:

    • resistive 电阻式 — two layers are pressed together where you touch;
    • capacitive 电容式 — it senses the tiny electric charge of your finger;
    • infrared 红外线 — your finger breaks a grid of light beams.
    A finger touching the screen of a smartphone to scroll a page
    A touch screen senses where your finger touches it
    Explore

    Device and storage lab

    Classify computing examples by what job they do in a system.

    Vocabulary Train
    English Chinese Pinyin
    barcode scanner 条形码扫描器 tiáo xíng mǎ sǎo miáo qì
    QR code scanner 二维码扫描器 èr wéi mǎ sǎo miáo qì
    sensors 传感器 chuán gǎn qì
    touch screen 触摸屏 chù mō píng
    resistive 电阻式 diàn zǔ shì
    capacitive 电容式 diàn róng shì
    infrared 红外线 hóng wài xiàn
    optical mouse 光电鼠标 guāng diàn shǔ biāo
    3.2

    Output devices

    An output device sends data out of the computer to the user.

    Device How it works
    actuator 执行器 turns an electrical signal into movement (e.g. a motor or valve)
    LCD/LED screen shows images using a grid of tiny coloured dots
    projector 投影仪 shines an enlarged image onto a wall or screen
    inkjet printer 喷墨打印机 sprays tiny drops of ink onto paper
    laser printer 激光打印机 uses a laser and powder (toner) fixed onto paper by heat
    3D printer builds a solid object layer by layer
    speaker 扬声器 turns an electrical signal into sound
    A desktop inkjet printer with the paper tray open at the top
    An inkjet printer sprays tiny drops of ink onto the paper
    A white-and-grey desktop laser printer with its paper trays folded out
    A laser printer uses a laser and powder (toner) fixed onto paper by heat
    A 3D printer: a black metal frame holding a flat print bed and a moving print head
    A 3D printer builds a solid object layer by layer
    A wide flat-screen computer monitor on a round stand
    An LCD/LED monitor shows images using a grid of tiny coloured dots
    A pair of small black computer speakers on a desk
    A speaker turns an electrical signal into sound
    A pair of blue over-ear headphones
    Headphones turn an electrical signal into sound for one listener
    Several electric motors of different sizes next to a 9-volt battery for scale
    An actuator such as a motor turns an electrical signal into movement
    Vocabulary Train
    English Chinese Pinyin
    actuator 执行器 zhí xíng qì
    projector 投影仪 tóu yǐng yí
    inkjet printer 喷墨打印机 pēn mò dǎ yìn jī
    laser printer 激光打印机 jī guāng dǎ yìn jī
    speaker 扬声器 yáng shēng qì
    3.3

    Primary storage: RAM and ROM

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Understand what is meant by primary storage • Primary storage is directly accessed by the CPU • Including the role of: – random access memory (RAM) – read only memory (ROM) • Including why a computer needs both RAM and ROM, and the difference between them
    2 Understand what is meant by secondary storage • Secondary storage is not directly accessed by the CPU and is necessary for more permanent storage of data
    3 Describe the operation of magnetic, optical and solid-state (flash memory) storage and give examples of each • Magnetic storage uses platters which are divided into tracks and sectors. Data is read and written using electromagnets. Including hard disk drive (HDD) • Optical storage uses lasers to create and read pits and lands. Including: CD, DVD and Blu-ray • Solid-state (flash memory) uses NAND or NOR technology. Transistors are used as control gates and floating gates. Including: solid-state drive (SSD), SD card and USB drive
    4 Describe what is meant by virtual memory, how it is created and used and why it is necessary • Pages of data are transferred between RAM and virtual memory when needed
    5 Understand what is meant by cloud storage • Cloud storage can be accessed remotely in comparison to storing data locally
    6 Explain the advantages and disadvantages of storing data on the cloud in comparison to storing it locally • Physical servers and storage are needed to store data in cloud storage

    Source: Cambridge International syllabus

    Primary storage 主存储器 is memory the CPU can use directly. There are two kinds.

    RAM: volatile, can change, holds running programs. ROM: non-volatile, cannot change, holds the startup instructions
    RAM is volatile and holds running programs; ROM is non-volatile and read-only
    RAM ROM
    Full name random access memory 随机存取存储器 read only memory 只读存储器
    Read/write read and write read only
    Keeps data without power? no — it is volatile 易失性 yes — it is non-volatile 非易失性
    Holds programs and data in use now start-up instructions (how to boot the computer)

    Both are needed: ROM tells the computer how to start, then RAM holds the programs you run.

    A long thin green circuit board carrying rows of small black memory chips and a gold edge connector
    A stick of RAM (random access memory): it holds the programs and data in use now
    Vocabulary Train
    English Chinese Pinyin
    Primary storage 主存储器 zhǔ cún chǔ qì
    random access memory 随机存取存储器 suí jī cún qǔ cún chǔ qì
    read only memory 只读存储器 zhī dú cún chǔ qì
    volatile 易失性 yì shī xìng
    non-volatile 非易失性 fēi yì shī xìng
    3.3

    Secondary storage

    Secondary storage 辅助存储器 keeps data permanently, even when the power is off. It is non-volatile and is used for long-term storage. There are three types.

    Type How it stores data Examples
    magnetic storage 磁存储 data is stored as magnetised spots on spinning disks hard disk drive (HDD), magnetic tape
    optical storage 光存储 data is stored as marks read by a laser CD, DVD, Blu-ray
    solid state storage 固态存储 data is stored in flash memory 闪存, with no moving parts SSD, USB flash drive, memory card
    Inside an opened hard disk drive, showing the round silver disk (platter) and the read/write arm resting on it
    Inside a hard disk drive (HDD): the shiny disk spins and the arm reads the magnetised data
    Four square magnetic-tape cartridges, each holding a reel of thin magnetic tape
    Magnetic tape stores data on a long magnetic strip; it is cheap for large backups
    A shiny round disc reflecting rainbow colours from its data surface
    An optical disc such as a CD or DVD: a laser reads the marks on its shiny surface
    A 2.5 inch Samsung solid state drive, a flat grey metal box with no visible moving parts
    A solid state drive (SSD) stores data in flash memory chips and has no moving parts
    A small white USB stick with a red cap loop, labelled 32 GB
    A USB flash drive stores data in flash memory and has no moving parts
    A pyramid with registers at the top, then cache, then RAM, then secondary storage at the base, with a faster-smaller to slower-larger arrow
    Storage forms a hierarchy: registers and cache are fastest but smallest; secondary storage is slowest but largest
    Explore

    Device and storage lab

    Classify computing examples by what job they do in a system.

    Vocabulary Train
    English Chinese Pinyin
    Secondary storage 辅助存储器 fǔ zhù cún chǔ qì
    magnetic storage 磁存储 cí cún chǔ
    optical storage 光存储 guāng cún chǔ
    solid state storage 固态存储 gù tài cún chǔ
    flash memory 闪存 shǎn cún
    3.3

    Virtual memory

    When the RAM becomes full, the computer can use part of the secondary storage as extra, pretend RAM. This is called virtual memory 虚拟内存.

    Data that is not needed right now is moved out of RAM onto the disk, which frees space in RAM for other programs. This lets you run more programs than the RAM alone could hold. It is slower, because secondary storage is much slower than RAM.

    RAM holding two active programs and a freed slot, with an arrow moving an unused program out to the disk
    When RAM is full, data not in use is moved to the disk to free RAM — slower, but it lets more programs run
    Vocabulary Train
    English Chinese Pinyin
    virtual memory 虚拟内存 xū nǐ nèi cún
    3.3

    Cloud storage

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Understand what is meant by primary storage • Primary storage is directly accessed by the CPU • Including the role of: – random access memory (RAM) – read only memory (ROM) • Including why a computer needs both RAM and ROM, and the difference between them
    2 Understand what is meant by secondary storage • Secondary storage is not directly accessed by the CPU and is necessary for more permanent storage of data
    3 Describe the operation of magnetic, optical and solid-state (flash memory) storage and give examples of each • Magnetic storage uses platters which are divided into tracks and sectors. Data is read and written using electromagnets. Including hard disk drive (HDD) • Optical storage uses lasers to create and read pits and lands. Including: CD, DVD and Blu-ray • Solid-state (flash memory) uses NAND or NOR technology. Transistors are used as control gates and floating gates. Including: solid-state drive (SSD), SD card and USB drive
    4 Describe what is meant by virtual memory, how it is created and used and why it is necessary • Pages of data are transferred between RAM and virtual memory when needed
    5 Understand what is meant by cloud storage • Cloud storage can be accessed remotely in comparison to storing data locally
    6 Explain the advantages and disadvantages of storing data on the cloud in comparison to storing it locally • Physical servers and storage are needed to store data in cloud storage

    Source: Cambridge International syllabus

    Cloud storage 云存储 keeps your data on remote physical servers, reached over the internet, instead of on your own device.

    • Advantages: reach it from anywhere on any device; no local storage hardware to buy or maintain; easy to share files and to back up automatically.
    • Disadvantages: needs a working internet connection; an ongoing subscription cost; security and privacy depend on the provider; you rely on that provider staying available and in business.
    Data-centre server racks: cloud storage keeps your files on remote servers you reach over the network
    Data-centre server racks: cloud storage keeps your files on remote servers you reach over the network
    Vocabulary Train
    English Chinese Pinyin
    Cloud storage 云存储 yún cún chǔ
    3.4

    Network hardware

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Understand that a computer needs a network interface card (NIC) to access a network
    2 Understand what is meant by, and the purpose of, a media access control (MAC) address, including its structure • A network interface card is given a MAC address at the point of manufacture • MAC addresses are usually written as hexadecimal • MAC addresses are created using the manufacturer code and the serial code
    3 (a) Understand what is meant by, and the purpose of, an internet protocol (IP) address (b) Understand that there are different types of IP address • An IP address is allocated by the network and it can be static or dynamic • Including the characteristics of, and differences between, IPv4 and IPv6
    4 Describe the role of a router in a network • A router sends data to a specific destination on a network • A router can assign IP addresses • A router can connect a local network to the internet

    Source: Cambridge International syllabus

    Network interface card (NIC)

    A network interface card 网络接口卡 (NIC) is the hardware that lets a device join a network and send and receive data. Each NIC has a built-in MAC address.

    MAC address and IP address

    • A MAC address (media access control 介质访问控制 address) is a number that identifies one physical device. The maker sets it, and it does not normally change. It is written in hexadecimal.
    • An IP address (internet protocol 网际协议 address) is a number that identifies a device on a network. It is given by the network and can change.

    So a MAC address stays with the device, while an IP address depends on the network the device is using.

    There are two versions of IP address. IPv4 is 32-bit, written as four denary numbers 0–255 (for example 192.168.0.1); the newer IPv6 is 128-bit, written as eight groups of hexadecimal separated by colons, giving vastly more addresses. An address is also either static 静态 (fixed, set by hand and never changing) or dynamic 动态 (handed out by the router/network each time the device connects, so it can change).

    Router

    A router 路由器 connects different networks together — for example, your home network to the internet. It reads the IP address in each packet and forwards it towards the right network.

    A Wi-Fi router: network hardware forwards packets between devices and the wider Internet
    A Wi-Fi router: network hardware forwards packets between devices and the wider Internet
    Explore

    Network route lab

    Follow data from a device through network hardware and protocols.

    Vocabulary Train
    English Chinese Pinyin
    network interface card 网络接口卡 wǎng luò jiē kǒu kǎ
    static 静态 jìng tài
    dynamic 动态 dòng tài
    router 路由器 lù yóu qì
    fetch-execute cycle 取指执行周期 qǔ zhǐ zhí xíng zhōu qī
    media access control 介质访问控制 jiè zhì fǎng wèn kòng zhì
    internet protocol 网际协议 wǎng jì xié yì
    3.4

    Exam tips

    • Learn the fetch–decode–execute cycle and the special registers: the program counter holds the address of the next instruction, the MAR/MDR carry the address/data, and the accumulator holds the ALU's result.
    • CPU performance improves with more cores, a larger cache, and a higher clock speed.
    • RAM is volatile (it loses its data with no power) and holds programs in use; ROM is non-volatile and read-only (the start-up instructions).
    • Match the secondary-storage types: magnetic (HDD, tape), optical (CD/DVD, read by a laser), solid state (SSD, USB, flash — no moving parts).
    • A MAC address identifies the physical device and does not normally change; an IP address is given by the network and can change.
  • 4 Software
    4.1

    Hardware and software

    A computer system is made of two parts that work together.

    Hardware is the physical parts (CPU, keyboard); software is the programs (apps, OS)
    Hardware is the physical parts; software is the programs
    • Hardware 硬件 is the physical 物理的 parts of the computer — the parts you can touch. Examples: the CPU, memory, keyboard, screen and hard disk.
    • Software 软件 is the programs 程序 that control the computer and tell the hardware what to do.

    Hardware cannot do anything useful on its own. Software needs hardware to run on. Both are needed.

    A computer motherboard with its chips, slots and connectors
    The motherboard and the parts attached to it are hardware — the physical parts you can touch
    A desktop operating system on screen
    An operating system is software — the programs that tell the hardware what to do
    Vocabulary Train
    English Chinese Pinyin
    Hardware 硬件 yìng jiàn
    physical 物理的 wù lǐ de
    Software 软件 ruǎn jiàn
    programs 程序 chéng xù
    4.1

    Types of software

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Describe the difference between system software and application software and provide examples of each • System software provides the services that the computer requires, including operating system and utility software • Application software provides the services that the user requires
    2 Describe the role and basic functions of an operating system • Including: – managing files – handling interrupts – providing an interface – managing peripherals and drivers – managing memory – managing multitasking – providing a platform for running applications – providing system security – managing user accounts
    3 Understand how hardware, firmware and an operating system are required to run applications software • Applications are run on the operating system • The operating system is run on the firmware • The bootloader (firmware) is run on the hardware
    4 Describe the role and operation of interrupts • Including: – how an interrupt is generated – how it is handled using an interrupt service routine – what happens as a result of the interrupts • Software interrupts include division by zero and two processes trying to access the same memory location • Hardware interrupts include pressing a key on the keyboard and moving the mouse

    Source: Cambridge International syllabus

    Software is split into two types.

    A tree splitting Software into system software (operating system, utilities, drivers, compiler) and application software (word processor, spreadsheet, database, browser)
    Software divides into system software (runs the computer) and application software (lets the user do a task)

    System software

    System software 系统软件 controls the computer itself and gives a base for other programs to run on. Examples:

    • operating system 操作系统 (see below);
    • compiler 编译器 and linker 链接器 (tools that turn programs into a form the computer can run);
    • device driver 设备驱动程序 — software that lets the operating system control a piece of hardware;
    • utility software 实用程序 — small tools that look after the computer (for example anti-virus, backup, disk clean-up).

    Below the operating system sits firmware 固件 – software stored permanently on ROM or flash that runs the moment the computer is switched on. The BIOS and the bootloader 引导程序 are firmware: they test the hardware and then load the operating system. So the layers stack up hardware → firmware → operating system → application software, each running on the layer below.

    Application software

    Application software 应用软件 lets the user do a useful task. Examples:

    • word processing 文字处理 software (writing documents);
    • spreadsheet 电子表格 software (working with numbers in a grid);
    • database management system 数据库管理系统 (storing and searching data);
    • web browser 网页浏览器 (viewing web pages).
    System software Application software
    Job runs and manages the computer helps the user do a task
    Used by the computer (in the background) the user (directly)
    Examples operating system, drivers, utilities word processor, browser, games
    Vocabulary Train
    English Chinese Pinyin
    System software 系统软件 xì tǒng ruǎn jiàn
    operating system 操作系统 cāo zuò xì tǒng
    compiler 编译器 biān yì qì
    linker 链接器 liàn jiē qì
    device driver 设备驱动程序 shè bèi qū dòng chéng xù
    utility software 实用程序 shí yòng chéng xù
    firmware 固件 gù jiàn
    bootloader 引导程序 yǐn dǎo chéng xù
    Application software 应用软件 yìng yòng ruǎn jiàn
    word processing 文字处理 wén zì chǔ lǐ
    spreadsheet 电子表格 diàn zi biǎo gé
    database management system 数据库管理系统 shù jù kù guǎn lǐ xì tǒng
    web browser 网页浏览器 wǎng yè liú lǎn qì
    4.1

    The operating system

    An operating system (OS) is the main system software. It controls the whole computer and lets the hardware, the application software and the user work together. Without an OS the computer is very hard to use.

    Four stacked layers — user on top, then application software, then operating system, then hardware at the base
    The operating system sits between the hardware and the application software and user, letting them work together

    The OS has many roles:

    • managing files — saving, opening, naming, moving and deleting files;
    • handling interrupts (see below);
    • providing a user interface 用户界面 so the user can control the computer;
    • managing memory — deciding what is kept in RAM and where;
    • managing peripherals 外围设备 and their drivers — controlling devices like printers;
    • managing multitasking 多任务处理 — letting several programs run at once;
    • providing a platform 平台 for running application software;
    • managing security — user accounts, passwords and access rights.
    Vocabulary Train
    English Chinese Pinyin
    providing a user interface 用户界面 yòng hù jiè miàn
    managing peripherals 外围设备 wài wéi shè bèi
    managing multitasking 多任务处理 duō rèn wù chǔ lǐ
    providing a platform 平台 píng tái
    user interface 用户界面 yòng hù jiè miàn
    peripherals 外围设备 wài wéi shè bèi
    multitasking 多任务处理 duō rèn wù chǔ lǐ
    platform 平台 píng tái
    4.1

    Interrupts

    An interrupt 中断 is a signal sent to the processor 处理器 to tell it that something needs attention now.

    An interrupt can come from three sources:

    • hardware — for example a key is pressed, or a printer runs out of paper;
    • software — for example a program tries to divide by zero;
    • the user — for example the user presses a "cancel" key.

    When an interrupt arrives, the processor stops what it is doing, saves its place, and services (deals with) the interrupt. When that is done, it goes back to what it was doing before. This lets the computer react quickly to important events.

    A cycle: main program running, then on an interrupt the CPU saves its state, runs the interrupt service routine, restores state and resumes
    On an interrupt the CPU saves its place, runs the interrupt service routine, then restores its place and carries on
    Explore

    How the CPU handles an interrupt

    Step through an interrupt. The CPU pauses what it's doing, deals with the urgent event, then carries on exactly where it left off — which is how one processor juggles the keyboard, printer and timer at once.

    Vocabulary Train
    English Chinese Pinyin
    interrupt 中断 zhōng duàn
    processor 处理器 chǔ lǐ qì
    4.2

    Programming languages

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Explain what is meant by a high-level language and a low-level language, including the advantages and disadvantages of each • Advantages and disadvantages include: – ease of reading and writing code, e.g. low-level is hard to read – ease of debugging code – machine independence – direct manipulation of hardware
    2 Understand that assembly language is a form of low-level language that uses mnemonics, and that an assembler is needed to translate an assembly language program into machine code
    3 Describe the operation of a compiler and an interpreter, including how high-level language is translated by each and how errors are reported • A compiler translates the whole code at once before executing it, producing an executable file • An interpreter translates and executes the code line-by-line • A compiler provides an error report for the whole code if errors are detected • An interpreter stops execution when an error is found
    4 Explain the advantages and disadvantages of a compiler and an interpreter • Including an understanding that an interpreter is mostly used when developing a program and a compiler is used to translate the final program
    5 Explain the role of an IDE in writing program code and the common functions IDEs provide • Including: – code editors – run-time environment – translators – error diagnostics – auto-completion – auto-correction – prettyprint

    Source: Cambridge International syllabus

    All computers process data using the central processing unit 中央处理器 (CPU). To make the CPU do work, people write programs in a programming language 编程语言. There are two kinds.

    High-level languages

    A high-level language 高级语言 is written in words that look a bit like English (for example Python). It is:

    • easy for people to read, write and fix;
    • independent of the computer — the same program can run on different types of computer.

    Low-level languages

    A low-level language 低级语言 is close to what the hardware actually uses. It includes:

    • machine code 机器码 — instructions written in binary (0s and 1s), which the CPU runs directly;
    • assembly language 汇编语言 — machine code written with short word codes (mnemonics) instead of binary.

    A low-level language relates to the specific 特定的 type of CPU, so a program written for one CPU may not run on another. It is used when the programmer needs full control of the hardware or very fast, small code.

    Three stacked layers: high-level language at the top, then assembly, then machine code at the bottom
    High-level languages are close to human language and run on any computer; low-level languages (assembly and machine code) are close to the hardware and tied to one type of CPU
    Explore

    Computing concept lab

    Classify concrete examples by the computing idea they demonstrate.

    Vocabulary Train
    English Chinese Pinyin
    central processing unit 中央处理器 zhōng yāng chǔ lǐ qì
    programming language 编程语言 biān chéng yǔ yán
    high-level language 高级语言 gāo jí yǔ yán
    low-level language 低级语言 dī jí yǔ yán
    machine code 机器码 jī qì mǎ
    assembly language 汇编语言 huì biān yǔ yán
    specific 特定的 tè dìng de
    4.2

    Translators

    The CPU can only run machine code. A high-level program must first be changed into machine code. The software that does this is a translator 翻译程序. There are three types: a compiler and an interpreter (for high-level code), and an assembler (for low-level code).

    Compiler

    A compiler translates the whole program into machine code before it is run. After translating, the machine code can be run many times without translating again.

    • translation happens once, in full;
    • it reports all the errors together, at the end of translating;
    • the finished program runs fast and does not need the compiler to run.

    Interpreter

    An interpreter 解释器 translates and runs the program one line at a time.

    • it stops at the first error it finds, which helps when testing;
    • the program runs more slowly, because it is translated each time it runs;
    • the interpreter must be present every time the program runs.
    Compiler Interpreter
    Translates the whole program at once one line at a time
    Errors all reported at the end stops at the first error
    Speed of finished program faster slower
    Needed to run later? no yes

    Use a compiler when you want to share a fast, finished program. Use an interpreter when you are writing and testing a program and want to find errors easily.

    Assembler

    An assembler 汇编器 translates a low-level assembly-language program (written in mnemonics such as LDA, ADD) into machine code. Each mnemonic becomes one machine instruction – a direct one-to-one translation, unlike a compiler or interpreter, which work on high-level code.

    Compiler translating a whole program once into machine code that runs many times, versus an interpreter translating and running one line at a time
    A compiler translates the whole program once into machine code; an interpreter translates and runs one line at a time

    Worked example. A team is writing a program. While developing it they want to find and fix errors quickly; when they ship it they want customers to run it fast without seeing the source code. Which translator suits each stage? While developing, use an interpreter: it translates and runs one line at a time and stops at the first error, so a mistake is easy to locate. To ship, use a compiler: it translates the whole program once into machine code, which then runs quickly with no translator present, and the customer receives only the executable rather than the source. The two are not rivals - name the stage and give the reason, because "a compiler is faster" on its own earns nothing.

    Vocabulary Train
    English Chinese Pinyin
    translator 翻译程序 fān yì chéng xù
    interpreter 解释器 jiě shì qì
    assembler 汇编器 huì biān qì
    4.2

    Integrated development environment (IDE)

    An integrated development environment 集成开发环境 (IDE) is software that helps you write programs. It puts many useful tools in one place:

    • a code editor 代码编辑器 — for typing in your program;
    • a run time environment 运行时环境 — for running the program to test it;
    • a translator — a compiler or interpreter to turn your code into machine code;
    • error diagnostics 错误诊断 — messages that help you find and understand mistakes;
    • auto-completion 自动补全 and auto-correction 自动纠错 — the IDE finishes or fixes code as you type;
    • prettyprinting 美化打印 — laying out the code neatly with colour and indentation so it is easy to read.
    Source code in an editor: an IDE combines editor, debugger and run tools in one place
    Source code in an editor: an IDE combines editor, debugger and run tools in one place
    Vocabulary Train
    English Chinese Pinyin
    integrated development environment 集成开发环境 jí chéng kāi fā huán jìng
    code editor 代码编辑器 dài mǎ biān jí qì
    run time environment 运行时环境 yùn xíng shí huán jìng
    error diagnostics 错误诊断 cuò wù zhěn duàn
    auto-completion 自动补全 zì dòng bǔ quán
    auto-correction 自动纠错 zì dòng jiū cuò
    prettyprinting 美化打印 měi huà dǎ yìn
    4.2

    Exam tips

    • Hardware is the physical parts; software is the programs. System software runs the computer (OS, drivers, utilities); application software does a task for the user.
    • A compiler translates the whole program at once (the finished program runs fast, and all errors are reported at the end); an interpreter translates line by line (it stops at the first error, runs slower, and is needed every time).
    • High-level languages are close to English and run on any computer; low-level languages (assembly, machine code) are tied to one type of CPU.
    • An interrupt is a signal that makes the CPU stop, save its place, service the event, then carry on where it left off.
    • Learn the operating system's roles: managing files, memory, peripherals, multitasking, security and the user interface.
  • 5 The internet and its uses
    5.1

    The internet and the world wide web

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Understand the difference between the internet and the world wide web • The internet is the infrastructure • The world wide web is the collection of websites and web pages accessed using the internet
    2 Understand what is meant by a uniform resource locator (URL) • A URL is a text-based address for a web page; it can contain the protocol, the domain name and the web page/file name
    3 Describe the purpose and operation of hypertext transfer protocol (HTTP) and hypertext transfer protocol secure (HTTPS)
    4 Explain the purpose and functions of a web browser • The main purpose of a web browser is to render hypertext markup language (HTML) and display web pages • Functions include: – storing bookmarks and favourites – recording user history – allowing use of multiple tabs – storing cookies – providing navigation tools – providing an address bar
    5 Describe how web pages are located, retrieved and displayed on a device when a user enters a URL • Including the role of: – the web browser – IP addresses – the domain name server (DNS) – the web server – HTML
    6 Explain what is meant by cookies and how they are used, including session cookies and persistent cookies • Cookies are used for functions, including: – saving personal details – tracking user preferences – holding items in an online shopping cart – storing login details

    Source: Cambridge International syllabus

    People often mix up these two terms, but they are not the same.

    • The internet 互联网 is the infrastructure 基础设施 — the huge worldwide network of computers and the cables, routers and connections that join them.
    • The world wide web 万维网 (WWW) is a collection of websites 网站 and web pages that you view using the internet.

    So the internet is the network; the web is one of the things you use on that network.

    A large box labelled the Internet containing two smaller boxes: the World Wide Web, and other services such as email
    The internet is the worldwide network; the world wide web is one of the things you use on it
    A black box-shaped router with three tall aerials standing up from it
    A router joins your home network to the internet and sends data to the right place
    Vocabulary Train
    English Chinese Pinyin
    internet 互联网 hù lián wǎng
    infrastructure 基础设施 jī chǔ shè shī
    world wide web 万维网 wàn wéi wǎng
    websites 网站 wǎng zhàn
    5.1

    URL

    A uniform resource locator 统一资源定位符 (URL) is a text-based address for a web page. You type it into a web browser 网页浏览器 to visit a page, for example https://www.example.com/index.html.

    The URL https://www.example.com/index.html split into three labelled parts: protocol, domain name and path
    A URL has three parts: the protocol, the domain name, and the path to the page on the server
    Vocabulary Train
    English Chinese Pinyin
    uniform resource locator 统一资源定位符 tǒng yī zī yuán dìng wèi fú
    web browser 网页浏览器 wǎng yè liú lǎn qì
    5.1

    The web browser

    A web browser is the program you use to view web pages. Its role includes:

    • rendering 渲染 the hypertext markup language 超文本标记语言 (HTML) — turning the page's code into what you see;
    • displaying web pages on the screen;
    • managing how a web page is presented — its layout, text and images.
    Vocabulary Train
    English Chinese Pinyin
    rendering 渲染 xuàn rǎn
    hypertext markup language 超文本标记语言 chāo wén běn biāo jì yǔ yán
    5.1

    How a web page reaches you

    When you type a URL and press enter, several steps happen:

    1. The browser needs the website's IP address 网际协议地址, but a URL uses a name, not a number.
    2. The browser asks a domain name service 域名服务 (DNS) — a system that stores the IP address for each web address.
    3. The DNS finds the matching IP address and sends it back to the browser.
    4. The browser uses the IP address to contact the web server 网页服务器 that stores the page.
    5. The web server sends the page's HTML back to the browser.
    6. The browser turns the HTML into the page and displays it.
    The browser asking a DNS server for an IP address, then requesting the page from the web server and receiving the HTML back
    The browser asks a DNS for the site's IP address, then requests the page from the web server, which returns the HTML

    If the DNS does not have the address, it asks another DNS server until the address is found.

    Long rows of computer servers in metal racks, lit with blue lights, inside a data centre
    A data centre full of servers: powerful computers that store websites and send them to you

    Worked example. Break down the URL https://www.example.com/books/index.html. https is the protocol, the set of rules used to transfer the page (the s means the transfer is encrypted). www.example.com is the domain name, which identifies the web server and which a DNS server turns into an IP address. /books/index.html is the file path and file name of the resource stored on that server. Name each part together with its job: an answer that says "the first bit" and "the last bit" describes the URL without ever explaining it.

    Explore

    What happens when you load a web page

    Step through it. The web address is just a name — DNS turns it into an IP address before the browser can ask the right server for the page.

    Vocabulary Train
    English Chinese Pinyin
    IP address 网际协议地址 wǎng jì xié yì dì zhǐ
    domain name service 域名服务 yù míng fú wù
    web server 网页服务器 wǎng yè fú wù qì
    5.1

    Cookies

    A cookie is a small text file that a website stores on your device. It lets the website remember things about you. There are two types.

    A cookie is a small text file, stored on your computer, that remembers your settings or login
    A cookie is a small text file stored on your computer
    Type Kept when you close the browser? Used for
    session 会话 cookie no — deleted when you close the browser short-term data, e.g. items in a shopping basket
    persistent 持久 cookie yes — saved on the device remembering you between visits

    Cookies are used to:

    • save personal details so you do not type them again (such as login or address);
    • track user preferences 用户偏好, such as your language or the things you like, so the site can suggest content.
    Vocabulary Train
    English Chinese Pinyin
    session 会话 huì huà
    persistent 持久 chí jiǔ
    user preferences 用户偏好 yòng hù piān hǎo
    5.2

    Digital currency

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Understand the concept of a digital currency and how digital currencies are used • A digital currency is one that only exists electronically
    2 Understand the process of blockchain and how it is used to track digital currency transactions • Blockchain, in its basic form, is a digital ledger, that is a time-stamped series of records that cannot be altered

    Source: Cambridge International syllabus

    A digital currency 数字货币 is money that exists only in electronic form 电子形式. There are no coins or notes. It is stored and moved between people using computers, and can be used to pay for things online.

    A problem with digital money is trust: how do you stop someone spending the same money twice, or changing the records? Blockchain solves this.

    Vocabulary Train
    English Chinese Pinyin
    digital currency 数字货币 shù zì huò bì
    electronic form 电子形式 diàn zi xíng shì
    5.2

    Blockchain

    A blockchain 区块链 is a digital ledger 数字账本 — a shared record of every transaction 交易. The record is copied across many computers, so no single person controls it and it is very hard to change.

    The transactions are kept in blocks joined in a chain. Each block holds:

    • the data of the transaction (who paid whom, and how much);
    • a timestamp 时间戳 (the date and time);
    • a hash value 哈希值 — a special code worked out from the block's contents.

    Each block also stores the hash of the block before it. If someone changes an old block, its hash changes, so it no longer matches the next block. This breaks the chain and the change is spotted at once. This is how blockchain tracks transactions safely.

    Three blocks in a chain, each holding data, a timestamp and a hash, with each block also storing the previous block's hash
    Each block stores the previous block's hash, chaining the blocks; changing one block breaks the chain
    Explore

    Hashing behind a blockchain

    A hash is one-way and a tiny change to the input flips much of the output — a blockchain chains these hashes so any tamper is obvious.

    Vocabulary Train
    English Chinese Pinyin
    blockchain 区块链 qū kuài liàn
    digital ledger 数字账本 shù zì zhàng běn
    transaction 交易 jiāo yì
    timestamp 时间戳 shí jiān chuō
    hash value 哈希值 hā xī zhí
    5.3

    Cyber security threats

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Describe the processes involved in, and the aim of carrying out, a range of cyber security threats • Including: – brute-force attack – data interception – distributed denial of service (DDoS) attack – hacking – malware (virus, worm, Trojan horse, spyware, adware, ransomware) – pharming – phishing – social engineering
    2 Explain how a range of solutions are used to help keep data safe from security threats • Including: – access levels – anti-malware, including anti-virus and anti-spyware – authentication (username and password, biometrics, two-step verification) – automating software updates – checking the spelling and tone of communications – checking the URL attached to a link – firewalls – privacy settings – proxy-servers – secure socket layer (SSL) security protocol

    Source: Cambridge International syllabus

    Cyber security 网络安全 means keeping computers, networks and data safe from attack. You must know these threats.

    Threat What it is
    brute force attack 暴力破解 trying many passwords very quickly until the right one is found
    data interception 数据拦截 "listening in" to steal data while it travels across a network
    distributed denial of service 分布式拒绝服务 (DDoS) attack flooding a server with so many requests that it cannot respond, so the website goes down
    hacking 黑客攻击 gaining access to a computer system without permission
    malware 恶意软件 harmful software (see the table below)
    pharming 域名欺骗 secret code sends you to a fake website even when you type the correct address
    phishing 网络钓鱼 fake emails or messages that trick you into giving away private details
    social engineering 社会工程 tricking a person (not a computer) into breaking security, e.g. pretending to be the boss

    Types of malware

    Malware is any software made to harm a computer. The main types are:

    Malware What it does
    virus 病毒 attaches to a file and copies itself when the file is opened; can delete or damage data
    worm 蠕虫 copies itself across a network on its own, without needing a file to be opened
    Trojan horse 特洛伊木马 pretends to be useful software, but harms the computer once installed
    spyware 间谍软件 secretly records what you do, such as the keys you press
    adware 广告软件 floods you with unwanted adverts
    ransomware 勒索软件 locks your files and demands payment to unlock them

    Impact of the threats

    These attacks can steal personal data, delete or change files, stop a service from working, cost money, and make users lose trust in a company. For example, a DDoS attack can make an online shop unusable, so it loses sales.

    A padlock: cyber security locks data and systems against malware, phishing and unauthorised access
    A padlock: cyber security locks data and systems against malware, phishing and unauthorised access
    Vocabulary Train
    English Chinese Pinyin
    cyber security 网络安全 wǎng luò ān quán
    brute force attack 暴力破解 bào lì pò jiě
    data interception 数据拦截 shù jù lán jié
    distributed denial of service 分布式拒绝服务 fēn bù shì jù jué fú wù
    hacking 黑客攻击 hēi kè gōng jī
    malware 恶意软件 è yì ruǎn jiàn
    pharming 域名欺骗 yù míng qī piàn
    phishing 网络钓鱼 wǎng luò diào yú
    social engineering 社会工程 shè huì gōng chéng
    virus 病毒 bìng dú
    worm 蠕虫 rú chóng
    Trojan horse 特洛伊木马 tè luò yī mù mǎ
    spyware 间谍软件 jiàn dié ruǎn jiàn
    adware 广告软件 guǎng gào ruǎn jiàn
    ransomware 勒索软件 lè suǒ ruǎn jiàn
    5.3

    Keeping data safe

    You can protect data using these methods.

    • access levels 访问权限 — each user can only see or change the data they need, nothing more.
    • anti-malware 反恶意软件 software, including anti-virus 杀毒软件 and anti-spyware 反间谍软件 — scans for and removes harmful software.
    • authentication 身份验证 — proving who you are before you get access. Methods include:
      • biometrics 生物识别 (fingerprint or face),
      • a password 密码,
      • two-step verification 两步验证 (a code sent to your phone as well as a password).
    • automating software updates — updates fix weak points (bugs) in software automatically.
    • checking the spelling and tone of messages — bad spelling or an odd, urgent tone can show a message is fake (phishing).
    • checking the URL attached to a link — a wrong or strange web address warns you the link is unsafe.
    • firewall 防火墙 — checks data going in and out of a network and blocks anything not allowed.
    • privacy settings 隐私设置 — control who can see your information online.
    A firewall between the internet and a private network, letting an allowed connection through and blocking another
    A firewall sits between the outside internet and your network, checking each connection and blocking any traffic that is not allowed
    • proxy server 代理服务器 — sits between the user and the internet, hiding the user's IP address and filtering out unsafe content.
    Explore

    Encryption with a key

    Change the shift — that is the key. Each letter slides that many places to make ciphertext, and the same key slides it back. That is symmetric encryption.

    Vocabulary Train
    English Chinese Pinyin
    access levels 访问权限 fǎng wèn quán xiàn
    anti-malware 反恶意软件 fǎn è yì ruǎn jiàn
    anti-virus 杀毒软件 shā dú ruǎn jiàn
    anti-spyware 反间谍软件 fǎn jiàn dié ruǎn jiàn
    authentication 身份验证 shēn fèn yàn zhèng
    biometrics 生物识别 shēng wù shí bié
    password 密码 mì mǎ
    two-step verification 两步验证 liǎng bù yàn zhèng
    firewall 防火墙 fáng huǒ qiáng
    privacy settings 隐私设置 yǐn sī shè zhì
    proxy server 代理服务器 dài lǐ fú wù qì
    5.3

    Exam tips

    • The internet is the worldwide network (the infrastructure); the world wide web is the pages you view on it — do not mix the two up.
    • Learn how a page loads: the browser asks a DNS for the site's IP address, then requests the page from the web server, which returns the HTML.
    • Match the malware types: virus (attaches to a file), worm (spreads by itself across a network), Trojan horse (pretends to be useful), spyware, ransomware.
    • Match each threat to a defence: phishing/pharming → check the URL; brute force → strong passwords + two-step verification; interception → encryption; hacking/DDoS → a firewall.
    • A session cookie is deleted when you close the browser; a persistent cookie is saved to remember you between visits.
  • 6 Automated and emerging technologies
    6.1

    Automated systems

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Describe how sensors, microprocessors and actuators can be used in collaboration to create automated systems
    2 Describe the advantages and disadvantages of an automated system used for a given scenario • Including scenarios from: – industry – transport – agriculture – weather – gaming – lighting – science

    Source: Cambridge International syllabus

    An automated system 自动化系统 is a mix of software and hardware that senses and responds to data in its environment 环境, with no need for human intervention 人工干预. In other words, it works on its own.

    Examples of automated systems:

    • a central heating 中央供暖 system;
    • a chemical process 化学过程 in a factory;
    • a greenhouse 温室 (for growing plants);
    • a car park barrier 停车场道闸.

    Sensors, microprocessors and actuators

    Three parts work together in an automated system.

    Part Job
    sensor 传感器 measures a physical quantity (such as temperature or light) and sends the data
    microprocessor 微处理器 compares the data with stored values and makes decisions
    actuator 执行器 receives a signal and causes movement or action (such as opening a valve)

    The cycle works like this:

    1. The sensor sends data to the microprocessor.
    2. The microprocessor compares this data with stored values 存储值 and makes a decision.
    3. The microprocessor sends signals to the actuators to take action.

    For example, in a greenhouse: a temperature sensor reads the heat; the microprocessor compares it with the wanted value; if it is too hot, the microprocessor signals an actuator to open a window.

    A loop: a temperature sensor feeds the microprocessor, which signals an actuator to open a window, cooling the greenhouse, which the sensor then measures again
    A sensor feeds the microprocessor, which compares the reading with a stored value and signals an actuator; the loop then repeats

    The syllabus names many sensor types 传感器类型, each reading one physical quantity – for example an accelerometer 加速度计 (movement or tilt), a humidity 湿度 sensor (water in the air), and a proximity 接近 sensor (a nearby object):

    Sensor Measures Typical use
    temperature heat ovens, greenhouses, heating
    light brightness automatic lights, cameras
    pressure force on a surface alarm floor mats, touchscreens
    infra-red / proximity a nearby object automatic doors, parking sensors
    acoustic (sound) sound level noise monitors
    humidity / moisture water in air or soil greenhouses, irrigation
    gas a gas being present smoke and CO alarms
    pH acidity pools, fish tanks
    accelerometer movement or tilt phones, airbag triggers
    magnetic field magnetism door contacts, compasses
    flow / level fluid flow or depth pipes, tanks

    To pick a sensor for a scenario, choose the one that reads the right physical quantity: a fish tank needs pH and temperature sensors; an automatic door needs an infra-red / proximity sensor.

    Advantages and disadvantages

    Automated systems are used in many situations, such as industry, transport, agriculture 农业 (farming), weather (gathering data), gaming and lighting.

    The advantages of automated systems, such as working 24/7 and consistency, set against the disadvantages, such as high setup cost and lost jobs
    The advantages and disadvantages of automated systems
    A white four-rotor drone with a small camera, flying in the sky above the sea
    A camera drone: it can fly itself along a set route to collect data
    Advantages Disadvantages
    work all day and night, without rest cost a lot to buy and set up
    faster and more consistent 一致的 than people can break down and need expert repair
    can work in places unsafe for people may replace people's jobs
    fewer human mistakes cannot easily react to a situation they were not built for

    Worked example. Describe how an automatic greenhouse holds the temperature at 25 °C. A temperature sensor continuously measures the temperature and sends its reading, converted to digital by an ADC, to the microprocessor. The microprocessor compares the reading with the stored value of 25 °C. If the temperature is above it, the microprocessor signals an actuator to open a window or switch on a fan; if it is below, it switches on a heater. The whole loop then repeats continuously. Two marks nearly always sit on the words "compares with a stored (pre-set) value" and "the process repeats" - a description that stops at "the sensor tells the computer" leaves them behind.

    Explore

    An automated control loop

    Tap round the loop. An automated system senses, compares against a target, then acts — and because the action changes what it senses, it keeps correcting itself with no human needed.

    Vocabulary Train
    English Chinese Pinyin
    automated system 自动化系统 zì dòng huà xì tǒng
    environment 环境 huán jìng
    human intervention 人工干预 rén gōng gān yù
    greenhouse 温室 wēn shì
    car park barrier 停车场道闸 tíng chē chǎng dào zhá
    sensor 传感器 chuán gǎn qì
    microprocessor 微处理器 wēi chǔ lǐ qì
    actuator 执行器 zhí xíng qì
    stored values 存储值 cún chǔ zhí
    sensor types 传感器类型 chuán gǎn qì lèi xíng
    accelerometer 加速度计 jiā sù dù jì
    humidity 湿度 shī dù
    proximity 接近 jiē jìn
    consistent 一致的 yí zhì de
    central heating 中央供暖 zhōng yāng gōng nuǎn
    chemical process 化学过程 huà xué guò chéng
    agriculture 农业 nóng yè
    6.2

    Robotics

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Understand what is meant by robotics • Robotics is a branch of computer science that incorporates the design, construction and operation of robots • Examples include factory equipment, domestic robots and drones
    2 Describe the characteristics of a robot • Including: – a mechanical structure or framework – electrical components, such as sensors, microprocessors and actuators – programmable
    3 Understand the roles that robots can perform and describe the advantages and disadvantages of their use • Robots can be used in areas including: – industry – transport – agriculture – medicine – domestic settings – entertainment

    Source: Cambridge International syllabus

    Robotics 机器人技术 is the branch of technology that deals with the design, building and operation of robots 机器人.

    A robot has these characteristics:

    • a physical structure 物理结构 (a mechanical 机械的 body, such as arms);
    • electrical components 电子元件 (motors, sensors and wiring);
    • programmable instructions 可编程指令 — it follows a program that can be changed.

    What robots do

    Robots can perform many roles, for example:

    • factory equipment 工厂设备 — building cars, welding, moving heavy parts;
    • domestic appliances 家用电器 — such as a robotic vacuum cleaner 吸尘器.
    A white robot arm on a factory production line, with cables and metal framework around it
    An industrial robot arm. It follows a program and can be reprogrammed to do a new job.
    A round, flat grey robot vacuum cleaner seen from above, with S, M and L buttons on top
    A robot vacuum cleaner: a home robot that drives itself around to clean the floor
    Advantages Disadvantages
    do dull or dangerous jobs expensive to buy and maintain
    work quickly and accurately can replace human workers
    do not get tired or bored a robot has a lack of independent decision-making 缺乏独立决策 — it only does what it is programmed to do

    A key limit of a robot is that it cannot think for itself. It cannot make its own choices when something unexpected happens.

    Explore

    Computing concept lab

    Classify concrete examples by the computing idea they demonstrate.

    Vocabulary Train
    English Chinese Pinyin
    Robotics 机器人技术 jī qì rén jì shù
    robots 机器人 jī qì rén
    physical structure 物理结构 wù lǐ jié gòu
    electrical components 电子元件 diàn zi yuán jiàn
    programmable instructions 可编程指令 kě biān chéng zhǐ lìng
    factory equipment 工厂设备 gōng chǎng shè bèi
    domestic appliances 家用电器 jiā yòng diàn qì
    vacuum cleaner 吸尘器 xī chén qì
    lack of independent decision-making 缺乏独立决策 quē fá dú lì jué cè
    mechanical 机械的 jī xiè de
    6.3

    Artificial intelligence

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Understand what is meant by artificial intelligence (AI) • AI is a branch of computer science dealing with the simulation of intelligent behaviours by computers
    2 Describe the main characteristics of AI as the collection of data and the rules for using that data, the ability to reason, and it can include the ability to learn and adapt
    3 Explain the basic operation and components of AI systems to simulate intelligent behaviour • Limited to: – expert systems – machine learning • Expert systems have a knowledge base, a rule base, an inference engine and an interface • Machine learning is when a program has the ability to automatically adapt its own processes and/or data

    Source: Cambridge International syllabus

    Artificial intelligence 人工智能 (AI) is the simulation 模拟 of human intelligence by computer systems. This means a computer doing tasks that normally need human thinking.

    Characteristics of AI

    AI systems usually have these features:

    • they collect data and the rules 规则 for using that data;
    • they have the ability to reason 推理 (work things out using the rules);
    • they have the ability to draw conclusions 得出结论, which may be approximate 近似的 (a best guess) or definite 确定的 (certain);
    • they have the ability to learn 学习 from data;
    • they have the ability to adapt 适应 — to change their behaviour as they get new data.
    An AI system as a loop: it collects data, applies rules and spots patterns, acts on a decision, then learns and improves from the result before collecting more data
    An AI system collects data, applies rules, acts, then learns and improves

    Examples of AI

    • expert systems 专家系统 — software that gives advice like a human expert (for example, helping a doctor with a diagnosis);
    • natural language processing 自然语言处理 — understanding human speech or text;
    • self-driving cars 自动驾驶汽车.
    A small white self-driving car on a road, with a spinning sensor on its roof
    A self-driving car: sensors on the car let a computer steer it with no driver

    Inside an expert system

    An expert system stores human expertise and reasons from it. It has four parts:

    • a knowledge base 知识库 – the stored facts about the subject;
    • a rule base 规则库 – the "if… then…" rules a human expert would apply;
    • an inference engine 推理引擎 – applies the rules to the facts to reach a conclusion;
    • a user interface 用户界面 – asks the user questions and shows the result.

    The interface collects facts from the user; the inference engine runs the rule base against the knowledge base; and the system outputs a diagnosis or a probability – as used to help a doctor diagnose an illness or to find a car fault.

    Machine learning

    Machine learning 机器学习 is a program that improves its own performance from experience, without being explicitly reprogrammed. It finds patterns in data and adapts: a search engine gets better at ranking results, a voice assistant recognises spoken commands more accurately, and a robot vacuum gradually learns the layout of a room.

    Narrow, general and strong AI

    Three rising steps: narrow AI (all AI today), general AI, and strong AI, with general and strong AI labelled as not existing yet
    Narrow AI does one task (all AI today); general AI could do any human task; strong AI would be self-aware — neither exists yet
    Type What it means
    narrow AI 弱人工智能 can do only one task or a small set of tasks (for example, a chess program). All AI today is narrow AI.
    general AI 通用人工智能 could do any task a human can do, switching between many different tasks.
    strong AI 强人工智能 would think and be aware like a real human mind. This does not exist yet.
    Explore

    Computing concept lab

    Classify concrete examples by the computing idea they demonstrate.

    Vocabulary Train
    English Chinese Pinyin
    Artificial intelligence 人工智能 rén gōng zhì néng
    simulation 模拟 mó nǐ
    rules 规则 guī zé
    reason 推理 tuī lǐ
    draw conclusions 得出结论 dé chū jié lùn
    approximate 近似的 jìn sì de
    definite 确定的 què dìng de
    learn 学习 xué xí
    adapt 适应 shì yìng
    expert systems 专家系统 zhuān jiā xì tǒng
    natural language processing 自然语言处理 zì rán yǔ yán chǔ lǐ
    self-driving cars 自动驾驶汽车 zì dòng jià shǐ qì chē
    knowledge base 知识库 zhī shí kù
    rule base 规则库 guī zé kù
    inference engine 推理引擎 tuī lǐ yǐn qíng
    user interface 用户界面 yòng hù jiè miàn
    Machine learning 机器学习 jī qì xué xí
    narrow AI 弱人工智能 ruò rén gōng zhì néng
    general AI 通用人工智能 tōng yòng rén gōng zhì néng
    strong AI 强人工智能 qiǎng rén gōng zhì néng
    6.3

    Exam tips

    • Learn the control loop: a sensor measures a quantity → the microprocessor compares it with a stored value → an actuator takes action; then the loop repeats.
    • Do not confuse the parts: a sensor sends data in; an actuator causes movement out.
    • A robot follows programmable instructions and cannot make its own decisions when something unexpected happens.
    • AI simulates human thinking: it collects data and rules, reasons, draws conclusions, and can learn and adapt.
    • Know the AI levels: narrow (one task; all AI today), general (any human task), strong (self-aware; does not exist yet).
  • 7 Algorithm design and problem-solving
    Syllabus
    Candidates should be able to: Notes and guidance
    1 Understand the program development life cycle, limited to: analysis, design, coding and testing • Including identifying each stage and performing these tasks for each stage: – analysis: abstraction, decomposition of the problem, identification of the problem and requirements – design: decomposition, structure diagrams, flowcharts, pseudocode – coding: writing program code and iterative testing – testing: testing program code with the use of test data
    2 (a) Understand that every computer system is made up of sub-systems, which are made up of further sub-systems (b) Understand how a problem can be decomposed into its component parts • Including: – inputs – processes – outputs – storage
    (c) Use different methods to design and construct a solution to a problem • Including: – structure diagrams – flowcharts – pseudocode
    3 Explain the purpose of a given algorithm • Including: – stating the purpose of an algorithm – describing the processes involved in an algorithm
    4 Understand standard methods of solution • Limited to: – linear search – bubble sort – totalling – counting – finding maximum, minimum and average values
    5 (a) Understand the need for validation checks to be made on input data and the different types of validation check • Including: – range check – length check – type check – presence check – format check – check digit
    (b) Understand the need for verification checks to be made on input data and the different types of verification check • Including: – visual check – double entry check
    6 Suggest and apply suitable test data • Limited to: – normal – abnormal – extreme – boundary • Extreme data is the largest/smallest acceptable value • Boundary data is the largest/smallest acceptable value and the corresponding smallest/largest rejected value
    7 Complete a trace table to document a dry-run of an algorithm • Including, at each step in an algorithm: – variables – outputs – user prompts
    8 Identify errors in given algorithms and suggest ways of correcting these errors
    9 Write and amend algorithms for given problems or scenarios, using: pseudocode, program code and flowcharts • Precision is required when writing algorithms, e.g. x > y is acceptable but x is greater than y is not acceptable • See section 4 for flowchart symbols • See section 4 for pseudocode

    Source: Cambridge International syllabus

    7.1

    The program development life cycle

    The program development life cycle 程序开发生命周期 is the set of stages used to make a program. There are four stages.

    A programmer typing code at a computer
    Software is written by programmers, who follow the development life cycle
    Stage What you do
    analysis 分析 study the problem and work out what is needed
    design 设计 plan how the program will work
    coding 编码 write the program code and test it as you go
    testing 测试 run the finished program with test data to find errors
    Four stages in a row — analysis, design, coding, testing — with an arrow feeding back from testing to design
    The four stages of program development; testing feeds back to fix and refine the design
    A program flowchart with process boxes and decision diamonds
    A program flowchart sets out the steps and decisions of a program during the design stage

    Analysis

    In analysis you understand the problem. Two key skills help:

    • abstraction 抽象 — keep only the important details and ignore the rest;
    • decomposition 分解 — break a big problem into smaller, easier parts.

    Design

    In design you plan the solution, often using decomposition. You can show the parts as sub-systems 子系统 in a structure diagram 结构图 (a chart that splits a system into smaller boxes).

    Coding and testing

    In coding you write the program code. You use iterative testing 迭代测试 — test small parts again and again as you build them. In testing you run the whole program with test data 测试数据 to check it works.

    Vocabulary Train
    English Chinese Pinyin
    program development life cycle 程序开发生命周期 chéng xù kāi fā shēng mìng zhōu qī
    analysis 分析 fēn xī
    design 设计 shè jì
    coding 编码 biān mǎ
    testing 测试 cè shì
    abstraction 抽象 chōu xiàng
    decomposition 分解 fēn jiě
    sub-systems 子系统 zi xì tǒng
    structure diagram 结构图 jié gòu tú
    iterative testing 迭代测试 dié dài cè shì
    test data 测试数据 cè shì shù jù
    7.2

    Design tools

    You can plan a solution in three main ways.

    • a structure diagram — shows the parts of a system and how they fit together;
    • a flowchart 流程图 — a diagram using boxes and arrows to show the steps in order;
    • pseudocode 伪代码 — steps written in simple, code-like English (not a real language).
    A flowchart for adding the numbers 1 to n, with start/end, input/output, process and decision symbols, plus a key naming each shape
    A flowchart for the sum algorithm, using the standard symbols (start/end, input/output, process, decision)
    Vocabulary Train
    English Chinese Pinyin
    flowchart 流程图 liú chéng tú
    pseudocode 伪代码 wěi dài mǎ
    7.3

    Algorithms

    Bubble sort, pass by pass

    An algorithm 算法 is a set of steps, in the right order, that solves a problem. Every algorithm can be split into three parts:

    • input 输入 — the data that goes in;
    • processing 处理 — the work done on the data;
    • output 输出 — the result that comes out.

    This is called decomposition into inputs, processes and outputs. For example, for "find the average of three marks": the inputs are the three marks; the processing is adding them and dividing by 3; the output is the average.

    Three boxes — INPUT (the 3 marks), PROCESS (add them, divide by 3), OUTPUT (the average) — joined by arrows
    Every algorithm decomposes into input, processing and output — here, finding the average of three marks
    Vocabulary Train
    English Chinese Pinyin
    algorithm 算法 suàn fǎ
    input 输入 shū rù
    processing 处理 chǔ lǐ
    output 输出 shū chū
    7.4

    Validation and verification

    When data is entered, you check it to reduce mistakes.

    Validation 验证 checks that the data is sensible and follows the rules. It cannot check that the data is true, only that it is allowed.

    Validation check What it checks
    range check 范围检查 the value is between a lowest and highest allowed value
    length check 长度检查 the number of characters is allowed (e.g. a password ≥ 8)
    type check 类型检查 the data is the right type (e.g. a number, not letters)
    presence check 存在性检查 something has actually been entered (not left blank)
    format check 格式检查 the data is in the right pattern (e.g. a date as dd/mm/yyyy)
    check digit 校验码 an extra digit confirms a number was entered correctly

    Verification 核实 checks that data was copied or entered correctly (no mistakes while typing it in). Two methods:

    • visual check 目视检查 — a person compares the typed data with the original;
    • double entry 双重输入 — the data is entered twice and the two copies are compared.
    Vocabulary Train
    English Chinese Pinyin
    validation 验证 yàn zhèng
    range check 范围检查 fàn wéi jiǎn chá
    length check 长度检查 cháng dù jiǎn chá
    type check 类型检查 lèi xíng jiǎn chá
    presence check 存在性检查 cún zài xìng jiǎn chá
    format check 格式检查 gé shì jiǎn chá
    check digit 校验码 jiào yàn mǎ
    verification 核实 hé shí
    visual check 目视检查 mù shì jiǎn chá
    double entry 双重输入 shuāng chóng shū rù
    7.5

    Trace tables

    A trace table 追踪表 records the value of each variable as an algorithm runs, step by step. It helps you:

    A trace table with columns count, total, output
    A trace table records each variable's value as the program runs
    • check that an algorithm works correctly;
    • work out what an algorithm does by following it with given data.

    Example: trace this algorithm with the input 5.

    INPUT n
    total ← 0
    FOR i ← 1 TO n
        total ← total + i
    NEXT i
    OUTPUT total
    
    i total OUTPUT
    1 1
    2 3
    3 6
    4 10
    5 15 15

    The trace shows the algorithm adds up 1 to n. With input 5 the output is 15.

    Worked example. Trace this algorithm and give the output.

    x ← 20
    count ← 0
    WHILE x > 1
        x ← x DIV 2
        count ← count + 1
    ENDWHILE
    OUTPUT count
    

    DIV gives only the whole-number part of a division. Take one row per pass: x becomes 10 (count 1), then 5 (count 2), then 2 (count 3), then 1 (count 4). Now x > 1 is false, so the loop stops and the output is 4. Two habits protect these marks: test the condition before each pass rather than after, and write a new row for every pass - trying to hold the values in your head is what makes traces go wrong.

    Explore

    A trace table

    Step through the loop and fill in the trace table, one row per pass.

    Vocabulary Train
    English Chinese Pinyin
    trace table 追踪表 zhuī zōng biǎo
    7.6

    Test data

    Test data is data you use to test a program. There are four types you must know.

    Type Meaning Example (age 0–120 allowed)
    normal 正常数据 sensible data that should be accepted 25
    abnormal 异常数据 wrong data that should be rejected -4 or "cat"
    extreme 极端数据 the largest and smallest values still allowed 0 and 120
    boundary 边界数据 the values on each side of a limit (one allowed, one not) 120 and 121
    Vocabulary Train
    English Chinese Pinyin
    normal 正常数据 zhèng cháng shù jù
    abnormal 异常数据 yì cháng shù jù
    extreme 极端数据 jí duān shù jù
    boundary 边界数据 biān jiè shù jù
    7.7

    Standard methods of solution

    You must know these common algorithms.

    Linear search

    A linear search 线性查找 checks each item in a list, one by one, until it finds the value it wants or reaches the end.

    found ← FALSE
    FOR i ← 0 TO 9
        IF list[i] = searchValue THEN
            found ← TRUE
        ENDIF
    NEXT i
    OUTPUT found
    
    A list of eight numbers being scanned left to right, searching for 5; the first four do not match and the fifth is found
    Linear search checks each item in turn from the start until it finds the value

    Bubble sort

    A bubble sort 冒泡排序 puts a list in order. It compares each pair of side-by-side items and swaps them if they are in the wrong order. It repeats this until no more swaps are needed.

    FOR i ← 0 TO 8
        IF list[i] > list[i + 1] THEN
            temp ← list[i]
            list[i] ← list[i + 1]
            list[i + 1] ← temp
        ENDIF
    NEXT i
    
    A list where the first pair 5 and 2 is out of order, shown swapping to 2 and 5, with a note to repeat for each pair
    Bubble sort compares each side-by-side pair and swaps them if they are out of order, repeating until sorted

    Totalling and counting

    • totalling 求和 — keep adding values to a running total (total ← total + value).
    • counting 计数 — add 1 to a counter each time something happens (count ← count + 1).

    Maximum, minimum and average

    • to find the maximum 最大值: keep the largest value seen so far.
    • to find the minimum 最小值: keep the smallest value seen so far.
    • to find the average 平均值: divide the total by how many values there are.
    total ← 0
    FOR i ← 0 TO 9
        total ← total + list[i]
    NEXT i
    average ← total / 10
    OUTPUT average
    
    Vocabulary Train
    English Chinese Pinyin
    linear search 线性查找 xiàn xìng chá zhǎo
    bubble sort 冒泡排序 mào pào pái xù
    totalling 求和 qiú hé
    counting 计数 jì shù
    maximum 最大值 zuì dà zhí
    minimum 最小值 zuì xiǎo zhí
    average 平均值 píng jūn zhí
    7.8

    Exam tips

    • Learn the four life-cycle stages: analysis → design → coding → testing. Abstraction keeps only the important details; decomposition breaks a problem into smaller parts.
    • Validation checks data is sensible (range, length, type, presence, format checks); verification checks it was copied correctly (a visual check or double entry).
    • Learn the four test-data types: normal (accepted), abnormal (rejected), extreme (the largest/smallest still allowed), boundary (the values either side of a limit).
    • To work out what an algorithm does, fill in a trace table — write down every variable's value at each step.
    • Know the standard algorithms: linear search (check each item in turn) and bubble sort (swap side-by-side pairs until no swaps are needed).
  • 8 Programming
    8.1

    Variables and constants

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Declare and use variables and constants
    2 Understand and use basic data types • Including: – integer – real – char – string – Boolean
    3 Understand and use input and output
    4 (a) Understand and use the concept of sequence
    (b) Understand and use the concept of selection • Including: – IF statements – CASE statements
    (c) Understand and use the concept of iteration • Including: – count-controlled loops – pre-condition loops – post-condition loops
    (d) Understand and use the concepts of totalling and counting
    (e) Understand and use the concept of string handling • Including: – length – substring – upper – lower • The first character of the string can be position zero or one
    (f) Understand and use arithmetic, relational and logical operators • Arithmetic, limited to: – + – – – / – * – ^ (raised to power of) – MOD – DIV • Relational, limited to: – = – < – <= – > – >= – <> (not equal to) • Logical, limited to: – AND – OR – NOT
    5 Understand and use nested statements • Including nested selection and iteration • Candidates will not be required to write more than three levels of nested statements
    6 (a) Understand what is meant by procedures, functions and parameters (b) Define and use procedures and functions, with or without parameters (c) Understand and use local and global variables • Procedures and functions may have up to three parameters
    7 Understand and use library routines • Including: – MOD – DIV – ROUND – RANDOM
    8 Understand how to create a maintainable program • Including appropriate use of: – meaningful identifiers – the commenting feature provided by the programming language – procedures and functions – relevant and appropriate commenting of syntax • Use meaningful identifiers for: – variables – constants – arrays – procedures and functions

    Source: Cambridge International syllabus

    A variable 变量 is a named store that holds a value which can change while the program runs. A constant 常量 is a named store whose value is fixed and does not change.

    A variable named age holding the value 16
    A variable is a named store whose value can change
    Lines of program code on a screen
    Variables and constants are named stores for values, set in the program's code

    You should declare 声明 them (say their name and type) before use:

    DECLARE score : INTEGER
    DECLARE name : STRING
    CONSTANT Pi = 3.142
    
    Two RAM memory modules
    While a program runs, its variables are held in the computer's memory (RAM)

    Use a constant for a value that never changes (like Pi), so it is set in one place and is easy to read.

    Explore

    Variables and assignment

    Step through the lines and watch each variable take its new value.

    Vocabulary Train
    English Chinese Pinyin
    variable 变量 biàn liàng
    constant 常量 cháng liàng
    declare 声明 shēng míng
    8.1

    Data types

    A data type 数据类型 says what kind of value a variable holds. You must know five basic types.

    Data types: integer (7), real (3.5), char ('A'), string ("hello"), boolean (true/false)
    The basic data types: integer, real, char, string and boolean
    Type Holds Example
    integer 整数 a whole number 42, -7
    real 实数 a number with a decimal point 3.14, -0.5
    char 字符 a single character 'A', '?'
    string 字符串 a sequence of characters "Hello"
    Boolean 布尔值 one of two values TRUE or FALSE
    Vocabulary Train
    English Chinese Pinyin
    data type 数据类型 shù jù lèi xíng
    integer 整数 zhěng shù
    real 实数 shí shù
    char 字符 zì fú
    string 字符串 zì fú chuàn
    Boolean 布尔值 bù ěr zhí
    8.1

    Input and output

    Input 输入 reads a value from the user. Output 输出 shows a value on the screen.

    OUTPUT "What is your name?"
    INPUT name
    OUTPUT "Hello ", name
    
    Vocabulary Train
    English Chinese Pinyin
    input 输入 shū rù
    output 输出 shū chū
    8.1

    The three basic structures

    Every program is built from three control structures.

    Three small flowcharts: sequence (boxes in a line), selection (a test branching two ways), and iteration (a test with a body that loops back)
    The three control structures: sequence runs steps in order, selection chooses a branch, iteration repeats a body

    Sequence

    Sequence 顺序 means the steps run one after another, in order, from top to bottom.

    INPUT length
    INPUT width
    area ← length * width
    OUTPUT area
    

    Selection

    Selection 选择 chooses which steps to run, based on a condition. Use an IF statement, or a CASE statement when there are many choices.

    IF score >= 50 THEN
        OUTPUT "Pass"
    ELSE
        OUTPUT "Fail"
    ENDIF
    
    CASE OF grade
        'A' : OUTPUT "Excellent"
        'B' : OUTPUT "Good"
        OTHERWISE : OUTPUT "Keep trying"
    ENDCASE
    

    Iteration

    Iteration 迭代 (a loop 循环) repeats steps. There are three kinds.

    A count-controlled loop 计数循环 repeats a fixed number of times:

    FOR i ← 1 TO 5
        OUTPUT "Hello"
    NEXT i
    

    A pre-condition loop 前测循环 checks the condition before each repeat, so it may run zero times:

    WHILE answer <> "stop" DO
        INPUT answer
    ENDWHILE
    

    A post-condition loop 后测循环 checks the condition after each repeat, so it always runs at least once:

    REPEAT
        INPUT password
    UNTIL password = "secret"
    
    Two loop flowcharts: WHILE tests the condition before the body; REPEAT runs the body first and tests after
    A pre-condition (WHILE) loop tests before the body, so it may run zero times; a post-condition (REPEAT) loop tests after, so it runs at least once
    Explore

    How an IF … ELSE IF ladder decides

    The conditions are tested top to bottom; the FIRST one that is true runs and the rest are skipped. Slide the score and watch which branch lights up.

    Explore

    Selection

    Change the value and watch which branch runs — selection in action.

    Vocabulary Train
    English Chinese Pinyin
    sequence 顺序 shùn xù
    selection 选择 xuǎn zé
    iteration 迭代 dié dài
    loop 循环 xún huán
    count-controlled loop 计数循环 jì shù xún huán
    pre-condition loop 前测循环 qián cè xún huán
    post-condition loop 后测循环 hòu cè xún huán
    8.1

    Totalling and counting

    • totalling 求和 — keep adding values to a running total: total ← total + value.
    • counting 计数 — add 1 to a counter each time: count ← count + 1.
    count = count + 1 counts up by 1; total = total + value adds to a running total
    A counter counts up by 1; a total builds a running sum
    A trace table following a loop over the values 4, 7 and 5: total goes 0, 4, 11, 16 while count goes 0, 1, 2, 3
    A trace table follows a totalling and counting loop pass by pass
    total ← 0
    FOR i ← 1 TO 10
        INPUT mark
        total ← total + mark
    NEXT i
    OUTPUT total
    

    Worked example. A program must read 5 marks, then output the total and the average.

    total ← 0
    FOR i ← 1 TO 5
        INPUT mark
        total ← total + mark
    NEXT i
    average ← total / 5
    OUTPUT total, average
    

    Two lines carry the marks. total ← 0 must sit before the loop: put it inside and the total resets on every pass, so the program outputs only the last mark. And average ← total / 5 must sit after the loop, because the total is not complete until every mark has been added. Initialise before, calculate after - that ordering is what the question is really testing.

    Vocabulary Train
    English Chinese Pinyin
    totalling 求和 qiú hé
    counting 计数 jì shù
    8.1

    Operators

    Arithmetic operators

    Operator Meaning
    + - * / add, subtract, multiply, divide
    ^ raised to the power of
    MOD the remainder 余数 after division
    DIV the whole-number part of a division

    For example, 17 MOD 5 is 2, and 17 DIV 5 is 3.

    Relational operators

    These compare two values and give a Boolean result: =, <, <=, >, >=, and <> (not equal to).

    Logical operators

    These join conditions: AND (both must be true), OR (at least one must be true), NOT (reverses true/false).

    Three families of operators: arithmetic operators like plus and times give a number, relational operators like less-than compare and give true or false, logical operators AND OR NOT join conditions
    The three families of operators: arithmetic, relational and logical
    IF age >= 13 AND age <= 19 THEN
        OUTPUT "Teenager"
    ENDIF
    
    Vocabulary Train
    English Chinese Pinyin
    remainder 余数 yú shù
    8.1

    String handling

    A string is made of characters. Useful operations:

    • length 长度 — the number of characters in the string;
    • substring 子串 — a smaller part taken from the string;
    • upper case 大写 — change letters to capitals;
    • lower case 小写 — change letters to small letters.
    name ← "Computer"
    OUTPUT LENGTH(name)          // 8
    OUTPUT SUBSTRING(name, 1, 4) // "Comp"
    OUTPUT UCASE(name)           // "COMPUTER"
    OUTPUT LCASE(name)           // "computer"
    

    (The first character may be counted as position 0 or position 1, depending on the language.)

    Explore

    Index and slice a string

    Every character has a position (index). A slice takes the characters from the start index up to — but not including — the end index, just like SUBSTRING does.

    Vocabulary Train
    English Chinese Pinyin
    substring 子串 zi chuàn
    upper case 大写 dà xiě
    lower case 小写 xiǎo xiě
    length 长度 cháng dù
    8.1

    Nested statements

    A nested statement 嵌套语句 is one control structure placed inside another. You can nest selection and iteration.

    FOR i ← 1 TO 3
        IF i MOD 2 = 0 THEN
            OUTPUT i, " is even"
        ELSE
            OUTPUT i, " is odd"
        ENDIF
    NEXT i
    

    You will not have to write more than three levels of nesting.

    Vocabulary Train
    English Chinese Pinyin
    nested statement 嵌套语句 qiàn tào yǔ jù
    8.1

    Procedures and functions

    To avoid repeating code, you can break a program into named blocks.

    • A procedure 过程 is a named block of code that does a task. You run it with CALL.
    • A function 函数 is like a procedure, but it returns a value back to where it was called.

    A parameter 参数 is a value passed into a procedure or function (up to three parameters).

    PROCEDURE Greet(personName : STRING)
        OUTPUT "Hello ", personName
    ENDPROCEDURE
    
    CALL Greet("Sam")
    
    FUNCTION Square(n : INTEGER) RETURNS INTEGER
        RETURN n * n
    ENDFUNCTION
    
    answer ← Square(5)   // answer is 25
    

    Local and global variables

    • A local variable 局部变量 is declared inside a procedure or function. It can only be used there.
    • A global variable 全局变量 is declared in the main program. It can be used anywhere.

    Local variables are safer, because they cannot be changed by mistake from another part of the program.

    Vocabulary Train
    English Chinese Pinyin
    procedure 过程 guò chéng
    function 函数 hán shù
    parameter 参数 cān shù
    local variable 局部变量 jú bù biàn liàng
    global variable 全局变量 quán jú biàn liàng
    8.1

    Library routines

    A library routine 库程序 is a ready-made piece of code you can use. You must know these:

    Routine What it does
    MOD gives the remainder of a division
    DIV gives the whole-number part of a division
    ROUND rounds a real number to a number of decimal places
    RANDOM gives a random number
    Vocabulary Train
    English Chinese Pinyin
    library routine 库程序 kù chéng xù
    8.1

    Writing a maintainable program

    A maintainable 可维护的 program is easy for other people to read and change later. To make one:

    • use meaningful identifiers 有意义的标识符 — clear names for variables, constants, arrays, procedures and functions (totalScore, not x);
    • add comments 注释 to explain what parts of the code do;
    • use procedures and functions to split the work into small blocks.
    Vocabulary Train
    English Chinese Pinyin
    maintainable 可维护的 kě wéi hù de
    meaningful identifiers 有意义的标识符 yǒu yì yì de biāo shí fú
    comments 注释 zhù shì
    8.2

    Arrays

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Declare and use one-dimensional (1D) and two-dimensional (2D) arrays
    2 Understand the use of arrays • Including the use of variables as indexes in arrays
    3 Write values into, and read values from, an array using iteration • The first index can be zero or one • Including nested iteration

    Source: Cambridge International syllabus

    An array 数组 is a single variable that holds many values of the same type, found by an index 索引 (a position number).

    One-dimensional arrays

    A one-dimensional (1D) array 一维数组 is like a single list.

    DECLARE scores : ARRAY[1:5] OF INTEGER
    scores[1] ← 90
    scores[2] ← 75
    OUTPUT scores[1]
    
    Five boxes in a row labelled with index 1 to 5, holding values, with the value at index 2 highlighted as 75
    A 1D array holds many values in one variable; each is found by its index

    You can use a loop to fill or read an array:

    FOR i ← 1 TO 5
        INPUT scores[i]
    NEXT i
    

    Two-dimensional arrays

    A two-dimensional (2D) array 二维数组 is like a table with rows and columns. It uses two indexes.

    DECLARE grid : ARRAY[1:3, 1:3] OF INTEGER
    grid[1, 1] ← 5
    grid[2, 3] ← 8
    
    A 3 by 3 grid with numbered rows and columns; the cell at row 2, column 3 is highlighted and labelled as grid row 2 column 3
    A 2D array is a table; each value is found by two indexes, [row, column]

    You read a 2D array with a loop inside a loop (nested iteration).

    Explore

    Arrays

    Pick a position to read one element — how a list (array) is indexed.

    Vocabulary Train
    English Chinese Pinyin
    array 数组 shù zǔ
    index 索引 suǒ yǐn
    one-dimensional (1D) array 一维数组 yī wéi shù zǔ
    two-dimensional (2D) array 二维数组 èr wéi shù zǔ
    8.3

    File handling

    Syllabus
    Candidates should be able to: Notes and guidance
    1 Understand the purpose of storing data in a file to be used by a program
    2 Open, close and use a file for reading and writing • Including: – read and write single items of data – read and write a line of text

    Source: Cambridge International syllabus

    A program can store data in a file 文件 so it is kept after the program stops. You must open the file, use it, then close it.

    OPENFILE "data.txt" FOR WRITE
    WRITEFILE "data.txt", "Hello"
    CLOSEFILE "data.txt"
    
    OPENFILE "data.txt" FOR READ
    READFILE "data.txt", line
    CLOSEFILE "data.txt"
    

    You can read and write single items of data or a whole line of text. Always close a file when you have finished with it.

    Vocabulary Train
    English Chinese Pinyin
    file 文件 wén jiàn
    8.3

    Exam tips

    • A variable can change while the program runs; a constant is fixed. Learn the five data types: integer, real, char, string, Boolean.
    • Every program is built from three structures: sequence, selection (IF / CASE), and iteration (loops).
    • A WHILE loop tests before the body, so it may run zero times; a REPEAT … UNTIL loop tests after, so it always runs at least once.
    • MOD gives the remainder and DIV the whole-number part of a division: 17 MOD 5 is 2, 17 DIV 5 is 3.
    • A function returns a value; a procedure does not. A local variable works only inside its block; a global one works anywhere.
  • 9 Databases
    Syllabus
    Candidates should be able to: Notes and guidance
    1 Define a single-table database from given data storage requirements • Including: – fields – records – validation
    2 Suggest suitable basic data types • Including: – text/alphanumeric – character – Boolean – integer – real – date/time
    3 Understand the purpose of a primary key and identify a suitable primary key for a given database table
    4 Read, understand and complete structured query language (SQL) scripts to query data stored in a single database table • Limited to: – SELECT – FROM – WHERE – ORDER BY DESCENDING – ORDER BY ASCENDING – SUM – COUNT – AND – OR • Identifying the output given by an SQL statement that will query the given contents of a database table

    Source: Cambridge International syllabus

    9.1

    What is a database?

    A database 数据库 is an organised store of data, kept so that it is easy to search, sort and update. At IGCSE you work with a single-table database 单表数据库 — all the data is held in one table.

    Rows of small labelled drawers in a library card catalogue
    A library card catalogue is a database on paper — records you can search and sort by index
    Rows of servers in a data centre
    Large modern databases are stored on servers in data centres
    Vocabulary Train
    English Chinese Pinyin
    database 数据库 shù jù kù
    single-table database 单表数据库 dān biǎo shù jù kù
    9.2

    Records and fields

    A database table is made of records and fields.

    • A record 记录 is one row in the table — all the data about one thing (for example one student).
    • A field 字段 is one column in the table — one piece of data that every record has (for example "First name").
    StudentID FirstName DateOfBirth FormClass FeesPaid
    1 Amy 14/03/2009 10A TRUE
    2 Ben 02/11/2008 10B FALSE

    Here each row is a record, and each column is a field.

    The Student table with each row labelled as a record, each column as a field, and the StudentID column highlighted as the primary key
    Each row is a record and each column is a field; the primary key (StudentID) is unique for every record
    Vocabulary Train
    English Chinese Pinyin
    record 记录 jì lù
    field 字段 zì duàn
    9.3

    Data types for fields

    Each field stores one data type 数据类型. You choose the type that best fits the data.

    Field types: text (a name), number (an age), date/time (a birthday), boolean (yes/no)
    Field types: text, number, date/time and boolean
    Data type Used for Example
    text/alphanumeric 文本 letters, digits and symbols "10A", "Amy"
    character 字符 a single character 'M'
    Boolean 布尔值 one of two values TRUE / FALSE
    integer 整数 a whole number 42
    real 实数 a number with a decimal point 3.5
    date/time 日期时间 a date or a time 14/03/2009
    Vocabulary Train
    English Chinese Pinyin
    data type 数据类型 shù jù lèi xíng
    text/alphanumeric 文本 wén běn
    character 字符 zì fú
    Boolean 布尔值 bù ěr zhí
    integer 整数 zhěng shù
    real 实数 shí shù
    date/time 日期时间 rì qī shí jiān
    9.4

    The primary key

    A primary key 主键 is a field that holds a unique 唯一的 value for every record. No two records can have the same primary key, so it lets you pick out exactly one record.

    In the table above, StudentID is a good primary key because every student has a different number. A field like FormClass would be a bad primary key, because many students share the same class.

    Vocabulary Train
    English Chinese Pinyin
    primary key 主键 zhǔ jiàn
    unique 唯一的 wéi yī de
    9.5

    Validation in a database

    When data is put into a database, validation 验证 checks make sure it is sensible — for example a range check on an age field, or a presence check so a field is not left empty. (You saw these checks in topic 7.)

    A range check on an age field accepts 16 but rejects 200
    A range check accepts sensible values and rejects the rest
    Vocabulary Train
    English Chinese Pinyin
    validation 验证 yàn zhèng
    9.6

    Structured Query Language (SQL)

    Structured Query Language 结构化查询语言 (SQL) is a language used to query 查询 a database — to pick out the records you want. You must understand and complete SQL scripts.

    SELECT, FROM and WHERE

    • SELECT says which fields to show.
    • FROM says which table to use.
    • WHERE gives a condition 条件, so only matching records are shown.
    An SQL query: SELECT name FROM students WHERE age > 15
    SELECT picks fields, FROM names the table, WHERE sets the condition
    SELECT FirstName, FormClass
    FROM Student
    WHERE FeesPaid = TRUE;
    

    This shows the first name and class of every student who has paid the fees.

    Use * to select all fields:

    SELECT *
    FROM Student
    WHERE FormClass = '10A';
    

    ORDER BY

    ORDER BY sorts the results. Use ASC for ascending 升序 (smallest first, A→Z) or DESC for descending 降序 (largest first, Z→A).

    SELECT FirstName, DateOfBirth
    FROM Student
    ORDER BY DateOfBirth ASC;
    

    AND and OR

    Join conditions with AND (both must be true) or OR (at least one must be true).

    SELECT FirstName
    FROM Student
    WHERE FormClass = '10A' AND FeesPaid = FALSE;
    

    SUM and COUNT

    • SUM adds up the values in a number field.
    • COUNT counts how many records match.
    SELECT COUNT(StudentID)
    FROM Student
    WHERE FeesPaid = FALSE;
    

    This counts how many students have not paid. SUM works the same way but adds a number field instead of counting rows.

    Working out the output

    To find the output of an SQL script, read it in this order:

    1. FROM — which table;
    2. WHERE — keep only the records that match the condition;
    3. SELECT — show only the chosen fields;
    4. ORDER BY — put the results in order.
    Four steps in order: FROM (which table), WHERE (keep matching rows), SELECT (show chosen fields), ORDER BY (sort the results)
    Read an SQL query in this order: FROM (which table), WHERE (which rows), SELECT (which fields), ORDER BY (sort)

    Following these steps, you can write down exactly which rows and columns the query returns.

    Worked example. A Book table has the fields Title, Author, Price and InStock. Write a query showing the title and price of every book by Orwell that is in stock, cheapest first.

    SELECT Title, Price
    FROM Book
    WHERE Author = 'Orwell' AND InStock = TRUE
    ORDER BY Price ASC;
    

    Build it in the reading order: FROM names the table; WHERE keeps only the matching records, and because there are two conditions they need AND; SELECT shows only the two fields asked for; ORDER BY … ASC sorts them. Text values go in quotes, and only the fields the question asks for belong in SELECT - adding Author just because you filtered on it is the commonest way to lose a mark here.

    Explore

    SELECT … WHERE

    Step through a query: WHERE filters rows, SELECT picks columns.

    Vocabulary Train
    English Chinese Pinyin
    structured query language 结构化查询语言 jié gòu huà chá xún yǔ yán
    query 查询 chá xún
    condition 条件 tiáo jiàn
    ascending 升序 shēng xù
    descending 降序 jiàng xù
    9.7

    Exam tips

    • A record is a row (all the data about one thing); a field is a column (one item that every record has).
    • A primary key must be unique for every record, so it picks out exactly one record (StudentID, not FormClass).
    • Learn the SQL parts: SELECT (which fields), FROM (which table), WHERE (the condition), ORDER BY (sort, ASC or DESC).
    • Read a query in the order FROM → WHERE → SELECT → ORDER BY to work out its output.
    • COUNT counts the matching records; SUM adds up a number field.
  • 10 Boolean logic
    Syllabus
    Candidates should be able to: Notes and guidance
    1 Identify and use the standard symbols for logic gates • See section 4 for logic gate symbols
    2 Define and understand the functions of logic gates • Including: – NOT – AND – OR – NAND – NOR – XOR (EOR) – the binary output produced from all the possible binary inputs • NOT is a single input gate • All other gates are limited to two inputs
    3 (a) Use logic gates to create given logic circuits from a: (i) problem statement (ii) logic expression (iii) truth table (b) Complete a truth table from a: (i) problem statement (ii) logic expression (iii) logic circuit • Circuits must be drawn for the statement given, without simplification • Logic circuits will be limited to a maximum of three inputs and one output • An example truth table with three inputs, for completion: A B C Output | 0 0 0 | 0 0 1 | 0 1 0 | 0 1 1 | 1 0 0 | 1 0 1 | 1 1 0 | 1 1 1
    (c) Write a logic expression from a: (i) problem statement (ii) logic circuit (iii) truth table

    Source: Cambridge International syllabus

    10.1

    What is Boolean logic?

    Boolean logic 布尔逻辑 works with values that are either true or false. In electronics these are shown as 1 (true) and 0 (false). A logic gate 逻辑门 takes one or more of these inputs and gives one output, following a fixed rule.

    A truth table 真值表 lists every possible set of inputs and the output for each. You build it by writing out all the input combinations.

    An electronic circuit built on a breadboard
    Logic gates are built from electronic circuits like this one, where each gate switches on 1s and 0s
    Vocabulary Train
    English Chinese Pinyin
    Boolean logic 布尔逻辑 bù ěr luó jí
    logic gate 逻辑门 luó jí mén
    truth table 真值表 zhēn zhí biǎo
    10.2

    The six logic gates

    A logic circuit in action: the half adder

    You must know six gates. NOT has one input; all the others have two inputs (A and B).

    The six logic gate symbols — NOT, AND, OR, NAND, NOR and XOR — each with labelled inputs and one output
    The six logic gates. A small circle on the output means the result is inverted (NOT, NAND, NOR)
    Three small black computer chips with rows of metal pins, each printed with a code
    A real logic chip: inside are logic gates like the ones on this page

    NOT gate

    The NOT gate 非门 reverses the input. Output is 1 when the input is 0.

    A Output
    0 1
    1 0

    AND gate

    The AND gate 与门 gives output 1 only when both inputs are 1.

    Truth table for AND: only 1 AND 1 gives 1
    AND outputs 1 only when both inputs are 1
    A B Output
    0 0 0
    0 1 0
    1 0 0
    1 1 1

    OR gate

    The OR gate 或门 gives output 1 when at least one input is 1.

    Truth table for OR: 0 OR 0 gives 0, the rest give 1
    OR outputs 1 when either input is 1
    A B Output
    0 0 0
    0 1 1
    1 0 1
    1 1 1

    NAND gate

    The NAND gate 与非门 is AND followed by NOT. The output is the opposite of AND.

    A B Output
    0 0 1
    0 1 1
    1 0 1
    1 1 0

    NOR gate

    The NOR gate 或非门 is OR followed by NOT. The output is the opposite of OR.

    A B Output
    0 0 1
    0 1 0
    1 0 0
    1 1 0

    XOR gate

    The XOR gate 异或门 (exclusive OR) gives output 1 when the inputs are different.

    A B Output
    0 0 0
    0 1 1
    1 0 1
    1 1 0
    Explore

    The logic gates

    Switch the inputs and pick a gate to see its output — AND, OR, NOT, NAND, NOR, XOR.

    Vocabulary Train
    English Chinese Pinyin
    NOT gate 非门 fēi mén
    AND gate 与门 yǔ mén
    OR gate 或门 huò mén
    NAND gate 与非门 yǔ fēi mén
    NOR gate 或非门 huò fēi mén
    XOR gate 异或门 yì huò mén
    10.3

    Logic expressions

    A logic expression 逻辑表达式 writes a circuit using letters and gate words. The usual way to write the gates:

    Gate In words
    NOT A NOT A
    A AND B A AND B
    A OR B A OR B

    For example, the expression (A AND B) OR (NOT C) means: do A AND B, do NOT C, then OR the two results together.

    The expression X equals A AND B OR NOT C drawn as a circuit: an AND gate takes A and B, a NOT gate takes C, and an OR gate combines the two into output X
    The expression X = (A AND B) OR (NOT C) drawn as a logic circuit
    Explore

    Truth tables

    Build the truth table for AND, OR, XOR and NOT — the logic behind every expression.

    Vocabulary Train
    English Chinese Pinyin
    logic expression 逻辑表达式 luó jí biǎo dá shì
    10.4

    Logic circuits

    A logic circuit 逻辑电路 joins gates together to carry out a task. The output of one gate can become the input of another. At IGCSE a circuit has up to three inputs and one output.

    A logic circuit: an AND gate taking inputs A and B feeds one input of an OR gate whose other input is C, giving output X
    Building the circuit for X = (A AND B) OR C — the AND gate's output feeds the OR gate

    You must be able to move between four forms:

    • a problem statement 问题陈述 (a description in words),
    • a logic expression,
    • a logic circuit,
    • a truth table.

    From a problem statement to a circuit

    Read the statement and pick out the conditions and the logic words (and, or, not). For example:

    An alarm (X) sounds when the door is open (A) AND the system is switched on (B).

    This is X = A AND B, so you draw one AND gate with inputs A and B.

    Completing a truth table from a circuit or expression

    To fill in a truth table:

    1. Write all the input combinations. For three inputs there are 8 rows (000 up to 111).
    2. Work out each gate's output in order, one column at a time.
    3. The last column is the final output.
    Three inputs give two times two times two equals eight rows; the eight combinations are listed by counting up in binary from 000 to 111, with the last column flipping every row
    Three inputs give eight rows: every combination counted in binary
    A B C A AND B (A AND B) OR C
    0 0 0 0 0
    0 0 1 0 1
    0 1 0 0 0
    0 1 1 0 1
    1 0 0 0 0
    1 0 1 0 1
    1 1 0 1 1
    1 1 1 1 1

    Adding a middle "working" column for each gate makes the final output easy to fill in. Always draw the circuit exactly as the statement says, without simplifying it.

    Worked example. Complete the truth table for X = (A AND B) OR (NOT C) for the row A = 1, B = 0, C = 0. Work outwards from the brackets, one gate at a time. First A AND B = 1 AND 0 = 0, because AND needs both inputs to be 1. Next NOT C = NOT 0 = 1. Finally OR the two results: 0 OR 1 = 1. So X = 1. Give each intermediate gate its own column rather than trying to do the whole expression in one step: with three inputs there are $2^3 = 8$ rows, and those intermediate columns are where the method marks live even if the final answer slips.

    Vocabulary Train
    English Chinese Pinyin
    logic circuit 逻辑电路 luó jí diàn lù
    problem statement 问题陈述 wèn tí chén shù
    10.5

    Exam tips

    • Learn all six gates and their truth tables: NOT, AND, OR, NAND (NOT AND), NOR (NOT OR), XOR (output 1 when the inputs are different).
    • Build a truth table with all input rows (2 inputs → 4 rows, 3 inputs → 8), counting up in binary, and add a working column for each gate.
    • Turn a problem statement into a logic expression by picking out the AND / OR / NOT words, then draw it exactly as written — do not simplify it.
    • NAND and NOR give the opposite output to AND and OR; a small circle on a gate's output means the result is inverted.

Log in or create account

IGCSE & A-Level