caie-igcse-computer-science-0478-practical-v1
caie-igcse-computer-science-0478-practical-v1
ORG
CAIE IGCSE
COMPUTER
SCIENCE
SUMMARIZED NOTES ON THE PRACTICAL SYLLABUS
CAIE IGCSE COMPUTER
SCIENCE
1. Algorithm
Design &
Problem-Solving
1.1.Program Development
Decomposing a problem
Life Cycle (PDLC)
any problem that uses any kind of computer system for
its solution needs to be decomposed into its
component parts. These component parts of any
Analysis
computer system are:
Design
Coding data entered to the system
INPUT while it is active.
Testing
Maintenance tasks performed using input
PROCESS and stored data.
Analysis
information displayed or printed
OUTPUT for the users of the system.
Identifies the problem and its requirement.
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
Char – Single Character e.g. a; Y
String – Multiple Characters (Text) e.g. ZNotes;
COOL Boolean – Only 2 Values e.g. True/False;
Yes/No; 0/1
Used to receive and
display data to the user respectively. (It is
recommended to use input and output commands)
INPUT Name
OUTPUT "Hello Mr." , Name
// Alternatively //
READ Name
PRINT "Hello Mr," , Name
A variable/constant can be
declared by the following manner
Pseudocode
CASE…OF…OTHERWISE…ENDCASE – Multiple conditions and
corresponding sequences \n
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
Constant – Store of data that remains the same during
the execution of the program
Basic Data Types
Integer – Whole Number e.g. 2; 8; 100
Real – Decimal Number e.g. 7.00; 5.64
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
corresponding consequences \n
IF [BOOLEAN VARIABLE]
IF Array[Counter] <
THEN
MinimumValue THEN
OUTCOME
MinimumValue ←
ELSE
Array[Counter] ENDIF
OUTCOME
NEXT Counter
ENDIF
//Average//
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
Total ← 0 Mark[Counter]
F
O
R
C
o
u
n
t
e
r
T
O
N
u
m
b
e
r
O
f
V
a
l
u
e
s
T
o
t
a
l
T
o
t
a
l
S
t
u
d
e
n
t
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
NEXT Counter
Average ← Total / NumberOfValues 1.4. Normal Data
In a linear search, each item in the Normal data is the test data which accepts
list is inspected sequentially until a match is found values in acceptible range of values of the
or the entire list is traversed. program
Normal data should be used to work through the
solution to find the actual result(s) and see if they
INPUT Value
are the same as the expected result(s)
Found ← FALSE
e.g. in a program where only whole number
Counter ← 1
values ranging from 0 to 100 (inclusive) are
REPEAT
accepted, normal test data will be : 23, 54, 64 , 2
IF Value =
and 100
Array[Counter] THEN
Found ← TRUE
ELSE
Abnormal Data
Counter ← Counter +
1 ENDIF Test data that would be rejected by the solution as
not suitable, if the solution is working properly is
UNTIL Found OR Counter >
called abnormal test data / erroneous test data.
NumberOfValues IF Found
e.g. in a program where only whole number
THEN
values ranging from 0 to 100 (inclusive) are
OUTPUT Value , " found at position " , Counter, " in
accepted, abnormal data will be: -1, 151, 200,
the list." ELSE
67.2, “Sixty-Two” and -520
OUTPUT Value , " not found."
ENDIF
Extreme Data
Iteratively compare and swap adjacent
elements in a list to sort them. Start from the first Extreme data are the largest and smallest values
element and continue until the second-to-last that normal data can take
element. After each pass, the last element is in e.g. in a program where only whole number
its correct place. However, other elements may still values ranging from 0 to 100 (inclusive) are
be unsorted. Repeat the process, excluding the last accepted, extreme data will be: 0 and 100
element, until only one element remains or no
swaps are needed.
Boundary Data
First ← 1
Last ← 10 This is used to establish where the largest and
REPEAT smallest values occur
Swap ← FALSE At each boundary two values are required: one
FOR Index ← First TO Last - 1 value is accepted and the other value is rejected.
IF Array[Index] > e.g. in a program where only whole number
Array[Index + 1] THEN values ranging from 0 to 100 (inclusive) are
Temp ← Temperature[Index] accepted, one example of boundary data will be:
Array[Index] ← Array[Index + 1] 100 and 101. 100 will be accepted and 101 will
Array[Index + 1] ← Temp not be accepted
Swap ← TRUE
ENDIF
NEXT Index
Trace Table
Last ← Last - 1
A trace table is utilized to document the
UNTIL (NOT Swap) OR Last = 1
outcomes of every step in an algorithm. It is
employed to record the variable's value each
Test Data time it undergoes a change.
A refers to the manual process of
Test data refers to input values used to systematically executing an algorithm by
evaluate and assess the functionality and following each step in sequence.
performance of a computer program or system. A trace table is set up with a column for each variable
and
It helps identify errors and assess how the a column for any output e.g.
program handles different scenarios
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
Test data is employed to execute a dry run of the
Trace tables can be used to trace errors in a program.
flowchart and document the outcomes in a trace
For example, if the requirement for the previous
table. During the dry run:
question would be to accept riders that are of
Whenever a variable's value changes, the new height 1.2 too, rather than rejecting them, then
value is recorded in the respective column of the the error would have been caught in the trace
trace table. table as when 1.2 is entered, it would increment
Each time a value is outputted, it is displayed in rejected which it shouldn’t in our example
the output column.
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
into play!
1.7. Validation
Validation in computer systems involves automated
checks to ensure the reasonableness of data before
accepting it. If the data is found to be invalid, the
system should provide an
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
explanatory message for rejection and allow for
A presence check checks to ensure that some data has
another chance to enter the data.
been entered and the value has not been left blank
\n
OUTPUT "Please enter the
Range check value " REPEAT
INPUT
A range check verifies that a numerical value falls Value IF
within specified upper and lower limits. Value = ""
THEN
REPEAT
INPUT Value OUTPUT
"*=Required " ENDIF
IF Value < MinimumValue OR Value >
UNTIL Value <> ""
MaximumValue THEN
Format Check
OUTPUT "The student's mark should be in the range", MinimumValue ," to ", MaximumValue
ENDIF A format check checks that the characters entered
conform
UNTIL Value >= MinimumValue AND Value <= MaximumValueto a pre-defined pattern
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
reviewing the entered data.
After data entry, the system displays the
data on the screen and prompts the user to
confirm its accuracy before proceeding.
The user can compare the displayed data against a
paper document used as an input form or rely on
their own knowledge to verify correctness.
2. Programming
Concepts
2.1.Constructs of a program
Data use – variables, constants and
arrays Sequence – order of steps in
a task
Selection – choosing a path through a program
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
Iteration – repetition of a sequence of steps in a separated by a separator character.
program Operator use – arithmetic for
calculations, logical and
Boolean for decisions.
File Handling
Computer programs store data that will be needed
Variables and Constants
again in a file.
Data stored in RAM is volatile and will be lost when
A within a computer program refers to a
the
named storage unit that holds a value, which has the
computer is powered off.
potential to be modified throughout the program's
execution. To enhance comprehension for others, it is
advisable to assign significant names to variables.
A within a computer program represents a
named
storage unit that holds a value, which remains
unchanged throughout the program's execution.
Similar to variables, to enhance comprehensibility for
others, it is recommended to assign meaningful
names to constants as well.
Data Types:
Different types of data are assigned to computer
systems for effective processing and storage.
Data types allow data to be stored appropriately,
such as numbers or characters.
Data types enable effective manipulation of
data using mathematical operators for numbers
and concatenation for characters.
Some data types provide automatic validation.
The types of datatypes are told in chapter 1
already!
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
Data saved to a file is stored permanently, systems often provide library routines that can
allowing it to be accessed by the same program be readily incorporated
at a later date or by other programs.
Stored data in a file can be transferred and used on
other
computers.
The storage of data in files is a commonly used
feature in programming.
2.2.Writing in a file
OPENFILE "filename.txt" FOR WRITE
on ne CLOSEFILE "filename.txt"
Appending a file
OPENFILE "filename.txt" FOR APPEND
//When data will be written now, the file would be
continue WRITEFILE "filename.txt" , Value
// The next command of WRITEFILE would be writen
on ne CLOSEFILE "filename.txt"
Reading a file:
OPENFILE "filename.txt" FOR
READ READFILE "filename.txt"
, Variable
// The value in the line (which is identified by the
number
CLOSEFILE "filename.txt"
Library routines
Programming language development
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
into programs. is an open-source, versatile programming
Library routines are pre-tested and ready for use, language that encourages quick program
making programming tasks easier. development and emphasizes code readability.
Integrated Development Environments (IDEs) The integrated
typically
include a standard library of functions and
procedures.
Standard library routines perform various tasks,
including string handling.
MOD – returns remainder of a division
DIV – returns the quotient (i.e. the whole number
part) of a division
ROUND – returns a value rounded to a given
number of decimal places
RANDOM – returns a random number.
Creating a maintainable
program
A maintainable program should:
ignored ""
This method can also be used to
comment multiple lines but the singular
line method
is more widely accepted and
reccomended too ""
Languages
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
development environment (IDE) showcased in maximum number of characters allowed is
this chapter is referred to as IDLE. specified by the programming language.
is a popular programming language Characters in a string can be identified by their
extensively used for Windows development. position number, starting from either zero or
The integrated development environment (IDE) one depending on the programming language.
featured in this chapter is known as Visual String handling is an important aspect of
Studio, which is utilized for capturing programming.
screenshots.
is a widely adopted programming language
utilized by numerous developers. The
integrated development environment (IDE)
employed for capturing screenshots in this
chapter is known as BlueJ.
Basic Concepts
When writing the steps required to solve a problem,
the following concepts need to be used and
understood:
Sequen
ce
Selectio
n
Iteration
Counting and
totalling String
handling
Use of operators.
2.6. Sequence
The ordering of the steps in an algorithm is very
important. An incorrect order can lead to incorrect
results and/or extra steps that are not required
by the task.
Selection
Selection is a very useful technique, allowing
different routes through the steps of a program.
The code of this is explained in the notes of
previous chapters
Iteration
Explained in the previous chapter already
String Handling
Strings are used to store text and can contain
a varying number of characters.
An empty string has no characters, while the
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
In IGCSE Computer Science, you will need to write
any moment within a program to accomplish a
algorithms and programs for the following
particular task. Unlike a procedure, a function also
string methods:
has the capability to return a value back to the main
Length: Determines the number of
program.
characters in a
Parameters refer to variables that store the values of
string, including spaces.
arguments passed to a procedure or function. While not
Substring: Extracts a portion of a string.
all procedures and functions require parameters,
Upper: Converts all letters in a string to
some do utilize them to facilitate their operations.
uppercase. Lower: Converts all letters in a
string to lowercase.
These string manipulation methods are PROCEDURE ProcedureName ()
commonly
[Commands]
provided in programming languages through
ENDPROCEDURE
library routines.
//Calling/running the procedure
CALL ProcedureName()
LENGTH("Text Here")
LENGTH(Variable)
PROCEDURE ProcedureName (ParameterName :
Paramete [Commands]
ENDPROCEDURE
//Calling/running the procedure
SUBSTRING("Computer Science", 10, 7) CALL ProecdureName (ParameterValue)
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
// returns the next 7 values starting from the 10th value of t h e the string "Computer Science" i.e. "Science"
SUBSTRING(Variable, Position, Length)
Selection and iteration statements can be nested, A global variable can be used by any part of a
meaning one statement can be placed inside program – its scope covers the whole program
another. A local variable can only be used by the part of the
program it
Nested statements help reduce code duplication and
has been declared in – its scope is restricted to that
simplify testing of programs.
part of the program.
Different types of constructs can be nested within
each other, such as selection statements within
condition- controlled loops, or loops within other
loops.
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
using the same identifier name.
The position of each element in an array is NOT gate: an inverter, A
identified using the array’s index.
There are two types of arrays
0 1
1 0
2.7. One-Dimensional Array
Explained in previous chapter in detail
Two-Dimensional Array
AND gate: A.B
A two-dimensional array can be referred to as a
table, with rows and columns
0 0 0
0 1 0
1 0 0
1 1 1
OR gate: A + B
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
0 0 0
0 1 1
1 0 1
1 1 1
DECLARE Name:
ARRAY[RowLower:RowUpper,ColumnLower:ColumnUpper] NAND A.B
OF DATATYPE
0 0 1
0 1 1
FOR ColumnCounter ← 0 TO 2
1 0 1
FOR RowCounter ← 0 TO 9
1 1 0
OUTPUT "Enter next value "
INPUT ArrayName [RowCounter,
ColumnCounter] NEXT RowCounter
NEXT ColumnCounter
3. Boolean Logic
3.1.Logic Gates and their NOR gate: A + B
functions
Six types of logic gates
NOT
Gate
AND Gate
OR Gate
NAND Gate
NOR Gate
XOR Gate
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
0 0 1
0 1 0
1 0 0
1 1 0
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
XOR gate: A
ⒸB
0 0 0
0 1 1
1 0 1
1 1 0
Writing Logic
Statements
Logic Statements is a way of showing all the logics that
are in place for a logic circuit.
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
Creating Truth Tables
3.3.From Logic Circuits
1.Create a truth table with each input possible,
creating
every possible combination of inputs .
Example
This is the example of a truth table of a logic circuit
The circuit:
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
the following Logic Circuit
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
Truth Tables
Exam-Style Question
4. Databases
A database is a well-organized compilation of data
that enables individuals to retrieve information
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
can encompass various forms such as text, numerical table to ensure data input is a valid
values, images, or any other type of digital content date. \n
that can be stored on a computer system.
4.2.Basic Data Types
4.1.Why do we need a
database?
To store data about people, things, and events.
Any modifications or additions need to be
made only once, ensuring data consistency.
All users access and utilize the same set of data,
promoting uniformity.
Relational databases store data in a non-repetitive
manner, eliminating duplication.
Validation in databases
Database management software
automatically provides some validation checks,
while others need to be set up by the developer
during construction.
For example; The software automatically
validates fields like "DateOfAdmission" in the
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
Each field will require a data type to be selected. A
SELECT (fieldsname)
data type classifies how the data is stored,
FROM (tablesname)
displayed and the operations that can be
WHERE (condition)
performed on the stored value.
ORDER BY (sortingcondition) ;
The datatypes for database are quite similar to
original
datatypes, however, there are a few differences.
SELECT SUM ( fieldsname
) FROM (tablesname)
WHERE (condition)
ORDER BY (sortingcondition) ;
is necessary.
4.3.Primary Key
Each record in a table represents a unique item,
person, or event.
To ensure reliable identification of these items, a
field
called the primary key is necessary.
The primary key is a unique field that
distinguishes each item within the data.
In order to serve as a primary key, a field must
have values that are never repeated within the
table.
An existing field can serve as a primary key if it is
unique, such as the ISBN in the book table.
In cases where all existing fields may contain
repeated data, an additional field, such as
"HospitalNumber," can be added to each record
to serve as the primary key.
SQL Scripts
WWW.ZNOTES.O
CAIE IGCSE COMPUTER
SCIENCE
SELECT COUNT ( fieldsname )
FROM (tablesname)
WHERE (condition)
ORDER BY (sortingcondition) ;
Operators
Just like pseudocode, the operators used there can
also be used here for conditions, however, a few
more are also used in databases
WWW.ZNOTES.O
CAIE IGCSE
Computer Science