Computer Studies Notes
Computer Studies Notes
Computer
Studies
CIE 0420
Theory Notes
Contents
Syllabus 0420
1
IGCSE Computer Studies
Syllabus 0420
hours worked Stock control when items are sent / received, the stock
is updated Order processing received orders are dealt with
2
IGCSE Computer Studies
Syllabus 0420
Miscellaneous Areas
Some other applications of computers are:
Computer-aided learning (CAL) CD-ROMs, etc. where you can learn at your own
3
IGCSE Computer Studies
Syllabus 0420
pace, like having your own personal tutor
Computer animation for films and TV. Special effects, etc.
4
IGCSE Computer Studies
Syllabus 0420
Syllabus 0420
Internet service providers
Web-design services
Internet cafes
6
IGCSE Computer Studies
Syllabus 0420
Changes In Employment
The use of computers in the workplace has an impact on the way
people work
Retraining of staff software packages upgraded, staff need to be trained.
This is often a regular thing. However…
Individual training training can be personalised to staff's needs through the
use of CAL systems, CD-ROMs, etc.
7
IGCSE Computer Studies
Syllabus 0420
be required for future reference) is moved into an
archive file.
8
IGCSE Computer Studies
Syllabus 0420
Computer viruses
Sensible precautions should be taken.
Up-to-date virus protection
Limited use of disks, etc from outside your network
Firewall software / hardware – prevents viruses using your Internet connection
9
IGCSE Computer Studies
Syllabus 0420
2 System Analysis
2.1 Systems Analysis
Systems Analysis describes the process followed when replacing or
upgrading a system with a computer-based one. The steps followed are:
Fact-finding
Feasibility study
Analysis
System design
Implementation
Testing
Documentation
Evaluation
Syllabus 0420
Detailed objectives for the new system
11
IGCSE Computer Studies
Syllabus 0420
Implementation
This can be done in one of three ways:
Direct implementation the new system simply replaces the old one. Only
suitable
for small systems
Phased implementation parts of the old system are slowly replaced by the new
one, taking time to make sure each bit works
before the next is begun
Parallel running the new system runs alongside the old one to check it
works as well. When all problems have been
solved, the old one stops.
Testing
We must ensure that any new system functions as expected, both in
normal use, and when potential problems arise. We test the system with:
Normal data to see if correct, expected results are achieved
Data with errors to check that our validation and error-checking
routines Large amounts of data to ensure that the system can cope with
high loading Rare / uncommon eventslike yearly reports, just to see that
they work as expected Extreme data to make sure that validation works,
and calculations cope
with the large / small values
Documentation
There are two main type of document that are required:
User documentation explaining how to use the new system (a user guide)
Technical documentation to allow people to alter / upgrade the system in the future
Evaluation
12
IGCSE Computer Studies
Syllabus 0420
Finally, the new system has to be assessed. Did it meet its objectives? Ask
the new users!
13
IGCSE Computer Studies
Syllabus 0420
Designing Algorithms
When writing algorithms to solve software problem, you must always bear in
mind that your solution must satisfy the requirements of the system. If the
software is required to calculate the average scores of 1000 students, then
that is what your algorithms must do.
Syllabus 0420
programming practice, etc. to be considered though)
15
IGCSE Computer Studies
Syllabus 0420
Algorithm Tools
Top-down design a software problem is solved by breaking it down into
smaller and smaller modules, until each of these is
easy to solve, and write software for. The final
solution is formed by joining the modules together.
Usually represented using a structure diagram.
Structure diagrams (see Section 3.2 below)
Flowcharts (see Section 3.2 below)
Menus these are an effective way of breaking up a
software task. The user has menu options, each of
which is handled by a separate bit of the software
(like the top-down structure)
Libraries of subroutines Many common software problems have been solved
already, and you can buy in libraries of software
modules that can be 'glued' together to form an
application
Syllabus 0420
format (e.g. text into a number field)
17
IGCSE Computer Studies
Syllabus 0420
3.2 Programming
The Concept Of A Program
A computer program is a collection of commands that the computer is to
follow. The main requirements of a programming language are:
To allow manipulation of data of various types and structures
The control of inputs and outputs
To provide for selection and repetition (see below)
To allow links between subprograms
Yes No
Repetition Following the same group of commands over and over again
(loop) The loop may go on forever (infinite loop) or may stop
due to a certain condition (conditional loop)
i.e.
Instruction 1 Instruction 1
Instruction 2 an infinite loop Instruction 2 a conditional
… … loop
Stop now?
No
Low-Level Languages
Low level languages are close to the actual language that computers use (machine
code)
Hard to program in
Most common is assembly language
An assembler converts assembly language into machine code
18
IGCSE Computer Studies
Syllabus 0420
High-Level Languages
These are languages that are closer to human language than computer.
There are many different types, some dedicated to specific
applications (e.g. Fortran is used for mathematics, Cobol is used
for business databases)
Much easier to use than low level languages
Very easy to create the programming structures such as loops
Lots of easy-to-use tools to help debug programs
Require either an interpreter or a compiler to convert language into machine
code
Assemblers
Convert low-level languages into machine code. This is called assembly.
Interpreters
Convert high-level languages into machine code
Convert one instruction at a time, executing it immediately
To run programs that use an interpreter, requires the user to have an
interpreter themselves
The final program runs more slowly than a compiled program
Compilers
Convert high-level languages into machine code
Convert the whole program in one go
The program cannot be run until it is fully compiled
Once a program is compiled, the user does not need a compiler to
run it (the program is 'stand-alone'
The resulting programs run very quickly compared to interpreted programs
Structure Diagrams
These diagrams help us design software, by letting us break the task down.
The programming problem is broken down into a number of sub-tasks
These sub-tasks can also be broken down into smaller tasks
And so on…
The smaller tasks are then simple to solve, and when they are all joined
together, we should end up with a solution to the overall problem.
Main Problem
A1 A2 A3 B1 B2 C1 C2 C3
19
IGCSE Computer Studies
Syllabus 0420
Variables
Within any computer program, data needs to be stored whilst it is being
processed. We store it in special locations in memory called variables (their
contents can change, so they are 'variable'!)
Variables have names – pick names based on what you want to store (e.g.
'score')
They can store different types of data: numbers, text ('strings'), etc.
You can use variables within calculations (e.g. 'total = score1 + score 2')
The content of a variable can be set (e.g. 'Set score to 0', or 'score = 0')
Flowcharts
These diagrams show the flow of our program (the order that instructions are
executed)
The start and end of the
Start Start
program is shown as a
'sausage'
Any tasks that are just
simply executed are Output "Enter score"
Instructio
shown in rectangles n
Inputs and outputs are In/Out
shown in parallelograms Input Score
Places where a decision
Question
is made (selection) are
shown using diamonds Add Score to Total
Places where files are
saved to or read from disk
File
are shown using cylinders
When files are master files
or transaction files, they File
are Was Score
shown as reels of tape = 0?
Places where print-outs are
generated are shown as a Print-out
piece of paper Output Total
Arrows join the
symbols together
Start
Pseudocode
This is a way of describing an algorithm (or program) using words. It is an
alternative to a flowchart, and is often easier to write, and more
understandable, since it is close to English.
Words are close to English
Uses some standard words for program structures such as loops (see below)
Indentation is used to highlight the structure of the code
20
IGCSE Computer Studies
Syllabus 0420
Inputs and outputs are shown using the words Input ( data ) and Output ( data )
Mathematical operations can be written in words (e.g. 'Add 6 to score')
21
IGCSE Computer Studies
Syllabus 0420
Pseudocode Structures
There are several standard pseudocode structures that are commonly used:
Input ( variable ) Gets data from the user and stores it in the variable
Output ( variable / "text" ) Prints the contents of the variable, or the text on the
screen for the user to see
Repeat ... Until Repeats the instructions between the 'Repeat' and 'Until'
lines until a condition is
met e.g.
Repeat
Output ( "Please enter a score:" )
Input ( score )
Until score equals 0
If ... Then ... Else ... Endif Allows for selection or decision-making. A condition is
tested and if it is true then one set of
commands is executed, else if it is false
another set is executed. e.g.
If Score is greater than 60% Then
Output "You have passed. Well done!"
Else
Ouput "You have failed. Sorry!"
Endif
Case of ... Otherwise ... Endcase If you want to have different things happening
depending on the value of a
variable. e.g.
Case of
score is greater than 70
Output ( "You have an A" )
score is greater than 60
Ouptut ( "You have a B" )
score is greater than 50
Output ( "You have a C" )
Otherwise
Output ( "You have failed" )
Endcase
While ... Do ... Endwhile This is another form of loop (like Repeat…Until) except
that this one keep going whilst a condition is true,
and the condition is checked before the loop starts
e.g.
Set count to 10
While count is greater than 0 Do
Output ( count )
Take 1 away from count
Endwhile
Output ( "Blast off!!!" )
22
IGCSE Computer Studies
Syllabus 0420
User Documentation
Any piece of software requires some kind of user documentation.
Instructions on how to set-up and install the software
Instructions on using the software (User Guide)
Troubleshooting tips (for when things don't work as expected)
Technical Documentation
This is required by those responsible for improving and maintaining a
software solution in working order, or for developing the solution to meet new
needs.
A guide showing the structure of the software (using structure
diagrams for example)
What inputs are expected
What outputs are generated
What algorithms are used to process data, etc. (using pseudocode or flowcharts)
Any actual code should contain comments. These are notes
explaining what a particular set of instructions is supposed to do.
23
IGCSE Computer Studies
Syllabus 0420
Multimedia Authoring
The production of CD-ROM / websites that include text, images, video,
24
IGCSE Computer Studies
Syllabus 0420
sound, etc.
Common applications are education, CAL, reference (encyclopaedia, etc.)
25
IGCSE Computer Studies
Syllabus 0420
Data-logging
A computer uses sensors to detect events, etc.
Examples could be measuring traffic flow, science experiments, etc.
Data is more accurate than that taken by a person, and can be analysed instantly
(graphs, etc.)
CAD
Products are designed on the screen rather than on paper
Much faster, and far more flexible than drafting designs by hand
The products sizes (dimensions) can be altered easily (no rubbing out!)
The product can be viewed from different angles with lighting effects, etc.
Some CAD systems allow products to be tested using modelling
techniques, so that weaknesses can be found before anything is
actually physically manufactured
Programming
Software can be produced using programming languages
Many modern programming languages are now so easy to use that
applications can be produced in minutes
Syllabus 0420
another application (export), or can open files
that they wouldn't normally use (import)
27
IGCSE Computer Studies
Syllabus 0420
Spell / grammar check within many applications, the computer will automatically
check and correct your spelling and grammar
Wizards Many complex tasks are made extremely easy for
novices through the use of wizards. The user is
asked a series of questions and their answers
result in an appropriate complex set of actions
(e.g. producing a poster)
Macros When a number of operations need to be repeated
over and over again, they can be 'recorded' and
stored in a macro. This macro can be 'replayed'
any number of times
28
IGCSE Computer Studies
Syllabus 0420
4.2 Data
The Relationship Between Information And Data
Information is data that has been processed.
e.g. 234567 is simply data (a number) but it could mean many things – a
membership number, a mathematical result, etc. Once it is given this
meaning, it becomes information.
Data Validation
To ensure that the data being processed is accurate it must be checked to see
that it makes sense. It is asking too much of a computer to check if it's true -
somebody may just be lying! Certain validation checks can be carried out:
Range-check e.g. a driver's age should be between 17 and
99 Type-check e.g. a name should only contain alphabetic
characters Format-check e.g. a data should be entered as dd/mm/yyyy
Presence-check e.g. certain data must be entered (e-mail
address)
29
IGCSE Computer Studies
Syllabus 0420
Checksum e.g. the numeric values in a file should always add up to
a
known amount
Check-digit e.g. the last digit of an account number is calculated from
the previous digits, and then recalculated on input
to see if it matches
30
IGCSE Computer Studies
Syllabus 0420
Data Verification
Once we know our data is valid (i.e. it is logical, and in the right format, etc.)
then we also need to check if it is correct (it maybe a valid date-of-birth, but is
it your date-of-birth?!)
Proof-reading the person entering the data simply reads through what
they have entered to check it is correct
Double-entry the data is entered twice, either by the same, or another
operator. The computer compares the data, and
any that doesn’t match is questioned.
Syllabus 0420
Sorting the data on the file is arranged into a logical order
(perhaps by numeric index, or alphabetically)
Merging two files are combined, creating a new file. The
data is often sorted at the same time so the two
sets are mixed in the correct order
32
IGCSE Computer Studies
Syllabus 0420
Syllabus 0420
loudspeaker (all sound cards in PCs are essentially DAC devices)
34
IGCSE Computer Studies
Syllabus 0420
Data Types
Data can take many types including:
Numbers these can be integers (whole numbers) or real
numbers (with fractional parts). Numbers can be
formatted to be displayed as currency, dates, etc.
Characters are the symbols on the keyboard, including letters,
numbers, punctuation, etc. Characters can be joined
together to make…
Strings a load of characters joined together (e.g. "Steve", "HHGF45sju" )
Arrays are a collection of a particular data type. So an array of
integers would be a whole set of numbers stored
together. Arrays have a name, and the individual parts
are numbered (e.g. Scores(3) is the third item in the
'Score' array)
35
IGCSE Computer Studies
Syllabus 0420
Microcomputer
The original digital computers from the 1940s were huge beasts that took up
whole rooms, or even buildings. Since then, computers have got a lot smaller,
a lot more powerful and a lot more user-friendly.
Mainframes the original, large computers were called mainframes
Minicomputers the next generation of computers, and the first ones that
were sold in large number to businesses
Microcomputer the small computer that you will be used to using, one
that
is self-contained and sits on your desk
Laptop a portable microcomputer
36
IGCSE Computer Studies
Syllabus 0420
Palmtop a portable computer that is small enough to be hand-held
PDA (Personal Digital Assistant) tiny computer that
usually has no keyboard, using a touch screen
instead
37
IGCSE Computer Studies
Syllabus 0420
Processor Power
A processor deals with instructions one at a time. The quicker it can read and
process instructions, the quicker tasks will be completed. Because of this,
people are always keen to get quicker and quicker processors.
We measure processor speed in Hertz (Hz), and this measures how many
instructions a processor can handle per second. Most processors will handle
millions or even billions of instructions per second, so you will see their speed
quoted in megahertz (MHz, millions) or gigahertz (GHz, billions)
38
IGCSE Computer Studies
Syllabus 0420
Syllabus 0420
Memory card a type of ROM that can be written to electronically. These little
devices are found in digital cameras, MP3 players, etc. and
allow data to be easily moved about. They are replacing
floppy disks. Still quite expensive. Come in capacities from
16MB up to 2GB
40
IGCSE Computer Studies
Syllabus 0420
41
IGCSE Computer Studies
Syllabus 0420
Syllabus 0420
(a 'tree' structure). So a file could be stored in /My
Letters/2003/January/
Files should be named to make it clear what they are (e.g. "Letter to Mum.doc")
43
IGCSE Computer Studies
Syllabus 0420
Use Of Buffers
A buffer is a small arrear of memory that is used to temporarily hold data that
is either being sent to a peripheral (e.g. a printer) or coming from a peripheral
(e.g. a keyboard)
The buffer allows the computer (which is very fast) and the peripheral (which
is often very slow) to operate independently without having to wait for each
other.
For example, when printing, the OS places the print data in a buffer and the
printer begins to print it. The OS does not have to wait about for the printer to
finish. It can get on with more useful tasks.
Polling
Another way of peripherals interacting with the CPU is for the CPU to
regularly 'ask' the peripheral if anything has happened that it needs to deal
with. It goes around each of its peripherals in turn. This is called 'polling'.
Polling is much more inefficient than an interrupt system, as often nothing
will have happened, so the CPU wastes time asking.
Handshaking
When establishing a communication link, two computers will 'greet' each other,
and 'introduce' themselves. Once both computers are happy, and ready,
communication can continue. This initial process is know as 'handshaking'
Check Sums
44
IGCSE Computer Studies
Syllabus 0420
Adding together all of the elements (e.g. the bytes) of a block of data produces
a single element known as the check sum. This can be stored with the data
block and provides a check when the block is transferred. The receiver re-
calculates the data's checksum and compares it with the one sent. If they
differ, a communication error probably occurred.
45
IGCSE Computer Studies
Syllabus 0420
Multi-Tasking Systems
If a user can run several tasks at once (concurrently) on the same computer, it
is aid to be multi-tasking.
An example is when you have a word-processor, a spreadsheet and a CD
player all running at once. The computer is multi-tasking.
Real-Time Systems
A real-time transaction system is an online system in which individual,
discrete transactions are processed as they occur.
An airline booking system and an online stock control system are typical examples.
A real-time control system is a system in which physical quantities are
continuously monitored and processed sufficiently rapidly to be capable of
46
IGCSE Computer Studies
Syllabus 0420
influencing the sources of data.
A chemical plant, or an autopilot system in an aircraft are examples.
47
IGCSE Computer Studies
Syllabus 0420
Control Systems
In a control system, one or more computers is used to control the operation of
some non-computer equipment, usually involving some monitoring and
logging of physical quantities, providing some analysis of performance and
allowing some user interaction.
Feedback is an essential element in most control systems. Timing
considerations are often critical and the term real-time control system is
sometimes used to indicate this.
Control systems are used in applications such as oil refining, chemical
processing and integrated traffic-control systems.
Automated Systems
Automated systems are broadly similar to control systems but are dedicated
to a particular task, and lack the ability to collect and analyse data and the
flexibility to allow for and act on user interaction beyond a very simple level.
Examples are the systems found in equipment such as washing machines and
cameras.
Multimedia Systems
Candidates should be able to specify minimum hardware and software
requirements for multimedia applications, and describe typical features and
uses of multimedia systems.
Network Systems
A network system is one in which several computers are joined together by
communication links, and can then share resources such as file storage,
printers and information resources.
Local resources hardware and software that reside on your computer
Remote resources those items that you access via the network (e.g. a
printer)
Star Networks
The computers are arranged around a central hub. This hub
may be a computer or a dedicated piece of hardware.
Star networks are very fast as data between computers can
always take the most direct route. They are also quite
secure (safe from people seeing your data) as data is only
read by the computers sending / receiving.
Syllabus 0420
Ring Networks
Computers are connected to a circular cable. Data can go
either way, so this network can cope better with cable
breakages than other network types.
49