0% found this document useful (0 votes)
4 views17 pages

Cs Practicle

This document provides summarized notes on the CAIE IGCSE Computer Science syllabus, focusing on algorithm design, problem-solving, and program development life cycle (PDLC). It covers essential concepts such as program analysis, design, coding, testing, and maintenance, along with tools like pseudocode and flowcharts. Additionally, it discusses data types, validation, verification, and the importance of test data in ensuring program functionality.

Uploaded by

angad singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views17 pages

Cs Practicle

This document provides summarized notes on the CAIE IGCSE Computer Science syllabus, focusing on algorithm design, problem-solving, and program development life cycle (PDLC). It covers essential concepts such as program analysis, design, coding, testing, and maintenance, along with tools like pseudocode and flowcharts. Additionally, it discusses data types, validation, verification, and the importance of test data in ensuring program functionality.

Uploaded by

angad singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

ZNOTES.

ORG

UPDATED TO 2023-2025 SYLLABUS

CAIE IGCSE
COMPUTER SCIENCE
SUMMARIZED NOTES ON THE THEORY SYLLABUS
Prepared for Angad for personal use only.
CAIE IGCSE COMPUTER SCIENCE

The program or set of programs is developed based on


1. Algorithm Design & the design.
Each module of the program is written using a suitable
Problem-Solving programming language.
Testing is conducted to ensure that each module
functions correctly.
1.1. Program Development Life Cycle Iterative testing is performed, which involves conducting
(PDLC) modular tests, making code amendments if necessary,
and repeating tests until the module meets the required
Analysis functionality.
Design
Coding Testing
Testing
Maintenance The completed program or set of programs is executed
multiple times using various test data sets.
Analysis This testing process ensures that all the tasks within the
program work together as specified in the program
Before solving a problem, it is essential to define and design.
document the problem clearly, known as the Running the program with different test data can identify
"requirements specification" for the program. and address potential issues and errors.
The analysis stage involves using tools like abstraction The testing phase aims to verify the overall functionality
and decomposition to identify the specific requirements and performance of the program by evaluating its
for the program. behaviour with various inputs.
Abstraction focuses on the essential elements needed
for the solution while eliminating unnecessary details 1.2. Structure Diagrams
and information.
Decomposition involves breaking down complex Every computer system is made up of sub-systems,
problems into smaller, more manageable parts that can which are in turn made up of further sub-systems.
be solved individually. Structure Diagrams – The breaking down of a computer
Daily tasks can be decomposed into constituent parts for system into sub-systems, then breaking each sub-system
easier understanding and solving. into smaller sub-systems until each one only performs a
single action. A structure diagram diagrammatically
Design represents a top-down design. Example below.
The program specification derived from the analysis
stage is used as a guide for program development.
During the design stage, the programmer should clearly
understand the tasks to be completed, the methods for
performing each task, and how the tasks will work
together.
Documentation methods such as structure charts,
flowcharts, and pseudocode can be used to document
the program's design formally. 1.3. Pseudocode & Flowcharts
Coding and iterative testing

WWW.ZNOTES.ORG Copyright © 2025 ZNotes Education & Foundation. All Rights Reserved. This document is
authorised for personal use only by Angad at Jaffery Academy Arusha on 26/05/25.
CAIE IGCSE COMPUTER SCIENCE

Pseudocode - Verbal representation of an algorithm (a Declaration & Usage of Variables & Constants
process or set of steps) and flowcharts are a Variable – Store of data which changes during
diagrammatic representation. execution of the program (due to user input)
Flowcharts: A flowchart shows diagrammatically the Constant – Store of data that remains the same
steps required to complete a task and the order that during the execution of the program
they are to be performed Basic Data Types
Algorithm: These steps, together with the order, are Integer – Whole Number e.g. 2; 8; 100
called an algorithm Real – Decimal Number e.g. 7.00; 5.64
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
Input & Output (READ & PRINT) – 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
An example of a flowchart is given below from a past paper
PRINT "Hello Mr," , Name
question in which all of the functions of a flowchart are
shown: Declaration of variable - A variable/constant can be
declared by the following manner

DECLARE [Variable Name] : [DATATYPE OF VARIABLE

Array: Array is similar to variable but it can store


multiple values of same datatype under single name

DECLARE [ARRAYNAME] : ARRAY [Lower Limit : Uppe

Assignment - Each variable is assigned using a left


arrow.

[VARIABLE NAME] <---- [Value to be assigned]


ArrayName [IndexValue] <---- [Value to be assig
This flowchart’s task is to check if a rider’s height is more the Conditional Statements:
requirement (1.2) in this case. It then counts until the IF…THEN…ELSE…ENDIF
accepted riders are 8. After they are 8, it outputs the
number of rejected riders and tells the rest that they are
ready to go!

2. Pseudocode

WWW.ZNOTES.ORG Copyright © 2025 ZNotes Education & Foundation. All Rights Reserved. This document is
authorised for personal use only by Angad at Jaffery Academy Arusha on 26/05/25.
CAIE IGCSE COMPUTER SCIENCE

Loop Structures:
FOR…TO…NEXT : Will run for a determined/kn

REPEAT… UNTIL – Will run at least once till condition is


satisfied; Verification is done after running code

CASE…OF…OTHERWISE…ENDCASE – Multiple conditions and


corresponding consequences \n

WHILE…DO…ENDWHILE – May not ever run; Verification


is done before running code

Note: When using conditions in these loop structures


and conditional statement, it has to be kept in mind that
it can be done in two ways.
1. use of a Boolean variable that can have the value
TRUE or FALSE
2. comparisons made by using coparison operators,
where comparisons are made from left to right

IF [BOOLEAN VARIABLE]
THEN
OUTCOME
ELSE
OUTCOME
ENDIF

IF ((CONDITION 1) OR ( CONDITION 2)) AND (CONDIT


THEN
OUTCOME
ELSE
OUTCOME
ENDIF

WWW.ZNOTES.ORG Copyright © 2025 ZNotes Education & Foundation. All Rights Reserved. This document is
authorised for personal use only by Angad at Jaffery Academy Arusha on 26/05/25.
CAIE IGCSE COMPUTER SCIENCE

MaxiumumValue <--- Array[1] MinimumValue <--- A


2.1. FOR Counter ← 2 TO LoopLimit
IF Array[Counter] > MaximumValue
THEN
MaximumValue ← Array[Counter]
ENDIF

IF Array[Counter] < MinimumValue


THEN
MinimumValue ← Array[Counter]
ENDIF
NEXT Counter

// Average//

2.2. Standard methods used in Total ← 0


FOR Counter ← 1 TO NumberOfValues
algorithm: Total ← Total + StudentMark[Counter]
NEXT Counter
Totalling :Totalling means keeping a total that values are Average ← Total / NumberOfValues
added to
Linear Search: In a linear search, each item in the list is
Total ← 0 inspected sequentially until a match is found or the
FOR Counter ← 1 TO LoopLimit entire list is traversed.
Total ← Total + ValueToBeTotalled
NEXT Counter
INPUT Value
Counting: Keeping a count of the number of times an Found ← FALSE
action is performed is another standard method. Counter ← 0
REPEAT
PassCount ← 0
IF Value = Array[Counter]
FOR Counter ← 1 TO LoopLimit
THEN
INPUT Value
Found ← TRUE
IF Value > Range ELSE
THEN Counter ← Counter + 1
PassCount ← PassCount + 1
ENDIF
ENDIF
UNTIL Found OR Counter > NumberOfValues
NEXT Counter IF Found
THEN
Maximum, minimum and average : Finding the largest
OUTPUT Value , " found at position " , Counte
and smallest values in a list are two standard methods
ELSE
that are frequently found in algorithms
OUTPUT Value , " not found."
ENDIF

WWW.ZNOTES.ORG Copyright © 2025 ZNotes Education & Foundation. All Rights Reserved. This document is
authorised for personal use only by Angad at Jaffery Academy Arusha on 26/05/25.
CAIE IGCSE COMPUTER SCIENCE

Bubble Sort: Iteratively compare and swap adjacent REPEAT


elements in a list to sort them. Start from the first INPUT Value
element and continue until the second-to-last element. IF Value < MinimumValue OR Value > MaximumValu
After each pass, the last element is in its correct place. THEN
However, other elements may still be unsorted. Repeat OUTPUT "The student's mark should be in the r
the process, excluding the last element, until only one ENDIF
element remains or no swaps are needed. UNTIL Value >= MinimumValue AND Value <= Maximu

First ← 1 Length check


Last ← 10
REPEAT This can either ensure that data consists of a precise
Swap ← FALSE number of characters.
FOR Index ← First TO Last - 1
IF Array[Index] > Array[Index + 1] OUTPUT "Please enter your value of ", Limit , "
THEN REPEAT
Temp ← Array[Index] INPUT Value
Array[Index] ← Array[Index + 1] IF LENGTH(Value) <> Limit
Array[Index + 1] ← Temp THEN
Swap ← TRUE OUTPUT "Your value must be exactly" , Limit ,
ENDIF ENDIF
NEXT Index UNTIL LENGTH(Value) = Limit
Last ← Last - 1
UNTIL (NOT Swap) OR Last = 1
It can also check if the data entered is a reasonable number
of characters or not

2.3. Validation and Verification OUTPUT "Please enter your value "
REPEAT
To ensure the acceptance of reasonable and accurate data INPUT Value
inputs, computer systems must thoroughly examine each IF LENGTH(Value) > UpperLimit OR LENGTH(Value)
data item before accepting it, and this is where Validation THEN
and Verification come into play! OUTPUT "Too short or too long, please re-ent
ENDIF
Validation UNTIL LENGTH(Value) <= UpperLimit AND LENGTH(Va

Validation in computer systems involves automated checks Type check


to ensure the reasonableness of data before accepting it. If
the data is invalid, the system should provide an explanatory A type check verifies that the entered data corresponds to a
message for rejection and allow another chance to enter the specific data type.
data.
There are multiple types of validation. These include: OUTPUT "Enter the value "
Range check REPEAT
A range check verifies that a numerical value falls within INPUT Value
specified upper and lower limits. IF Value <> DIV(Value, 1)
THEN
OUTPUT "This must be a whole number, please
ENDIF
UNTIL Value = DIV(Value, 1)

Presence check
A presence check checks to ensure that some data has been
entered and the value has not been left blank

WWW.ZNOTES.ORG Copyright © 2025 ZNotes Education & Foundation. All Rights Reserved. This document is
authorised for personal use only by Angad at Jaffery Academy Arusha on 26/05/25.
CAIE IGCSE COMPUTER SCIENCE

OUTPUT "Please enter the value " Test data refers to input values used to evaluate and
REPEAT assess the functionality and performance of a computer
INPUT Value program or system.
IF Value = "" It helps identify errors and assess how the program
THEN handles different scenarios
OUTPUT "*=Required "
ENDIF 3.1. Normal Data
UNTIL Value <> ""
Normal data is the test data which accepts values in
Format Check acceptible range of values of the program
Normal data should be used to work through the
A format check checks that the characters entered conform solution to find the actual result(s) and see if they are the
to a pre-defined pattern.
same as the expected result(s)
e.g. in a program where only whole number values
Check Digit ranging from 0 to 100 (inclusive) are accepted, normal
A check digit is the final digit included in a code; it is test data will be : 23, 54, 64 , 2 and 100
calculated from all the other digits.
Check digits are used for barcodes, product codes, 3.2. Abnormal Data
International Standard Book Numbers (ISBN), and
Vehicle Identification Numbers (VIN). Test data that would be rejected by the solution as not
suitable, if the solution is working properly is called
Verification abnormal test data / erroneous test data.
e.g. in a program where only whole number values
Verification is checking that data has been accurately copied ranging from 0 to 100 (inclusive) are accepted, abnormal
from one source to another data will be: -1, 151, 200, 67.2, “Sixty-Two” and -520
There are 2 methods to verify data during entry ( there
are other methods during data transfer, but they are in 3.3. Extreme Data
paper 1)
Extreme data are the largest and smallest values that
1. Double Entry normal data can take
e.g. in a program where only whole number values
Data is inputted twice, potentially by different operators.
ranging from 0 to 100 (inclusive) are accepted, extreme
The computer system compares both entries and if they
data will be: 0 and 100
differ, an error message is displayed, prompting the data
to be reentered.
3.4. Boundary Data
2. Screen/Visual check
This is used to establish where the largest and smallest
A screen/visual check involves the user manually values occur
reviewing the entered data. At each boundary two values are required: one value is
After data entry, the system displays the data on the accepted and the other value is rejected.
screen and prompts the user to confirm its accuracy e.g. in a program where only whole number values
before proceeding. ranging from 0 to 100 (inclusive) are accepted, one
The user can compare the displayed data against a paper example of boundary data will be: 100 and 101. 100 will
document used as an input form or rely on their own be accepted and 101 will not be accepted
knowledge to verify correctness.
4. Trace Table
3. Test Data

WWW.ZNOTES.ORG Copyright © 2025 ZNotes Education & Foundation. All Rights Reserved. This document is
authorised for personal use only by Angad at Jaffery Academy Arusha on 26/05/25.
CAIE IGCSE COMPUTER SCIENCE

A trace table is utilized to document the outcomes of


every step in an algorithm. It is employed to record the 4.1. Identifying errors:
variable's value each time it undergoes a change.
A dry run refers to the manual process of systematically Trace tables can be used to trace errors in a program.
For example, if the requirement for the previous
executing an algorithm by following each step in
question would be to accept riders that are of height 1.2
sequence.
A trace table is set up with a column for each variable too, rather than rejecting them, then the error would
and a column for any output e.g. have been caught in the trace table as when 1.2 is
entered, it would increment rejected which it shouldn’t in
our example

5. How to write an algorithm?


The ability to write an algorithm is very important for
this syllabus and paper. Some key steps/points to be
Test data is employed to execute a dry run of the flowchart known in-order to write the perfect algorithm are as
and document the outcomes in a trace table. During the dry follows:
run:
1. Make sure that the problem is clearly understood
Whenever a variable's value changes, the new value is which includes knowing the purpose of the algorithm
recorded in the respective column of the trace table. and the tasks to be completed by the algorithm.
Each time a value is outputted, it is displayed in the 2. Break the problem into smaller problems (e.g. in a
output column. program which outputs average values, divide the
problem into multiple ones i.e. how to count the
An example of trace table is given below using a past paper number of iterations and how to count the total of all
question: values)
Q: The flowchart below inputs the height of children who 3. Identify the data that is needed to be saved into
want to ride on a rollercoaster. Children under 1.2 metres variables/constants/arrays and what datatype it is,
are rejected. The ride starts when eight children have been and declare all the variables/constants/arrays
accepted. accordingly, with meaningfull names
4. Decide on how you are going to construct your
algorithm, either using a flowchart or pseudocode. If
you are told how to construct your algorithm, then
follow the guidance.
5. Construct your algorithm, making sure that it can be
easily read and understood by someone else. Take
particular care with syntax e.g. when conditions are
used for loops and selection.
6. Use several sets of test data (Normal, Abnormal and
Boundary) to dry run your algorithm and check if the
expected results are achieved (a trace table can be
used for this purpose) . If error is found, find the
point of error in the trace table and fix it in the code.
Complete the trace table for the input data: 1.4, 1.3, 1.1, 1.3,
1.0, 1.5, 1.2, 1.3, 1.4, 1.3, 0.9, 1.5, 1.6, 1.0 Note: The algorithms that you have looked at so far in these
| Riders | Reject | Height | OUTPUT | |----|----|----|----| | 0 | notes were not designed with readability in mind because
0 | | | | 1 | | 1.4 | | | 2 | | 1.3 | | | | 1 | 1.1 | | | 3 | | 1.3 you needed to work out what the problem being solved was.
| | | | 2 | 1.0 | | | 4 | | 1.5 | | | | 3 | 1.2 | | | 5 | | 1.3 | |
| 6 | | 1.4 | | | 7 | | 1.3 | | | | 4 | 0.9 | | | 8 | | 1.5 | Ready
to go 4 | 6. Programming

WWW.ZNOTES.ORG Copyright © 2025 ZNotes Education & Foundation. All Rights Reserved. This document is
authorised for personal use only by Angad at Jaffery Academy Arusha on 26/05/25.
CAIE IGCSE COMPUTER SCIENCE

Different data types are assigned to computer systems


6.1. Programming Languages for effective processing and storage.
Data types allow data, such as numbers or characters, to
~~T~~here are many high-level programming languages be stored appropriately.
to choose from. We will only be treating Python, Visual
Data types enable effective manipulation using
Basic, or Java.
mathematical operators for numbers and character
Python is an open-source, versatile programming concatenation.
language that encourages quick program development Some data types provide automatic validation.
and emphasises code readability. The integrated The types of datatypes are told in Chapter 1 already!
development environment (IDE) showcased in this
chapter is referred to as IDLE. Input and Output
Visual Basic is a popular programming language that is
Programs require input and output statements to handle
extensively used for Windows development. The
data.
integrated development environment (IDE) featured in
this chapter is known as Visual Studio, which is utilised In IGCSE Computer Science, algorithms and programs
for capturing screenshots. are designed to take input from a keyboard and output
Java is a widely adopted programming language utilised to a screen.
Prompting the user with clear instructions for input is
by numerous developers. The integrated development
necessary for the user to understand what is expected.
environment (IDE) employed for capturing screenshots in
this chapter is known as BlueJ. Input data in programming languages must match the
required data type of the variable where it will be stored.
By default, inputs are treated as strings, but commands
6.2. Programming Concepts can convert input to integer or real number data types.
Users should be provided with information about the
Constructs of a Program output/results for a program to be useful.
Each output should be accompanied by a message
Data use – variables, constants and arrays explaining the result's meaning or significance.
Sequence – order of steps in a task If an output statement has multiple parts, they can be
Selection – choosing a path through a program separated by a separator character.
Iteration – repetition of a sequence of steps in a program
Operators use arithmetic for calculations and logic and
Boolean for decisions. 6.3. Basic Concepts
Variables and Constants When writing the steps required to solve a problem, the
following concepts need to be used and understood:
A variable within a computer program refers to a named
Sequence
storage unit with a value that can be modified Selection
throughout the program's execution. To enhance Iteration
comprehension for others, it is advisable to assign Counting and totalling
significant names to variables. String handling
A constant within a computer program represents a
Use of operators.
named storage unit that holds a value which remains
unchanged throughout the program's execution. Similar Sequence
to variables, it is recommended to assign meaningful
names to constants to enhance comprehensibility for The ordering of the steps in an algorithm is very important.
others. An incorrect order can lead to incorrect results and/or extra
steps that are not required by the task.
Data Types
Selection

WWW.ZNOTES.ORG Copyright © 2025 ZNotes Education & Foundation. All Rights Reserved. This document is
authorised for personal use only by Angad at Jaffery Academy Arusha on 26/05/25.
CAIE IGCSE COMPUTER SCIENCE
Selection is a very useful technique, allowing different routes
through the steps of a program. The code of this is explained Arithmetic, Logical and Boolean Operators
in the notes of previous chapters.
As explained in the previous chapter, we already
Iteration
Use of Nested Statements
As explained in the previous chapter, we already
Selection and iteration statements can be nested,
Totalling and Counting meaning one statement can be placed inside another.
Nested statements help reduce code duplication and
As explained in the previous chapter, we already simplify testing of programs.
Different types of constructs can be nested within each
String Handling other, such as selection statements within condition-
controlled loops or loops within other loops.
Strings are used to store text and can contain various
characters. Procedures and Functions
An empty string has no characters, while the
programming language specifies the maximum number Procedures and functions are defined at the start of the
of characters allowed. code.
Characters in a string can be identified by their position
number, starting from either zero or one, depending on A procedure refers to a collection of programming
the programming language. statements organized under a single name, invoked at
String handling is an important aspect of programming. any given point in a program to execute a specific task.
In IGCSE Computer Science, you will need to write A function is a compilation of programming statements
algorithms and programs for the following string consolidated under a singular name, invoked at any
methods: moment within a program to accomplish a particular
Length: Determines the number of characters in a task. Unlike a procedure, a function also has the
string, including spaces. capability to return a value back to the main program.
Substring: Extracts a portion of a string. Parameters refer to variables that store the values of
Upper: Converts all letters in a string to uppercase. arguments passed to a procedure or function. While not
Lower: Converts all letters in a string to lowercase. all procedures and functions require parameters, some
These string manipulation methods are commonly utilize them to facilitate their operations.
provided in programming languages through library Procedures without parameters:
routines.
PROCEDURE ProcedureName ()
Finding the length of a string: [Commands]
LENGTH("Text Here") ENDPROCEDURE
//Calling/running the procedure
LENGTH(Variable) CALL ProcedureName()

Extracting a substring from a string: The procedure with parameters:

SUBSTRING("Computer Science", 10, 7) PROCEDURE ProcedureName (ParameterName : Parame


// returns the next 7 values starting from the [Commands]
SUBSTRING(Variable, Position, Length) ENDPROCEDURE
//Calling/running the procedure
Converting a string to upper case CALL ProcedureName (ParameterValue)

UCASE("Text here") Function:

UCASE(Variable) FUNCTION FunctionName (ParameterName : Paramete


[Commands]
Converting a string to lowercase RETURN ValueToBeReturned
ENDFUNCTION
LCASE("Text Here")

LCASE(Variable)

WWW.ZNOTES.ORG Copyright © 2025 ZNotes Education & Foundation. All Rights Reserved. This document is
authorised for personal use only by Angad at Jaffery Academy Arusha on 26/05/25.
CAIE IGCSE COMPUTER SCIENCE

When defining procedures and functions, the header is Value1 <--- MOD(10,3) returns the remainder of 10
the first statement in the definition. divided by 3
The header includes: Value2 <---- DIV(10,3) returns the quotient of 10 divided
The name of the procedure or function. by 3
Parameters passed to the procedure or function, Value3 <--- ROUND(6.97354, 2) returns the value
along with their data types. rounded to 2 decimal places
The data type of the return value for a function. Value4 <--- RANDOM() returns a random number
Procedure calls are standalone statements. between 0 and 1 inclusive
Function calls are made as part of an expression,
typically on the right-hand side. 6.5. Creating a Maintainable Program
Local and Global Variable A maintainable program should:
Any part of a program can use a global variable – its always use meaningful identifier names for variables,
scope covers the whole program constants, arrays, procedures and functions
A local variable can only be used by the part of the be divided into modules for each task using procedures
program it is declared in – its scope is restricted to that and functions
part of the program. be fully commented using your programming language’s
commenting feature
Note: Any variables/arrays made in this procedure and
functions will be local and cannot be used out of these. Commenting in pseudocode:
To be made available all over the program, they must be
declared globally in the following way. // Now the text written is commented and thus i

DECLARE [VariableName] : DataType AS GLOBAL ""


This method can also be used to comment
6.4. Library Routines multiple lines but the singular line method
is more widely accepted and reccomended too
Programming language development systems often ""
provide library routines that can be readily incorporated
into programs. 6.6. Arrays
Library routines are pre-tested and ready for use, making
programming tasks easier. An array is a data structure containing several elements
Integrated Development Environments (IDEs) typically of the same data type; these elements can be accessed
include a standard library of functions and procedures. using the same identifier name.
Standard library routines perform various tasks, The position of each element in an array is identified
including string handling. using the array’s index.
MOD – returns the remainder of a division There are two types of arrays
DIV – returns the quotient (i.e. the whole number part) of
a division One-Dimensional Array
ROUND – returns a value rounded to a given number of
decimal places Explained in the previous chapter in detail
RANDOM – returns a random number.
Two-Dimensional Array
Examples:

WWW.ZNOTES.ORG Copyright © 2025 ZNotes Education & Foundation. All Rights Reserved. This document is
authorised for personal use only by Angad at Jaffery Academy Arusha on 26/05/25.
CAIE IGCSE COMPUTER SCIENCE
Key point: When writing in a file, the program is
A two-dimensional array can be referred to as a table outputing the data to the file, and when reading a file,
with rows and columns. the program in inputing the data from the file
\n There are 3 ways a file can be opened in a program i.e. to
write, to read and to append

7.1. Writing in a file


OPENFILE "filename.txt" FOR WRITE

//When opening a file to write, all the data al

WRITEFILE "filename.txt" , Value

// The next command of WRITEFILE would be write


When a two-dimensional array is declared in
pseudocode, the first and last index values for rows and
CLOSEFILE "filename.txt"
the first and last index values for columns alongside the
data type are included.
7.2. Reading a file:
Declaring a 2D Array:
OPENFILE "filename.txt" FOR READ
DECLARE Name : ARRAY[RowLower:RowUpper,ColumnLow READFILE "filename.txt" , Variable
// The value in the line (which is identified b
Filling a 2-D array using a loop:
CLOSEFILE "filename.txt"
FOR ColumnCounter ← 0 TO 2
FOR RowCounter ← 0 TO 9 7.3. Reading a file till EOF:
OUTPUT "Enter next value "
INPUT ArrayName [RowCounter, ColumnCounter] OPENFILE "filename.txt" FOR READ
NEXT RowCounter DECLARE DataVariable : STRING
NEXT ColumnCounter WHILE NOT EOF("filename.txt) DO
READFILE "filename.txt", DataVariable

7. File Handling // here the line can be outputted or stored in


//before the file ends has been read
ENDWHILE
Computer programs store data that will be needed again
in a file.
Data stored in RAM is volatile and will be lost when the 8. Databases
computer is powered off.
Data saved to a file is stored permanently, allowing it to A database is a well-organized compilation of data that
be accessed by the same program at a later date or by enables individuals to retrieve information according to their
other programs. specific requirements. The data contained within a database
Stored data in a file can be transferred and used on can encompass various forms such as text, numerical
other computers. values, images, or any other type of digital content that can
The storage of data in files is a commonly used feature in be stored on a computer system.
programming.
8.1. Why do we need a database?

WWW.ZNOTES.ORG Copyright © 2025 ZNotes Education & Foundation. All Rights Reserved. This document is
authorised for personal use only by Angad at Jaffery Academy Arusha on 26/05/25.
CAIE IGCSE COMPUTER SCIENCE

To store data about people, things, and events. Database management software automatically provides
Any modifications or additions need to be made only some validation checks, while others need to be set up
once, ensuring data consistency. by the developer during construction.
All users access and utilize the same set of data, For example; The software automatically validates fields
promoting uniformity. like "DateOfAdmission" in the PATIENT table to ensure
Relational databases store data in a non-repetitive data input is a valid date. \n
manner, eliminating duplication.
8.4. Basic Data Types
8.2. What makes a database?
Each field will require a data type to be selected. A data type
Data is stored in tables in databases. Each table consists classifies how the data is stored, displayed and the
of a specific type of data e.g. cars. These tables HAVE to operations that can be performed on the stored value.
be named according to what they contain e.g. a table The datatypes for database are quite similar to original
containing patient information will be PATIENT datatypes, however, there are a few differences.
These tables consist of records (rows). Each record
consists of data about a single entity (a single item,
person or event ) e.g. a single car
These tables also have columns that are knows an fields.
These consist of specific information regarding the
entities that are written later in records e.g. car name,
car manufacturer etc.

Note: In this chapter, skills of dealing with a database Note: Access datatype refers to the software Microsoft
are also required so working with Microsoft Access is Access which is a DBMS (DataBase Management
needed to understand this chapter better. You have to be System). Here, databases could be worked upon in
able to define a single-table database from given data practical form
storage requirements, choose a suitable primary key for a
database table and also be able to read, complete and
understand SQL scripts.
8.5. 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,
Source: Cambridge IGCSE and O Level Computer Science by such as the ISBN in the book table.
Hodder Education In cases where all existing fields may contain repeated
data, an additional field, such as "HospitalNumber," can
8.3. Validation in databases be added to each record to serve as the primary key.

8.6. Structured Query Language - SQL

WWW.ZNOTES.ORG Copyright © 2025 ZNotes Education & Foundation. All Rights Reserved. This document is
authorised for personal use only by Angad at Jaffery Academy Arusha on 26/05/25.
CAIE IGCSE COMPUTER SCIENCE

Structured Query Language (SQL) is the standard


language for writing scripts to retrieve valuable
information from databases.
By using SQL, we can learn how to retrieve and display
specific information needed from a database.
For instance, someone visiting a patient may only require
the ward number and bed number to locate them in the
hospital, while a consultant may need a list of the names
of all the patients under their care. This can be done
using SQL

SQL Scripts
An SQL script is a collection of SQL commands that are 8.7. Operators
used to perform a specific task, often stored in a file for
reusability. Just like pseudocode, the operators used there can also be
To comprehend SQL and interpret the output of an SQL used here for conditions, however, a few more are also used
script, practical experience in writing SQL scripts is in databases
necessary.

Select Statements:

SELECT (fieldsname)
FROM (tablesname)
WHERE (condition)
ORDER BY (sortingcondition) ;

Selecting Sum of values in a table:

SELECT SUM ( fieldsname )


FROM (tablesname)
WHERE (condition)
ORDER BY (sortingcondition) ; 9. Boolean Logic
Counting the number of records where the field
matches a specified condition 9.1. Logic Gates and their functions
SELECT COUNT ( fieldsname )
FROM (tablesname)
Six types of logic gates
WHERE (condition) NOT Gate
ORDER BY (sortingcondition) ;
AND Gate
==ORDER BY ASCENDING - sorts in ascending order.== OR Gate
==ORDER BY DESENDING - sorts in descending order.== NAND Gate
Note: ORDER BY…is not necessary to add. It has to be only NOR Gate
added if required! XOR Gate

NOT gate: an inverter, $\overline{A}$


| A | Output | |----|----| | 0 | 1 | | 1 | 0 |

WWW.ZNOTES.ORG Copyright © 2025 ZNotes Education & Foundation. All Rights Reserved. This document is
authorised for personal use only by Angad at Jaffery Academy Arusha on 26/05/25.
CAIE IGCSE COMPUTER SCIENCE

AND gate: $\text{A.B}$ 1. Look at the ciruit and go around the logic gates used
in the circuit
| A | B | Output | |----|----|----| | 0 | 0 | 0 | | 0 | 1 | 0 | | 1 2. Go from the one output that is being given towards
|0|0||1|1|1| the input
3. Write the last gate ( the first gate you walk through )
in the middle and then, for each of the value coming
into the gate, leave space at the side
4. If the value coming into the gate is coming from
another gate, use a bracket for the gate’s logic
OR gate: $A + B$ 5. Repeat process 3-4 till you are able to reach the input
values fully
| A | B | Output | |----|----|----| | 0 | 0 | 0 | | 0 | 1 | 1 | | 1
|0|1||1|1|1|
10.2. Writing from a truth table
1. Create logic circuit fom the truth table (shown later)
2. Write the logic statement using the ciruit
NAND gate: $\overline{\text{A.B}}$
| A | B | Output | |----|----|----| | 0 | 0 | 1 | | 0 | 1 | 1 | | 1 10.3. Writing from a Problem statement
|0|1||1|1|0|
1. See what logics go in place in the statement to take
place
2. Go from the logic of any 2 inputs at the start, and
then keep on going until you are able to reach the
final gate which gives the output
NOR gate: $\overline{A + B}$ 3. When writing the statement, make sure you show the
logic statement where the output is 1
| A | B | Output | |----|----|----| | 0 | 0 | 1 | | 0 | 1 | 0 | | 1
|0|0||1|1|0|
10.4. Example of a LOGIC STATEMENT
(B AND C) OR (A NOR (A NAND C)) is the logic statement for
the following Logic Circuit

XOR gate: A ⨁ B​
| A | B | Output | |----|----|----| | 0 | 0 | 0 | | 0 | 1 | 1 | | 1
|0|1||1|1|0|

10. Writing Logic Statements


Logic Statements is a way of showing all the logics that are in
place for a logic circuit. 11. Creating Truth Tables
10.1. Writing from a logic circuit 11.1. From Logic Circuits

WWW.ZNOTES.ORG Copyright © 2025 ZNotes Education & Foundation. All Rights Reserved. This document is
authorised for personal use only by Angad at Jaffery Academy Arusha on 26/05/25.
CAIE IGCSE COMPUTER SCIENCE

1. Create a truth table with each input possible, creating


every possible combination of inputs . Tip: For the
first input, write it in the combination of 1,0,1,0
and so on. For the second, go 1,1,0,0 and so on,
and for the third one, go 1,1,1,1,0,0,0,0 going by
the powers of 2 for each input. This would
guarantee each possible combination
2. Run through the circuit with the inputs and get the
output that will be reached and write it accordingly

For logic statements, and problem statements,


convert them to logic circuits first and then do the
rest 1. Given the truth table above, take the rows where the
output (x) is 1 (Rows 1, 2, 4, 5, 6, 7)
11.2. Example 2. Create a logic expression from these rows (example,
row 1 will be (NOT A AND NOT B AND NOT C) = X
This is the example of a truth table of a logic circuit 3. Create logic expressions for all the rows with output
1 and connect them with OR gate

13. Exam-Style Question

The circuit:

1. The Conditions are given so make logic statements


using the conditions and the table. (NOT S AND T) OR
(S AND W) OR (NOT T AND W)
2. Make the logic circuit from the given equation
3. Make the truth table
12. Logic Statements from
Truth Tables

WWW.ZNOTES.ORG Copyright © 2025 ZNotes Education & Foundation. All Rights Reserved. This document is
authorised for personal use only by Angad at Jaffery Academy Arusha on 26/05/25.
CAIE IGCSE
Computer Science

© ZNotes Education Ltd. & ZNotes Foundation 2025. All rights reserved.
This version was created by Angad on Mon May 26 2025 for strictly personal use only.
These notes have been created by Abdullah Aamir, Shriram S, Abhiram Mydi, Maimoona Junjunia & Adarsh SR Nalamalapu for the 2023-
2025 syllabus.
The document contains images and excerpts of text from educational resources available on the internet and printed books.
If you are the owner of such media, test or visual, utilized in this document and do not accept its usage then we urge you to contact us
and we would immediately replace said media. No part of this document may be copied or re-uploaded to another website.
Under no conditions may this document be distributed under the name of false author(s) or sold for financial gain.
"ZNotes" and the ZNotes logo are trademarks of ZNotes Education Limited (registration UK00003478331).

You might also like