GCSE Computer Science: Geraint D. Jones Mark D. Thomas
GCSE Computer Science: Geraint D. Jones Mark D. Thomas
GCSE Computer Science: Geraint D. Jones Mark D. Thomas
2013
Geraint D. Jones
Mark D. Thomas
Disclaimer
This resource is provided to support the teaching and learning of GCSE Computer Science. The materials provide an
introduction to the main concepts of the theory of the subject and should be used in conjunction with other
resources and sound classroom teaching.
It is intended that the resource will be updated periodically due to the evolving nature of the subject. Suggestions as
to how the materials may be developed further are welcome through our feedback system or by sending an e-mail
to: resources @wjec.co.uk
Contents
Computer systems ...................................................................... 4
Data representation ................................................................. 20
Computer system ..................................................................... 35
Networks .................................................................................. 43
The Internet and communications........................................... 53
Algorithms ................................................................................ 62
Programming ............................................................................ 63
Ethical, social, and legal aspects .............................................. 70
I.
Computer systems
CPU
ALU
registers
controller
internal
memory
The CPU (Central Processing Unit) is the main component in a computer for processing data and
instructions. It could be considered as the computing equivalent of the human brain. It is a hardware
device that is made up of many sub components:
controller
ALU: arithmetic/logic unit
registers
internal memory
buses
All of these components have their own specific function. These are discussed in further detail on page 7.
Input devices
An input device allows data, such as text, images, video or sound, to be entered into a computer system.
Some common hardware input devices are shown below:
graphics tablet
mouse
microphone
keyboard
Output devices
There are many outputs created by a computer system. These include printed document, on-screen data,
sound. An output device allows data to be communicated by the computer in a human-friendly form, for
example, sound being output by a speaker. Some common hardware output devices are shown below:
speakers
projector
monitor
printer
Backing storage
This is where data is stored when it is not being actively used, usually for retrieval at a later date. These
are discussed in further detail on pages 15 and 16.
HDMI
USB
USB
audio in
audio out
Software ports
Software ports are also used in computer systems. These are non-physical ports and are completely
different from hardware ports. They allow multiple software applications to use different software ports
on the same physical connection. Software ports
INTERESTING FACT
are discussed in further detail on page 53.
In the TCP/IP protocol, the ports are numbered 1 to
65535. Commonly used ports include port 80, for
HTTP web access and port 25 for SMTP sending email.
Components of the CPU: controller, arithmetic and logic unit (ALU), internal memory,
registers, buses
CPU
ALU
input
device
output
device
control bus
data bus
address bus
RAM
Controller
The controller sends and receives signals from all parts of the computer. This ensures that all processes
take place at the right time and in the correct order. These signals travel along a control bus.
Here is an example of a controller in operation:
KEY DEFINITIONS
Controller: manages the execution of instructions
ALU: processes and manipulates data
Register: fast access temporary data store
Internal memory: fast access memory on the CPU
Bus: connects different parts of the computer
An accumulator is a common example of a register. This is the register used by the ALU to store the results
of its calculations.
Internal memory
Internal memory (sometimes called level 1 cache memory) is fast access temporary storage on the CPU.
Data is moved from the registers to the internal memory when it is not being actively used. Data from
internal memory can then either be written to RAM or called back into the registers for further processing.
This process of using internal memory speeds up the processing of data.
Buses
Buses allow data to be transferred to different parts of the computer. There are three main buses used by
the CPU. Two of these, the address bus and the data bus, are discussed on page 4. The third bus is called
the control bus.
The control bus is used by the controller to send control signals to different parts of the computer.
Explaining the role of the CPU in fetching and executing instructions stored in memory
The fetch-decode-execute cycle
There are three steps to processing instructions given by a currently running program:
1. The next instruction is fetched from memory into the control unit.
2. This instruction is then decoded to determine the action that needs to be carried out.
3. The instruction is executed.
Here is a simplified example of the fetch-decode-execute cycle, where the instruction is to add two
numbers:
Symbol
k
M
G
Multiplier
1,000
1,000,000
1,000,000,000
Power of 10
103
106
109
A typical modern day home computer would have a 2.5 GHz processor. This means the clock speed of the
processor runs at 2,500,000,000 Hz or clock ticks per second.
10
INTERESTING FACT
Most CPUs are cooled using a fan to blow air over their
surface. Liquid cooling systems have been found to be more
effective at cooling CPUs, although the water used in these
systems conducts electricity and can therefore be dangerous.
A computer designer, Seymour Cray, designed a computer
cooling system that used artificial human blood to cool the
CPU, as it does not conduct electricity.
Some computer systems, especially mobile devices, set the clock speed of the CPU lower than its original
design. This results in less power consumption, less heat being produced and will therefore increase the
battery life of the device. This is called underclocking.
Some devices are able to change their own clock speed dynamically. For example, when your computer is
idle, the clock speed may be set at a lower rate than if you were running a CPU intensive program, such as
a computer game.
Number of cores
We assumed on page 7 that each CPU has only one core. However, this isnt always the case, as some
CPUs have multiple cores. You may be familiar with the terms dual-core and quad-core, so what exactly
do these terms mean?
A core is the term used to describe the processing components within the CPU. Multi-core processors
therefore have many processing components within the same CPU. Below is a diagram that illustrates a
number of instructions waiting to be processed in single-core and dual-core CPUs.
Single-core
Instruction
5
Instruction
6
Instruction
7
Instruction
1
Dual-core
Instruction
8
Instruction
1
11
Instruction
2
In a single-core CPU each instruction is processed one after the other, whereas in a dual-core CPU, two
instructions may be processed at the same time. In theory,a dual-core CPU should be able to process
instructions twice as fast as a single-core CPU. However, this isnt always the case as sometimes
Instruction 2 may need the result of Instruction 1 before it can be processed.
On the whole though, a computer running
many programs at the same time will run
faster on a multi-core processor than on a
singlecore processor.
INTERESTING FACT
Many high-end gaming consoles include CPUs with multiple
cores. The Sony Playstation 3 has an 8 core CPU.
Types of processors
There are two main types of processor, namely Reduced Instruction Set Computer (RISC) and Complex
Instruction Set Computer (CISC).
RISC processors can process a limited number of relatively simple instructions. To carry out more complex
commands the problem is broken down into a longer list of simpler instructions. The advantage of this is
that a RISC processor is able to process these simpler instructions quickly. Processing simpler instructions
also requires less circuitry to decode and execute these instructions, which in turn means less power
consumption and therefore less heat being generated.
CISC processors can process a large number of complex instructions. This allows the processor to
understand and carry out complex tasks with only a few instructions. The advantage of this is that a CISC
processor is able to process complex instructions, without having to break them down into many simpler
instructions. Processing complex instructions however requires more circuitry to decode and execute
these instructions, which in turn means more power consumption and therefore more heat being
generated.
12
KEY INFORMATION
Basic Input Output System (BIOS): A low-level
program that handles input and output operations
relating to the keyboard and screen of the system.
It provides an interface between the hardware and
the operating system. One of its primary functions
is loading and executing the bootstrap loader the
program that loads the operating system.
Flash memory
Flash memory is used for the permanent storage of data. However, the data stored in flash memory can
be changed.
13
Flash memory is permanent data is not lost when the power is switched off.
Example: Flash memory can be used for storing the programs such as the BIOS, which is advantageous as
the BIOS can be upgraded.
Cache memory
Cache memory is used for the temporary storage of frequently accessed data and instructions. It consists
of a small number of store locations that can be accessed very quickly by the CPU; it is quicker than RAM.
Cache memory is volatile this means that data is lost when the power is switched off.
Example: Cache memory often stores the next set of instructions that need to be processed by the CPU as
it is an exceedingly fast memory and is located on the processor.
Volatile
Cache memory
ROM
RAM
Flash memory
14
Data can be
changed
Speed
INTERESTING FACT
The first commercial hard disk drives had the
capacity to store approximately 5 MB and were
the size of a dining room table. They were also
called a Winchester Drive.
The time a computer takes to access data stored on secondary storage is longer than the time taken
accessing data from memory.
The most frequently used backing storage media are:
Media
Flash drive
Suitability
Typical capacity
Moving relatively
small files from work
to home
2 GB 64 GB
Backing up a home
computer system
500 MB 4 TB
Storing multimedia
files
650 MB (CD)
9 GB (DVD)
50 GB (Blu-ray)
CD/DVD/Blu-ray disk
Magnetic tape
Backing large
commercial servers on 200 GB 400 GB
multiple tapes
15
Durability
Portability Speed
Technologies such as: optical, magnetic, solid state, storage in the cloud
Optical
Optical storage media uses technology such as lasers.
CD/DVD or Blu-ray disk and if light is reflected
back, then data is read as a 1 and if light is not
reflected back, data is read as a 0. Lasers can be
used to read and write information to a disk.
Magnetic
This technology is used in floppy disks, hard disks and tapes. Data is stored on a magnetic medium, which
can be a disk or a tape, by writing data using a write-head. Data can then be read by the read-head.
Solid state
Solid state technology is used in storage media such as USB flash memory sticks. The technology
is called solid state as it does not have any moving parts, such as a read-head in magnetic
storage. Solid state storage technology is increasingly used to replace both magnetic and
optical storage, especially in mobile devices, where its low power consumption and high speed
access is advantageous.
Storage in the cloud
Storage in the cloud is a contemporary data storage facility
that allows users to store their data on third-party servers.
They can then access that data from many computing
devices.
There are many advantages to this, such as maintenance
tasks, backup and data replication. Purchasing additional
storage devices becomes the responsibility of the cloud
storage service provider.
A disadvantage of storage in the cloud is that an Internet connection is required. Some other
disadvantages include the concern for some organisations that personal data held on a third-party server
could in fact be physically stored in a country where adequate data protection legislation does not exist.
Another disadvantage is that users are solely reliant on the cloud storage provider when it comes to
ensuring that their data is stored safely and can be retrieved at a later date.
16
Human-computer interaction (HCI) is the term used to describe the communication between people and
computer systems. To allow a person and a computer system to communicate, an interface is required,
often called a human-computer interface.
Different interfaces are provided by the operating system and can be identified by the style of
communication they use. Some are entirely text-based whereas others use images to represent different
commands.
Graphical User Interface (GUI)
A GUI is a type of interface that allows users to interact with
a computer system through graphical icons.
GUIs were introduced to help users, especially beginners, use
computer systems as Command Line Interfaces (CLIs) were
found to be difficult.
There are many different features of a graphical user interface. These include:
windows
icons
menus
pointers
assistants/help files/tutorials
favourite settings/change environment/customisation
shortcuts/hot keys
task bar/ribbon bar/tabs/customised toolbar
Here are some of the benefits and drawbacks of a graphical user interface:
Benefits
Intuitive
Easy to navigate
Uses Windows, Icons, Menus and Pointers
No complicated commands
Data between different software applications is
Drawbacks
Requires a large amount of memory
Is relatively processor intensive
Computing experts may find a GUI slower than a
command line interface
GUIs take up a much larger amount of hard disk
17
easily exchanged
Menu driven
This type of interface allows people to interact with a computer system by
presenting the user and allowing them to work through a series of menus. The iPod
Classic is a perfect example of a device that uses a menu driven interface as users
are presented with a menu that contains a list of artists. Having chosen an artist,
another menu appears with a list of albums belonging to that artist. Following this,
another menu is presented with a list of songs belonging to the chosen album.
Here are some of the benefits and drawbacks of a menu driven interface:
Benefits
No need to learn a lot of commands
Intuitive/easy to understand
Easy to navigate
Ideal for beginners everything is in a logical
place/order
No need of expert language to learn
Little processing power needed
Voice-driven
Drawbacks
Irritating if there are too many menu screens to
work through users get annoyed or bored if it
takes too long
Navigating can be a long process
Voice driven interfaces, also called voice recognition, can be used to issue
commands to a computer system and enter data into it. Voice-driven
interface is a popular interface as it is natural for people to communicate in
this way.
Here are some of the benefits and drawbacks of a voice-driven interface:
Benefits
Drawbacks
Speech input is much faster than keyboard input
Background noise interferes with speech
recognition
No need to learn to type
User when they have a speech impediment, sore
Less danger of RSI
throat, cold or a strong accent will not be
Reduces typing mistakes such as spelling/hitting
understood
wrong key
Users with a disability that prevents speech
Keyboard takes up room on the desk
would need to find a different method for input
Users with a disability that prevents typing can
Difficult to keep data input private as people can
use speech input
hear what you are saying
Hands-free advantages can multitask
Words that sound the same, such as too and
Users find talking more natural than typing.
two may not be recognised
18
19
II.
Data representation
Data is made up of raw facts and figures and can be represented in many different forms including text,
numbers, pictures, sounds, video clips. Information can be derived from data when it is processed.
102
100
1
101
10
3
20
100
1
8
Binary
The second counting system that you need to be familiar with is the binary counting systems, also known
as the Base 2 counting system. In order for data to be processed by a computer system, it must be
converted into binary format. This is because computer systems can only store and process Binary digITs,
also known as BITs. A BIT is either a 1 or 0. You may think of this as a light switch, where the switch is
either ON or OFF:
If the switch is ON it is stored as the digit 1.
If the switch is OFF it is stored as the digit 0.
A binary number is a string of BITs, for example 10001010.
27
128
1
26
64
0
25
32
0
24
16
0
23
8
1
22
4
0
21
2
1
20
1
0
The binary number 10001010 is therefore a binary representation of the denary number 138 (128 + 8 + 2).
For more information see pages 278.
The terms character set, Unicode and American Standard Code for Information
Interchange (ASCII)
In order to allow for data exchange between computer systems, character sets were devised. A character
set is a table that maps a character with a unique binary number.
One such character set is the 7-bit American Standard Code for Information Interchange (ASCII). Part of
the ASCII character set, that includes printable characters only, can be seen in the table overleaf.
INTERESTING FACT
Before the widespread adoption of graphical
user interfaces, programmers used the ASCII
character set to design simple interfaces. Try
searching for some on the Internet.
21
Denary
Binary
Denary
Binary
space
64
1000000
40
96
1100000
60
21
65
1000001
41
97
1100001
61
22
"
66
1000010
42
98
1100010
62
100011
23
67
1000011
43
99
1100011
63
36
100100
24
68
1000100
44
100
1100100
64
37
100101
25
69
1000101
45
101
1100101
65
38
100110
26
&
70
1000110
46
102
1100110
66
39
100111
27
'
71
1000111
47
103
1100111
67
40
101000
28
72
1001000
48
104
1101000
68
41
101001
29
73
1001001
49
105
1101001
69
42
101010
2A
74
1001010
4A
106
1101010
6A
43
101011
2B
75
1001011
4B
107
1101011
6B
44
101100
2C
76
1001100
4C
108
1101100
6C
45
101101
2D
77
1001101
4D
109
1101101
6D
46
101110
2E
78
1001110
4E
110
1101110
6E
47
101111
2F
79
1001111
4F
111
1101111
6F
48
110000
30
80
1010000
50
112
1110000
70
49
110001
31
81
1010001
51
113
1110001
71
50
110010
32
82
1010010
52
114
1110010
72
51
110011
33
83
1010011
53
115
1110011
73
52
110100
34
84
1010100
54
116
1110100
74
53
110101
35
85
1010101
55
117
1110101
75
54
110110
36
86
1010110
56
118
1110110
76
55
110111
37
87
1010111
57
119
1110111
77
56
111000
38
88
1011000
58
120
1111000
78
57
111001
39
89
1011001
59
121
1111001
79
58
111010
3A
90
1011010
5A
122
1111010
7A
59
111011
3B
91
1011011
5B
123
1111011
7B
60
111100
3C
<
92
1011100
5C
124
1111100
7C
61
111101
3D
93
1011101
5D
125
1111101
7D
62
111110
3E
>
94
1011110
5E
126
1111110
7E
63
111111
3F
95
1011111
5F
32
100000
20
33
100001
34
100010
35
Hex Character
Hex Character
`
Using the ASCII character set, the character A would be stored as the binary number 1000001.
The problem with using this ASCII character set is that it is only able to represent 128 different characters
and computer systems need to be able to store more characters than this. For example, you may have
noticed that the character is missing from the table above. As a result, other character sets were
developed and used to allow computer systems to store more characters.
Unicode is a standard character set that has combined and replaced many others. It was originally an
extension to the ASCII character set and it contains many of the characters used around the world.
22
162
256
0
161
16
8
160
1
A
The hexadecimal number 8A therefore represents 8 sixteens and 10 units. This gives the total one
hundred and thirty-eight. Remember that A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.
Hexadecimal is widely used as binary numbers can
be quickly converted into hexadecimal numbers
which are more convenient for humans to use. For
example, a telephone conversation where you
might read out the binary number 10001010 could
cause confusion. It would be easier to simply say
8A and mistakes are less likely to be made.
INTERESTING FACT
Up until the late 20th century, traditional Chinese
weights and measurements used in the marketplace
used the hexadecimal counting system. Other cultures
used different base counting systems, e.g. the ancient
Babylonians used a Base 60 counting system.
See pages 2731 for conversion between binary, denary and hexadecimal numbers.
Hexadecimal notation is used in MAC addresses. For further details see page 57.
23
Input (A)
0
1
Output (NOT A)
1
0
AND
Input (A)
The AND logical operator has two inputs and one output. 0
The output is 1 only if A and B are both 1.
0
1
1
Input (B)
0
1
0
1
Output (A AND B)
0
0
0
1
OR
The OR logical operator has two inputs and one output.
The output is 1 if either A or B is 1.
Input (B)
0
1
0
1
Output (A OR B)
0
1
1
1
Input (A)
0
0
1
1
There are other logical operators, such as XOR. This will be covered on page 50 in encryption techniques.
Logical operations
Logical operations can be used in control systems. For example, a control system that is required to close
the windows on a commercial greenhouse when at least one of the following conditions is true:
the wind speed rises above 12 km per hour.
it is raining.
would use the logical operator OR.
A control system that is required to turn on a sprinkler system in a field when both of the following
conditions are true:
the temperature rises above 25 Celsius
it has not rained in the last five days
would use the logical operator AND.
24
Description
Whole numbers, positive or negative
Examples
42, -11, 0
Real
Character
String
A sequence of characters
Computer science
The cat sat on the mat
Boolean
25
1 or 0
Bit, nybble, byte, kilobyte, megabyte, gigabyte, terabyte, petabyte, exabyte, zettabyte,
yottabyte
Computer systems can only store and process Binary digITs, also known as BITs. A BIT is either a 1 or 0.
When 8-bits are stored as a binary number, they are collectively called a byte.
Symbol
Byte
B
Kilobyte
Kb
Megabyte MB
Gigabyte GB
Terabyte TB
Petabyte PB
Exabyte
EB
Zettabyte ZB
Yottabyte YB
Value
8 bits
1024 bytes
1024 Kb
1024 MB
1024 GB
1024 TB
1024 PB
1024 EB
1024 ZB
INTERESTING FACT
Half a byte (4 bits) is called a nybble.
26
64
32
16
In this example, we will convert the denary number 198 into a binary number. Take 198 and see if it is
more than the first number on the left. In this case, 128 is the number on the left and so we write a 1
under the heading 128.
128
1
64
32
16
We now deduct 128 from our original denary number, which leaves 70. The next number in our Base 2
table is 64. If the number remaining, 70, is more than the next number on the left, 64, write the number 1
under the heading 64.
128
1
64
1
32
16
27
We now repeat the process again and deduct 64 from 70, which leaves 6. The next number in our Base 2
table is 32. If the number remaining, 6, is more than the next number on the left, 32, write the number 1
under the heading 32. However, in this case the number remaining is less than the next number on the
left, so we write a 0 under the heading 32.
128
1
64
1
32
0
16
This process is repeated until you reach the final heading and the binary number for the denary number
198 is found:
128
1
64
1
32
0
16
0
8
0
4
1
2
1
1
0
The binary number for the denary number 198 is therefore 11000110 (128 + 64 + 4 + 2).
Denary to hexadecimal
You may wish to convert a denary number into a hexadecimal number. To do this, take the number 198
from our previous example and draw a Base 16 table, from right to left, as before.
256
16
Take 198 and see if it is more than the first number on the left. In this case, 256 is the number on the left
and so we write a 0 under the heading 256.
256
0
16
The next number in our Base 16 table is 16. If the number remaining, 198, is more than the next number
on the left, 16, work out how many 16s are needed without going over the number remaining. In this case
it is C (C = 12, 12 x 16 = 192).
Remember that A = 10, B = 11, C = 12, D = 13, E = 14, F = 15
256
0
16
C
28
We now deduct 192 from our remaining denary number, 198, which leaves 6. The next number in our
Base 16 table is 1. If the number remaining, 6, is more than the next number on the left, 1, work out how
many 1s are needed without going over the number remaining. In this case it is 6.
256
0
16
C
1
6
The hexadecimal number for the denary number 198 is therefore C6.
Hint
You may find it easier to convert a denary number into a binary number first and then into a hexadecimal
number. See the example binary to hexadecimal below.
Binary to denary
To convert a binary number into a denary number, draw a Base 2 table from right to left and populate the
table with the binary number you are converting. In this case we will use 00100011.
128
0
64
0
32
1
16
0
8
0
4
0
2
1
1
1
Simply convert the binary number into a denary number by adding the headings with a 1 under them: 32 +
2 + 1 = 35. The denary number for the binary number 00100011 is therefore 35.
Binary to hexadecimal
To convert a binary number into a hexadecimal number, there is a shortcut that you can use by drawing a
Base 2 table from right to left and then populating the table with the binary number you are converting. In
this case we will use 00101011.
128
0
64
0
32
1
16
0
8
1
4
0
2
1
1
1
Now split the Base 2 table into two smaller 4-bit Base 2 tables.
128
0
64
0
32
1
16
0
8
1
29
4
0
2
1
1
1
4
0
2
1
1
0
8
1
4
0
2
1
1
1
Remember that A =
10, B = 11, C = 12, D
= 13, E = 14, F = 15.
Now take the hexadecimal number of each 4-bit table and this is the converted hexadecimal number.
256
0
16
2
1
B
The hexadecimal number for the binary number 00101011 is therefore 2B.
Hexadecimal to denary
You may wish to convert a hexadecimal number into a denary number. To do this you may take the
number C6 and draw a Base 16 table, from right to left as before.
256
0
16
C
1
6
192
6 +
198
In this example, we will convert the hexadecimal number 2B into a binary number. First start by
representing the first number, 2, in the left table.
30
8
0
4
0
2
1
1
0
Then complete the second table by representing B in the right table, remembering that B = 11.
8
0
4
0
2
1
1
0
8
1
4
0
2
1
1
1
Now re-label the headings in the left table as shown below and join the two 4-bit tables together to make
one 8-bit table.
128
0
128
0
64
0
32
1
64
0
16
0
32
1
8
1
16
0
8
1
4
0
4
0
2
1
2
1
1
1
1
1
And so, the hexadecimal number 2B can be represented as 00101011 in binary number form.
HOW DO COMPUTERS INTERPRET INSTRUCTIONS?
31
operation, called the opcode. An example may be 1011 which could be the opcode for addition. 1010 may
be the opcode for subtraction.
Along with the opcode, an operand may be included in the instruction which may include the location in
memory containing the data needed for that instruction to be processed, eg the instruction add 2 will be
represented as 10110010.
32
The number of times that the sound level is sampled per second is called the sampling frequency. The
higher the sampling frequency, the better the quality of the sound recorded. A typical sampling frequency
is 44,000 times per second, also known as 44 kHz. This is the sampling frequency used on most audio CDs.
Sound sampled at 44 kHz in stereo will produce a large amount of data and as such, this data may need to
be compressed. Data compression techniques are discussed in further detail on pages 54-5.
0100010
0011100
0000000
A colour bitmap image is stored by replacing the 1s and 0s above with a longer number that represents
how much red, green and blue (RGB) is required in the colour of each pixel; this is known as colour depth.
In a 256 colour palette, the image would require 1 byte of storage per pixel so we would need 448 bits
(or 56 bytes) to store the image above in colour. There are other colour depths available, which can store
more information about the colours in each pixel of an image. The more information stored about the
colour of each pixel, the larger the file size becomes.
You may also have heard of vector images. These images do not store the data by pixels, but are a set of
instructions for drawing a geometric shape. The advantages of a vector image are that they can be scaled
without loss of quality (pixellation etc.) and use less storage space.
Images require a large amount of storage space and as such, may need to be compressed.
33
Why metadata needs to be included in an image file (including height, width, colour
depth)
The term metadata refers to data about data. Key properties which are needed to display an image
correctly are stored as metadata. Data such as an images height, width and colour depth are typical
examples of data stored in the metadata about an image. Without metadata, a computer system may
render an image incorrectly on screen, such as displaying all pixels in one row.
Other data may also be stored in the metadata of an image file, such as the date the image was made, the
geographical location of a photograph.
34
III.
Computer system
CAN YOU IDENTIFY AND EXPLAIN THE FUNCTIONS OF AN OPERATING SYSTEM (OS)?
35
36
37
Interpreter
Linker
Loader
Debugger
Trace
Break point
Variable watch
Memory inspector
Error diagnostics
Defnydd
Allows a programmer to enter, format and edit source code
Converts source code into executable machine code. Once compiled, a
program can be run at any time
Converts each line of source code into machine code, and executes it as
each line of code is run. The conversion process is performed each time
the program needs to be run
A program which allows previously compiled code, from software
libraries, to be linked together
A program which loads previously compiled code into memory
A program which helps locate, identify and rectify errors in a program
A facility which displays the order in which the lines of a program are
executed, and possibly the values of variables as the program is being
run
A facility which interrupts a program on a specific line of code, allowing
the programmer to compare the values of variables against expected
values. The program code can then usually be executed one line at a
time. This is called single-stepping
A facility which displays the current value of any variable. The value can
be 'watched' as the program code is single-stepped to see the effects of
the code on the variable. Alternatively a variable watch may be set,
which will interrupt the program flow if the watched variable reaches a
specified value
A facility which will display the contents of a section of memory
Used when a program fails to compile or to run. Error messages are
displayed to help the programmer diagnose what has gone wrong
38
INTERESTING FACT
Certain specialist software can be used to
unformat a formatted disk and recover all
the data originally stored on it.
Compressing
Compression is the process of making a file size smaller. This may be advantageous as it allows more data
to be stored on the disk and files may also be transferred more quickly. There are two methods of
achieving disk compression; one is software based and the other hardware based.
Software based disk compression is often included as a facility of an operating system and so it is readily
available on most computer systems. The disadvantage of this is that it slows down the process of reading
and writing to disk.
Hardware disk compression requires specialist hardware, which can be expensive. However, it does not
affect the speed of access as much as software based disk compression.
Disk based compression is always lossless. For further discussion see page 54.
System restore (roll back), disk defragmentation, control panel, system maintenance
tools, virus protection, firewall
Many different system maintenance tools are included with operating systems that allow users to maintain
the upkeep of their computer systems. Here are some of the tools below.
39
INTERESTING FACT
Some modern viruses exploit the system restore
facility by deliberately seeking out back-ups and
placing copies of themselves there.
Disk defragmentation
Files are stored on computer systems that can, over time, become fragmented. This means that they are
split and stored on different parts of the disk. If a file is fragmented, it takes longer for the disk heads to
move between parts of the file, which slows the process of loading it.
Defragmentation is the process where files are physically re-arranged on disk so that they are no longer
fragmented and the parts of each file are stored together. This improves the speed of accessing data from
disk.
Control panel
Many operating systems use a control panel to give the user control of software and hardware features. It
enables the user to change settings, such as sound, device and display settings all from one convenient
location.
Virus protection
A virus is a computer program that is able to copy itself onto other programs often with the intention of
maliciously damaging data. The consequences of a virus spreading can have catastrophic effects on
computer systems, and therefore need to be prevented.
Virus protection software, also called anti-virus software, is a program that can be loaded into memory
when the computer is running. It monitors activity on a computer system for the signs of virus infection.
Each virus has its own unique signature which is
INTERESTING FACT
known to virus protection software and stored in a
Some advanced viruses attempt to evade the virus
database. Data stored on a computer system is
protection software by changing their own code so
scanned to see if any of the virus signatures within
that they no longer match the signature in the virus
the database exist on the system.
signature database.
These are known as polymorphic viruses.
40
Firewall
A firewall can be a software or hardware security system that controls the incoming and outgoing network
traffic. Packets of data are analysed to determine whether they should be allowed through or not. More
information on data packets can be found on page 43.
The Internet
10
11
The basic function of a firewall is to monitor where data has come from and where it is going to, and to
determine if this communication is allowed. It does this by checking a list of pre-defined rules. For
example, if computer system number 1 above was attempting to connect to software port 80 on computer
system 10, this would be allowed, as this would be listed in the pre-defined rules as a common port for
browsing web pages. However, if computer system 6 attempted to access computer system number 2 on
software port 139, this would be blocked as this would not be listed in the pre-defined rules and so this
could be a sign of attempted hacking. A more advanced firewall would analyse the contents of each packet
of data to ensure that it matches what is expected to be sent to that port.
41
Applications such as: word processing, spread sheets, presentation, database, drawing
A wide variety of software applications are used in the day-to-day use of computer systems. You will be
familiar with many of these having studied ICT at Key Stage 3.
Here are some of the most common software applications and their typical uses:
Software
application
Word processing
Spread sheets
Presentation
Database
Drawing
Description
Typical use
Typing a letter.
42
Modelling household
budget.
Presenting new ideas to
management.
Gas company storing
customers records.
Creating a company
logo
IV.
Networks
Data may be split up into a number of packets. These packets are transmitted over a network and may
take different routes to their destination. When all the packets have arrived, the data is reassembled.
INTERESTING FACT
When packets are transmitted over a Wi-Fi network, they can be
intercepted by any device, this is called packet sniffing. If you perform
thorough analysis on a large number of packets, you can often break the
encryption. This is why security services, such as National Security
Agency, do not allow any Wi-Fi devices on their network.
43
Protocol
A protocol is an agreed-upon format which allows two devices to communicate. The protocol, put simply,
is a set of rules. These rules can include the following:
handshaking, where two devices establish their readiness to communicate
how the sending device will indicate that it has finished sending a message
how the receiving device will indicate that it has received a message
the type of error checking to be used
agreement on the data compression method to be used
There are many standard protocols used with computer systems. Here is a table that illustrates the
protocols with which you need to be familiar:
Protocol
TCP/IP (Transmission Control
Protocol/Internet Protocol)
Description
Two protocols that combine to allow communication
between computer systems on a network. IP is a
protocol that sets out the format of packets and an
addressing system. TCP is a protocol that allows packets
to be sent and received between computer systems
A protocol stack is the term used when a programmer takes the rules of a protocol and implements them
when creating a program. For instance, although computer A and B can both communicate using HTTP,
the programmer of the protocol stack on computer
INTERESTING FACT
A may have implemented the rules of the protocol
Although the Bluetooth protocol has been agreed,
slightly differently from the implementation of the
the protocol stack varies considerably from device
protocol stack on computer B, which could lead to
to device. Try sending a photograph via Bluetooth
minor communication problems.
from one smartphone to another.
44
CAN YOU DESCRIBE NETWORK TOPOLOGIES AND CONNECTIONS AND THEIR ADVANTAGES AND
DISADVANTAGES?
Local Area Network (LAN), Wide Area Network (WAN), common network topologies
Networks
A network consists of a number of computer systems connected together. There are many advantages and
disadvantages of using a computer network over a stand-alone computer.
Advantages
Share hardware
Share software
Share data/files
Easier for internal communication/can send
email
Central backup
Easier to monitor network activity
Centrally controlled security
Can access data from any computer
Disadvantages
A network manager may need to be employed
expensive
Security problems files sent between
computers could spread a virus
Hackers can gain access to data more easily
If the server is down, all workstations on the
network are affected
Initial cost of servers, communication devices,
etc. can be expensive
There are two different types of network, namely a Local Area Network (LAN) and a Wide Area Network
(WAN).
A LAN is a network in which the computer systems are all located relatively close to each other, for
example, in the same building or on the same site, such as a school.
A WAN is a network in which the computers systems are all located relatively distant from each other, for
example, in different buildings all over the country or in different countries. The Internet is an example of
a WAN. You will note that many LANs could be linked using a WAN.
45
Computer networks use agreed upon protocols to communicate, i.e. common methods of sending data
and consistent data formats. If they did not agree on the protocols to be used, the individual computer
systems would not be able to communicate with each other. For further discussion see page 44.
Network topologies
A network topology is the theoretical layout of computer systems on a network. There are a number of
different network topologies. Some common network topologies include:
bus network
ring network
star network
Bus network
The computer systems, also called nodes of the network, are each connected to a single cable on which
data can be sent, called the bus. A bus network has terminators on each end, which is needed to ensure
that the network functions correctly.
The bus carries packets along the cable. As the packets arrive at each computer system, it checks the
destination address contained in the packet to see if it matches its own. If the address does not match, the
computer system ignores the packet. If the address of the computer system matches that contained in the
packet, it processes the data.
Advantages
Easy to implement and add more computer
systems to the network
Quick to set up well suited for temporary
networks
Cost-effective less cabling
Disadvantages
It is difficult to troubleshoot the bus
Limited cable length and number of stations
performance degrades as additional computers
are added
If there is a problem with the main cable or
connection, the entire network goes down
Low security all computers on the bus can see
all data transmissions
Proper termination is required
Data collisions are more likely, which causes the
network to slow down. A collision is when two
computers try to send a packet at the same time
46
Ring network
In a ring network, computer systems are connected in a ring or a loop. Around the ring,packets are sent,
being passed from one computer system to the next until they arrive at their destination.
Advantages
Data is quickly transferred without a
bottleneck consistent data transfer speeds
The transmission of data is relatively simple as
packets travel in one direction only
Adding additional nodes has very little impact
on bandwidth
It prevents network collisions.
Disadvantages
If any of the computer systems fail, the ring is
broken and data cannot be transmitted
efficiently
If there is a problem with the main cable or
connection, the entire network goes down
It is difficult to troubleshoot the ring
Because all nodes are wired together, to add a
another you must temporarily shut down the
network
Star network
In a star network, each computer system is connected to a central node, also known as a hub.
Advantages
Good performance/fast network speed
Easy to set up
Possible to add more computer systems
without taking the network down
Any non-centralised failure will have very little
effect on the network
Minimal network collisions
Better security
Disadvantages
Expensive to install more cabling required
Extra hardware required, such as a hub
47
48
49
attack. Passwords that use a combination of upper and lower case alphanumeric characters as well as
other non-alphanumeric character, will be much harder to guess and will take longer to brute force.
As a rule of thumb, the following formula can be used to determine the number of attempts it would take
to brute force a password.
So a password, such as computer (8 characters), which only contains lower case characters from the 26
letter English alphabet will take:
(on a typical 3.5GHz computer, this would take less than 6 seconds to brute force)*
Whereas a password that contains upper and lower case alphaneumeric characters, such as Computer1
(9 characters), has 26 + 26 + 10 = 62 possible characters. This will take:
(on a typical 3.5GHz computer, this would take just over 1 hour to brute force)*
*assuming one attempt per clock-tick
Encryption techniques
Encryption is the conversion of data, using an algorithm, into a form called cyphertext that cannot be easily
understood by people without the decryption key.
On pages 234, we discussed AND, OR and NOT logical operations on a computer system. When data is
encrypted, a different logical operator is sometimes used, called the XOR logical operator.
XOR
Input (A)
The XOR logical operator has two inputs and one output. 0
The output is 1 only if A and B are different.
0
1
1
Input (B)
0
1
0
1
Output (A XOR B)
0
1
1
0
When encrypting data, the XOR logical operator is performed on the original data and a key. The key is a
secure binary number, known only to the sender and recipient.
50
In this example, we will encrypt the data 10101010, using the key 11110000.
Original Data
Key
Cyphertext
10101010
11110000 XOR
01011010
The original data, 10101010, is now encrypted and can be transmitted as 01011010.
To recover the original data, the cyphertext is XORed with the key.
Cyphertext
Key
Original Data
01011010
11110000 XOR
10101010
Other, more complex techniques are also used to encrypt data. These include SHA256 and Blowfish.
51
Backup
A backup is the process of copying data so that it can be preserved and restored if the original data is lost.
Backups of all data should be made regularly as the older the backed up data becomes, the less likely it is
to match any current data stored on a computer system.
A backup policy sets out how often and to what medium backups are made. The backup medium is
generally different to the active storage medium. Historically, the medium used was magnetic tape backup
For further information see page 16.
A typical backup policy would require that three different backups be kept at any given time, with one of
these being stored off-site. The oldest backup copy would be named the grandfather, the second oldest
backup being named the father and the most recent backup being called the son. When a new backup is
made, the oldest backup, the grandfather is overwritten and becomes the son backup, with the original
son becoming the father and the father becoming the grandfather. This backup policy is called the
grandfather-father-son method.
Archiving
Data held on computer systems is often archived. Archiving is the process of storing data which is no
longer in current or frequent use. It is held for security, legal or historical reasons. The process of
archiving data frees up resources on the main computer system and allows faster access to data that is in
use.
52
V.
53
Common file standards associated with the Internet, e.g. HTML, JPEG
A number of common file standards are associated with the Internet. Some of these include:
Common file standard
.HTML
.JPEG
.PNG
.FLA
.MP3
Description
HTML, which is an abbreviation of HyperText Markup Language, is one of the
main programming languages used when creating web pages
A format used for storing compressed images. The file type uses lossy
compression and is favoured for its small file sizes that allow for quick download
speeds while maintaining reasonably good quality
Another format used for storing compressed images. The file type uses lossless
compression and is favoured for excellent quality and that they are generated
using a non-copyrighted algorithm
The format used to store flash multimedia. The files can contain interactive
games, videos and music
The format used to store compressed audio. It uses lossy compression and is
favoured for its small file sizes that allow for quick download speeds while
maintaining reasonably good quality
Compression and compression types (including lossy and lossless) for files to be
transmitted via the Internet
Compression is the process of making a file size smaller. This may be advantageous as it allows more data
to be stored on the disk and files may also be transferred more quickly. There are two primary methods
that are used to compress files stored on a computer system; these are lossy and lossless.
Lossless compression
Lossless compression uses an algorithm that compresses data into a form that may be decompressed at a
later time without any loss of data, returning the file into its exact original form. It is preferred to lossy
compression when the loss of any detail, for example in a computer program or a word-processed
document, could have a detrimental effect.
A simplified version of lossless compression on a word-processed document may to be to replace a
common string, such as the, with a token such as the symbol @. You will have learnt on page 21, that one
character takes 1 byte of memory; therefore, the string the would take 3 bytes.
Original uncompressed text
Compressed text
54
71 characters (bytes)
63 characters (bytes)
Lossy compression
Lossy compression is a data compression technique that compresses the file size by discarding some of the
data. The technique aims to reduce the amount of data that needs to be stored.
The different versions of the WJEC logo below show how much of the data can be discarded, and how the
quality of the images deteriorate as the data that made up the original is discarded. Typically, a substantial
amount of data can be discarded before the result is noticed by the user. The compression ratio is
calculated using the simple formula:
Compressed image 10 kB
(compression ratio = 100/10 = 10
or 10:1)
File size
Compressed image 5 kB
(compression ratio = 100/5 = 20
or 20:1)
File size
Lossy compression is also used to compress multimedia data, such as sound and video, especially in
applications that stream media over the Internet.
Encryption, data compression, data redundancy (for error detection and correction) and
security
Encryption and data compression have been covered extensively on page 49 and pages 545 respectively.
55
Routing
Routing is the name given to the method of selecting paths along which packets are sent on a computer
network. Specialist computer systems such as routers, switches, bridges, firewalls and gateways construct
in their memory a routing table, which stores a number of paths along which it is best to send packets to
reach a specific destination. Maintaining accurate routing tables is essential for ensuring that packets are
delivered as quickly as possible.
1
126
D
In the example above, computer system 1 is sending a packet to computer system 126. Clearly, the
quickest route for the packet to arrive at its destination is to be sent from router A, on to router B followed
by router E for delivery to computer system 126. This path would be determined by routing, using a
routing table. A poorly constructed routing table may choose to send the packet from router A, on to
router C followed by router D and then router E, for delivery to computer system 126. This would take
longer and is not a good use of network resources.
Most routers use only one network path at a time, such as the preferred route above (Computer system 1
> Router A > Router B > Router E > Computer system 126). Some multipath routing techniques enable the
same packets to be sent using multiple alternative paths at the same time. This means that in the event of
Router B failing in the transmission above, the same packet would also have been sent via the alternative
longer route set out above (Computer system 1 > Router A > Router C > Router D > Router E > Computer
system 126), to ensure that the packet arrives at its destination.
56
MAC addresses
A MAC address (media access control address), also known as a physical address or a hardware address, is
a unique hexadecimal number given to any communication device, such as a network interface card. An
example of a MAC address is 74:E1:B6:8E:18:77. The
INTERESTING FACT
address is usually stored in a communication devices
Although MAC addresses are designed to be unique
ROM. Hexadecimal notation is used as it allows for
and unchangeable, some devices or specialised
over 281 trillion different combinations of MAC
software allow you to change your own MAC
address. This is called MAC address spoofing and
address.
can be used by hackers to trick computer systems
into providing data.
IP addresses
An IP address is an address which is allocated to a computer system on a network, usually by a DHCP
server. For further details see page 58. Alternatively, you may assign your own IP address if you do not
wish to rely on the services of a DHCP server. An example of an IP address is 195.10.213.120.
It is used by the TCP/IP protocol (see page 44) to uniquely identify computer systems on a network, thus
allowing communication between them. In routing tables the corresponding IP address of a unique MAC
address is stored and updated as necessary.
57
How Domain Name System (DNS) servers and Internet Protocol (IP) addresses work
A Domain Name System (DNS) is a distributed database that matches IP addresses to computer system
resources.
One example of this is to match an IP address to a human friendly domain name. For example, if you
wanted to visit the Google search engine, the computer system on which the website is stored has an IP
address assigned to it; 173.194.34.191. Try typing this into the address bar of your web browser; you
should be able to view the website that you would be more familiar with when accessing the domain name
www.google.co.uk. Here your computer system sent a request to its DNS server for the IP address that is
mapped to the domain name www.google.co.uk. The DNS server returned the IP address 173.194.34.191,
which allowed your computer system to communicate with the computer system where the Google search
engine is stored.
Of course, in reality, there are many different DNS servers located across the world. If your local DNS
server does not store the address of the resource you are requesting, it will pass the request along to
another higher level DNS server, such as your Internet Server Providers (ISP) DNS server. If again the
address is not found, you ISPs DNS server will pass the request on to a higher level DNS server which may
be the DNS server responsible for an entire zone, such as the .co.uk zone. This continues until the address
is found or the DNS query fails.
Another example where a DNS server is used is where a computer system, on joining a network, would
query the DNS server for the IP address of other useful computer systems, such as the logon server, which
stores the details of all usernames and passwords.
58
Advantages for the Internet Service Provider (ISP) and the user
An Internet Service Provider (ISP) is an organisation which provides end users with access to the Internet,
usually via a connection such as dial-up, broadband or a fibre optic link.
An advantage of an ISP is that it provides and uses an agreed set of protocols and services, such as web
browsing, email, FTP etc. For further discussion see page 44 on Protocols.
59
Closing tag
Unformatted text
Formatted text
<h1>
</h1>
Computer science
Computer science
<b>
</b>
Computer science
Computer science
<i>
</i>
Computer science
Computer science
<u>
</u>
Computer science
Computer science
<big>
</big>
Computer science
Computer science
<small>
</small>
Computer science
Computer science
60
<center>
</center>
Computer science
Computer science
Other tags include the <p> tag, which can have a closing tag of </p>. This is the paragraph tag which starts
a new paragraph. When an element within a web page is hyperlinked, it is placed within the <a href=url>
and </a> tags. For example, <a href=http://www.wjec.co.uk>WJEC</a> will be displayed as WJEC.
The <img> tag is slightly different, as it does not contain a closing tag. For example, <img src="logo.gif">
will display the image file logo.gif.
Here is an example of how original text is formatted using HTML tags.
Original text
For Sale
Bluetooth Hands Free Car Kit
Make calls without wearing a headset with this Bluetooth v1.2 EDF Multipoint
Hands-free Speakerphone! Visit www.edfweb.com to see. Simply pair this
device to any Bluetooth enabled phone and talk hands-free today!
HTML
<html>
<body>
<h1><center>For Sale</center></h1>
<p> <b>Bluetooth Hands Free Car Kit</b></p>
<p>Make calls without wearing a headset with this Bluetooth
v1.2 EDF Multipoint Hands-free Speakerphone!</p>
<p>Visit <a href="http://www.edfweb.com/>www.edfweb.com</a> to
see.</p>
<p><i>Simply pair this device to any Bluetooth enabled phone
and talk hands-free today! </i></p>
</body>
</html>
For Sale
Bluetooth Hands Free Car Kit
Make calls without wearing a headset with this Bluetooth v1.2 EDF Multipoint
Hands-free Speakerphone!
Visit www.edfweb.com to see.
Simply pair this device to any Bluetooth enabled phone and talk hands-free
today!
61
VI.
Algorithms
Click here
62
VII.
Programming
Tools: high level languages, machine code, variables, constants, data types
High level languages
A high level language is a programming language that allows code to be written. It is similar to a natural
human language, such as Welsh or English. Some programmers prefer to use high level programming
languages as they are easier to understand, learn and program. Their commands are similar to natural
languages like English or Welsh and identifiers can be long and meaningful. High level programming
languages also allow the use of powerful commands that perform quite complex tasks such as MsgBox in
Visual Basic or the SORT clause in COBOL. High level languages are used when the execution speed is not
critical, e.g. in common productivity applications, such as a word processor. Examples of common high
level programming languages include:
Basic
Java
Pascal
COBOL
C#
C++
Machine code
Machine code is the opposite of a high level language in that it does not resemble any natural language
and is made up entirely of bit patterns (instructions or data) that can be executed directly by the CPU.
Examples of machine code instructions are opcodes and operands, discussed on pages 312. High level
languages have to be converted into machine code before they can be executed by the CPU. For further
discussion see pages 667. Although highly uncommon, some programmers may wish to program directly
in machine code. This is primarily done when programming device drivers or where a fast execution speed
are critical.
63
Variables
In computer programming, a variable may be required to store data that can change. Variables are given
identifiers (names) that should reflect the data being stored in them. An example of a variable is
txt_FirstName. This variable has a self-documenting identifier, which implies the type of data being stored
in it is text containing a persons first name.
Constants
Constants are used in computer programming to store data that does not change. Constants are also given
self-documenting identifiers that should reflect the data being stored in them. An example of a constant
would be Pi = 3.14, as this is a self-documenting identifier that does not change.
Pi = 3142
Radius is real
declare subprocedure FindArea {procedure to calculate the area of a circle}
Area is real
start
Area = Pi * Radius * Radius
End
startmainprog
output Type in the radius
input Radius
call FindArea
output The area is , Area
endmainprog
64
An example of a global variable here is Radius as it can be accessed throughout the entire program. An
example of a local variable is Area. It is a local variable as it has been defined within the sub procedure
called FindArea.
Can you spot the error with the following line from the algorithm above?
17
65
Assembler conversion
Opcode
0010
0110
Operand
0001
0010
Interpreters
Before high level programming languages can be run, code is converted by an interpreter, one line at a
time, into machine code, which is then executed by the CPU.
66
Compilers
A compiler is used when high level programming languages are converted into machine code, ready to be
executed by the CPU. There are four main stages of compilation:
Lexical analysis
Comments and unneeded spaces are removed.
Keywords, constants and identifiers are replaced by 'tokens'.
A symbol table is created which holds the addresses of variables, labels and subroutines.
Syntax analysis
Tokens are checked to see if they match the spelling and grammar expected, using standard language
definitions. This is done by parsing each token to determine if it uses the correct syntax for the
programming language.
If syntax errors are found, error messages are produced.
Semantic analysis
Variables are checked to ensure that they have been properly declared and used.
Variables are checked to ensure that they are of the correct data type, e.g. real values are not being
assigned to integers.
Operations are checked to ensure that they are legal for the type of variable being used, e.g. you
would not try to store the result of a division operation as an integer.
Code generation
Machine code is generated.
Code optimisation may be employed to make it more efficient/faster/less resource intense.
Translators
A translator changes (translates) a program written in one language into an equivalent program written in
a different language. For example, a program written using the PASCAL programming language may be
translated into a program written in the C programming languages by a translator.
67
The types of error that may occur in programming code such as: syntax, run time/
execution, logical, linking, rounding, truncation
Error
Syntax
Runtime/
execution
Logical
Description
An error that occurs when a command does not follow
the expected syntax of the language, e.g. when a
keyword is incorrectly spelt
An error that only occurs when the program is running
and is difficult to foresee before a program is compiled
and run
An error that causes a program to output an incorrect
answer (that does not necessarily crash the program)
Linking
Rounding
Truncation
68
Example
Incorrect: IF A ADN B Then
Correct: IF A AND B Then
Program requests more
memory when none is
available, so the program
crashes
An algorithm that calculates
a persons age from their
date of birth, but ends up
giving negative numbers
When the square root
function is used and the
library that calculates the
square root has not been
linked to the program
34.5 rounded to nearest
whole number is 35, an
error of +0.5
34.9 truncated to whole
number is 34, an error of
-0.9
69
VIII.
The individual's own personal code, any informal code of ethical behaviour that exists in
the work place, exposure to formal codes of ethics
A code of ethics, also commonly called a code of conduct, defines acceptable behaviour within an
organisation. Higher standards are generally promoted when a code of ethics is accepted and followed by
members of an organisation. It is useful as individuals working for the organisation have a benchmark upon
which they can judge their own behaviour and that of others.
Informal and formal codes
Most small organisations do not have a formal written code of ethics and instead rely on senior members
of staff to lead by example, showing what acceptable behaviour is. Members understand the informal
code by observing how senior members conduct themselves, e.g. the type of language used in emails and
behaviour towards clients.
Formal codes are written documents that outline expected behaviours within an organisation. Formal
codes of ethics are usually enforced by the threat of disciplinary action should the code not be adhered to.
Each code of ethics is different and usually reflects an organisations ethos, values and business style.
Some codes are short and set out general guidelines, whereas other codes are large documents that
include a variety of aspects relating to an organisations values, ethics, objectives and responsibilities.
An individuals own personal code
An individuals own personal code often supersedes the bare minimum requirements of an organisations
ethics code. An individuals own personal code will vary from person to person as they choose to act upon
their own ethical standards in their everyday actions.
70
71
72