Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
SEC 09 Syllabus Computing
2025
MATSEC Examinations Board
SEC 09 SYLLABUS (2025): COMPUTING
Page 1 of 171
Table of Contents List of Subject Foci ............................................................................................................................................................ 3
List of Learning Outcomes ................................................................................................................................................ 3
Programme Level Descriptors ........................................................................................................................................... 4
Learning Outcomes and Assessment Criteria ................................................................................................................... 7
Scheme of Assessment ................................................................................................................................................... 52
General Notes .............................................................................................................................................................. 52
School Candidates ....................................................................................................................................................... 53
Private Candidates ....................................................................................................................................................... 55
Appendices ...................................................................................................................................................................... 56
Appendix 1: Private Candidates .................................................................................................................................. 56
Appendix 2: Arduino: Sample Circuits and Code for MQF 1-2 Handout ..................................................................... 58
Appendix 3: Python Code Constructs for MQF 1-2 Handout ...................................................................................... 60
Appendix 4: Tkinter Code Constructs for MQF 1-2 Handout ...................................................................................... 63
Appendix 5: Arduino: Sample Circuits and Code for MQF 2-3 Handout ..................................................................... 64
Appendix 6: Python Code Constructs for MQF 2-3 Handout ...................................................................................... 66
Appendix 7: Tkinter Code Constructs for MQF 2-3 Handout ...................................................................................... 70
Coursework Modes ......................................................................................................................................................... 72
Coursework mode 1: Programming Dedicated Systems ............................................................................................. 73
Marking Criteria: Programming Dedicated Systems................................................................................................ 79
Coursework mode 2: Python Programming (Text-Based Interface) ........................................................................... 80
Marking Criteria: Python Programming (Text-Based Interface) .............................................................................. 87
Coursework mode 3: Python Programming (Graphics-Based Interface) .................................................................... 88
Marking Criteria: Python Programming (Graphics-Based Interface) ....................................................................... 93
Coursework mode 4: Research Work .......................................................................................................................... 95
Marking Criteria: Research Work .......................................................................................................................... 102
Subject Content............................................................................................................................................................. 104
Specimen Assessments ................................................................................................................................................. 106
Specimen Assessments: Controlled Paper MQF 1-2 ................................................................................................. 106
Specimen Assessments: Controlled Paper MQF 1-2 – Marking Scheme ............................................................... 119
Specimen Assessments: Controlled Paper MQF 2-3 ................................................................................................. 124
Specimen Assessments: Controlled Paper MQF 2-3 – Marking Scheme ............................................................... 136
Specimen Assessments: Private Candidates Paper MQF 1-2 .................................................................................... 141
Specimen Assessments: Private Candidates Paper MQF 1-2 – Marking Scheme ................................................. 151
Specimen Assessments: Private Candidates Paper MQF 2-3 .................................................................................... 157
Specimen Assessments: Private Candidates Paper MQF 2-3 – Marking Scheme ................................................. 166
SEC 09 SYLLABUS (2025): COMPUTING
Page 2 of 171
Introduction
This syllabus is based on the curriculum principles outlined in The National Curriculum Framework for All (NCF) which
was translated into law in 2012. It is designed using the Learning Outcomes Framework that identify what students
should know and be able to achieve by the end of their compulsory education.
As a learning outcomes-based syllabus, it addresses the holistic development of all learners and advocates a quality
education for all as part of a coherent strategy for lifelong learning. It ensures that all children can obtain the necessary
skills and attitudes to be future active citizens and to succeed at work and in society irrespective of socio-economic,
cultural, racial, ethnic, religious, gender and sexual status. This syllabus provides equitable opportunities for all
learners to achieve educational outcomes at the end of their schooling which will enable them to participate in lifelong
and adult learning, reduce the high incidence of early school leaving and ensure that all learners attain key twenty-
first century competences.
This programme also embeds learning outcomes related to cross-curricular themes, namely digital literacy; diversity;
entrepreneurship; creativity and innovation; sustainable development; learning to learn and cooperative learning and
literacy. In this way, students will be fully equipped with the skills, knowledge, attitudes and values needed to further
learning, work, life and citizenship.
What is Computing?
Computing is an ideal foundation course for further study in Computer Science. Understanding the principles of digital
devices, problem solving, and software development provide learners with the underpinning knowledge required for
many other subjects in science, engineering and the IT sphere. The skills learnt can also be used in everyday life.
What does a study of Computing entail?
In Computing, candidates take a hands-on approach to technology. The aim is in fact to help candidates to reflect on
the technology they use every day and encouraging them to think about how and why it works, and how and why it
can be better.
In Computing, candidates are encouraged to focus on real world problem-solving. In fact, a key component of
Computing is problem-solving through programming, where candidates get the opportunity to program dedicated
systems and create simple applications of their own. This is in fact a source of great satisfaction to the candidates.
Computing provides the candidates with skills required in further education, equipping them for the ever-increasing
new jobs in the tech market.
How is the Computing related to candidates’ lives, to Malta, and/or to the world?
The aim is to spark computational thinking and empower candidates with the twenty first century skills that will let
them start preparing today for the problems we will only meet tomorrow, and to make sure they enjoy the
opportunity.
The IT sphere is vast and an important part of various aspects of society. Computing will empower students to be able
to choose an area they are interested in and continue growing.
SEC 09 SYLLABUS (2025): COMPUTING
Page 3 of 171
The aspirational programme learning outcomes for this subject are:
At the end of the programme, I can:
1. develop an understanding of the components, the architecture and the organisation of a digital device;
2. develop an understanding of the problem-solving process;
3. acquire skills to create algorithms to solve problems;
4. acquire necessary skills to solve computer-based problems using high-level programming language.
5. develop an appreciation for the characteristics of operating systems and their applications;
6. develop an understanding of how computer networks can be used to connect computers together;
7. develop a range of cognitive skills, including critical thinking skills.
List of Subject Foci 1. Introduction to Digital Devices
2. Principles of Computing
3. Machine Logic
4. Databases
5. Fundamentals of Networking
6. Problem Solving, Algorithms and Physical Computing
7. Programming Languages and Fundamentals to Program Development
List of Learning Outcomes At the end of the programme, I can:
LO 1. identify the function of the main components in a digital device to process both digital and analogue data.
LO 2. represent data using different number systems and perform basic binary arithmetic operations.
LO 3. describe the use and the quality of input and output devices.
LO 4. distinguish between memory and storage in digital devices and describe the implications of the different technologies used.
LO 5. distinguish and identify the importance of different types of software and software licenses.
LO 6. assess the suitability of different CPU specifications for different scenarios.
LO 7. describe the role and the basic functions of an Operating System in different digital systems.
LO 8. understand principles of machine logic in general and produce logic circuits, truth tables & Boolean expressions using the NOT, AND, and OR gates.
LO 9. show an understanding of a relational database, its structure and use.
LO 10. outline networking concepts of how devices communicate.
LO 11. produce algorithms, by applying problem solving concepts, and develop simple dedicated systems using boards powered by microcontrollers or System on Chip (SoC) technology.
LO 12. distinguish between low and high-level languages.
LO 13. develop programs using Python programming language that includes textual and graphical interfaces.
SEC 09 SYLLABUS (2025): COMPUTING
Page 4 of 171
Programme Level Descriptors This syllabus sets out the content and assessment arrangements for the award of Secondary Education Certificate in
Computing at MQF Level 1, 2 or 3. Level 3 is the highest level which can be obtained for this qualification.
Table 1 overleaf refers to the qualification levels on the Malta Qualifications Framework (MQF) with minor
modifications to reflect specific Computing descriptors. These are generic statements that describe the depth and
complexity of each MQF level of study and outline the knowledge, skills and competences required to achieve an
award at Level 1, 2 or 3 in Computing.
Knowledge involves the acquisition of basic, factual and theoretical information. Skills involve the application of the
acquired knowledge and understanding to different contexts. Competences indicate sufficiency of knowledge and
skills that enable someone to act in a wide variety of situations, such as whether one is competent to exercise skills
with or without supervision, autonomy or responsibility.
SEC 09 SYLLABUS (2025): COMPUTING
Page 5 of 171
MQF Level 1 MQF Level 2 MQF Level 3
Basic general knowledge of Computing
1. Acquires basic general knowledge related to the
immediate Computing environment and
expressed through a variety of simple tools and
context as an entry point to lifelong learning;
2. Knows and understands the steps needed to
complete simple tasks and activities in an
Computing environment;
3. Is aware and understands basic Computing tasks
and instructions;
4. Understands basic Computing textbooks and
instruction guides.
Basic factual knowledge of the Computing fields of work
or study.
1. Possess good knowledge of the Computing field of
work or study;
2. Is aware and interprets Computing related
information and ideas;
3. Understands facts and procedures in the application
of basic IT related tasks and instructions;
4. Selects and uses relevant Computing knowledge to
accomplish specific actions for self and others.
Knowledge of facts, principles, processes and general
concepts in the Computing field of work or study.
1. Understands the relevancy of theoretical
knowledge and information related to the
Computing field of work or study;
2. Assesses, evaluates and interprets facts,
establishing basic principles and concepts in the
Computing field of work or study;
3. Understands facts and procedures in the application
of more complex Computing tasks and instructions;
4. Selects and uses relevant Computing knowledge
acquired on one’s own initiative to accomplish
specific actions for self and others.
Basic skills required to carry out simple Computing
related tasks.
1. Can apply basic Computing knowledge and carry
out a limited range of simple tasks;
2. Has basic repetitive communication skills to
complete well defined Computing routine tasks
and identifies whether actions have been
accomplished;
3. Follows instructions and be aware of
consequences of basic actions for self and others.
Basic cognitive and practical skills required to use
relevant Computing information to carry out tasks and
to solve Computing related routine problems using
simple rules and tools.
1. Can demonstrate a range of skills by carrying out a
range of complex Computing related tasks within
the IT field of work or study;
2. Communicates basic Computing related
information;
3. Ensures Computing related tasks are carried out
effectively.
A range of cognitive and practical skills required to
accomplish Computing related tasks and solve
Computing related problems by selecting and applying
basic methods, tools, materials and information.
1. Demonstrates a range of developed Computing
skills to carry out more than one complex
Computing related task effectively and in unfamiliar
and unpredictable Computing contexts;
2. Communicates more complex Computing
information;
3. Solves basic Computing related problems by
applying basic methods, tools, materials and
information given in a restricted learning
environment.
SEC 09 SYLLABUS (2025): COMPUTING
Page 6 of 171
MQF Level 1 MQF Level 2 MQF Level 3
Work out or study under Direct Supervision in a
structured Computing context.
1. Applies basic Computing knowledge and skills to
do simple, repetitive and familiar tasks;
2. Participates in and takes basic responsibility for
the action of simple Computing tasks;
3. Activities are carried out under guidance and
within simple defined timeframes;
4. Acquires and applies basic Computing key
competences at this level.
Work or study under supervision with some autonomy.
1. Applies factual Computing knowledge and practical
skills to do some structured tasks;
2. Ensures one acts pro-actively;
3. Carries out Computing related activities under
limited supervision and with limited responsibility in
a quality-controlled Computing context;
4. Acquires and applies basic Computing key
competences at this level.
Take responsibility for completion of Computing related
tasks in work or study and adapt own behaviour to
circumstances in solving Computing problems.
1. Applies Computing knowledge and skills to do some
Computing tasks systematically;
2. Adapts own behaviour to circumstances in solving
Computing related problems by participating pro-
actively in structured Computing learning
environments;
3. Uses own initiative with established responsibility
and autonomy, but is supervised in quality-
controlled learning environments, normally in an
Computing environment;
4. Acquires Computing key competences at this level
as a basis for lifelong learning.
SEC 09 SYLLABUS (2025): COMPUTING
Page 7 of 171
Learning Outcomes and Assessment Criteria
Subject Focus: Introduction to Digital Devices
Learning Outcome 1: (Controlled)
At the end of the programme, I can identify the function of the main components in a digital device to process both digital and analogue data.
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
1.1a Define the components/devices in a computer system.
Limited to motherboard, CPU, RAM, and input / output devices and storage devices.
Note: Each component is limited to the following characteristics:
Motherboard: Component that assembles all components together;
CPU: processes data and returns the result;
RAM: Working memory, Volatility, Read & Write access;
Input / Output Devices: Inputting data to device and outputs information to the user;
Storage Devices: Components that permanently store data.
1.1b Identify the components/devices in a computer system.
Limited to components in 1.1a according to the following hardware diagram:
1.2b Explain the data flow between the main components/devices in a computer system.
Example: CPU cannot process data directly from storage.
SEC 09 SYLLABUS (2025): COMPUTING
Page 8 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
1.1c Define data and/or information. 1.2c Distinguish between data and information.
1.1d Identify examples of data and information according to a given scenario.
1.2d Recommend examples of data and information according to a given scenario.
1.3d Justify the difference between data and information in a given scenario.
Example: Data coming from sensors and interpreted by software to produce graphs and data coming from record logs and the identification of trends.
1.1e Define binary units of measurement.
Including but not limited to: bits, Bytes, Kilobytes, Megabytes, Gigabytes & Terabytes.
Note: 1bit = 0 or 1; 8bits = 1 Byte; 1024 Bytes = 1 Kilobyte, etc.
1.2e Solve problems related to binary units of measurement.
SEC 09 SYLLABUS (2025): COMPUTING
Page 9 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
1.1f Define analogue and/or digital data.
Limited to continuous (wave) and discrete values.
1.2f Distinguish between analogue and digital data.
1.1g Define analogue-to-digital (ADC) and/or digital-to-analogue (DAC) conversions.
1.2g Explain the need for ADC and DAC conversions. 1.3g Evaluate the implications of the sampling level used during ADC.
Limited to implications of cost, data quality and portability.
1.1h Define a microcontroller.
Limited to CPU, ROM, RAM and storage components in one chip.
1.1i Identify devices powered by a microcontroller.
Examples: DVD player, appliances, power tools, toys, microcontroller-based platforms, such as Arduino etc.
1.2i List devices that are powered by a microcontroller.
1.1j Define System on Chip (SoC) technology.
Limited to an entire system (CPU, ROM, RAM, storage and other components, such as GPU, modem and WIFI card) into one chip.
1.1k Identify devices using SoC technology.
Examples: smartphones, tablets, single-board computers, such as Raspberry Pi boards, wearable devices, digital cameras, wireless routers, smart TVs, etc.
1.2k List devices that use SoC technology.
SEC 09 SYLLABUS (2025): COMPUTING
Page 10 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
1.2l Distinguish between microcontroller and SoC.
Limited to:
Microcontroller used in embedded systems that can only perform a dedicated task, or several tasks related to a single use;
SoC used for more powerful applications and processing capability of a computer and can do all the tasks, such as running an OS
1.3l Justify the appropriateness of SoC and/or microcontroller technology in a given scenario.
Limited to device portability, power efficiency, lack of adaptability, and low production costs but initial manufacturing costs.
SEC 09 SYLLABUS (2025): COMPUTING
Page 11 of 171
Subject Focus: Principles of Computing
Learning Outcome 2: (Controlled)
At the end of the programme, I can represent data using different number systems and perform basic binary arithmetic operations.
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
2.1a Recognise different number systems.
Limited to binary, decimal and hexadecimal.
Note: unit used is base 2, 10 and 16.
2.2a Distinguish between the use of different number systems.
Limited to binary, decimal and hexadecimal.
2.3a Solve problems related to different number systems in specific scenarios.
Note: candidates are expected to use positional notations to solve problems in a scenario.
Example: the use of 62 base number system for URL-Shortener.
2.2b Outline the use of a bit pattern according to a given scenario.
2.2c Convert binary numbers into decimal and vice versa.
2.2d Convert hexadecimal numbers into binary and vice versa.
2.2e Convert hexadecimal numbers into decimal and vice versa.
2.2f Represent positive and negative numbers in binary using two’s complementation method.
SEC 09 SYLLABUS (2025): COMPUTING
Page 12 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
2.2g Carry out binary addition and/or subtraction.
Limited to:
up to three unsigned numbers for addition;
the use of the two’s complementation method and up to two numbers for subtraction.
2.3g Justify the use of two’s complement representation.
Note:
eliminate the problem with one’s complement, in that 0 has a double representation;
flexibility of the circuit to process both addition and subtraction.
2.2h Carry out binary multiplication and division.
Limited to: the use of the bit shifting operations and unsigned whole numbers.
2.2i Solve problems related to range of values in a given register.
Limited to unsigned and two’s complement registers.
2.3i Justify the occurrence of numerical overflow.
2.1j Define standard character coding systems.
Limited to the need to provide a universal mode of representing characters on different platforms.
2.2j Identify the need of different standard character coding systems.
Limited to ASCII (8 bits) and UNICODE (16 bits).
SEC 09 SYLLABUS (2025): COMPUTING
Page 13 of 171
Subject Focus: Principles of Computing
Learning Outcome 3: (Controlled & Coursework)
At the end of the programme, I can describe the use and the quality of input and output devices.
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
3.1a Define the concept of the input of data into digital devices.
3.1b Define the concept of the output of information from digital devices.
3.1c Define peripheral devices.
3.2c Categorise components in digital devices as being input, output or both.
Note: Description of specialised devices must be given in exam questions.
Examples: smartphone device has the following components: speaker, camera, flash, microphone, screen, satellite receiver, accelerometer sensor, etc.
3.3c Evaluate the use of different components in a specific scenario.
3.2d List different input and/or output and/or input/output components in a specific scenario.
3.3d Recommend different component/s according to a specific scenario.
3.3e Justify the choice of different component/s according to a specific scenario.
3.1f Define serial and/or parallel data transfer between peripheral devices and digital systems.
3.2f Distinguish between the concepts of serial and parallel data transfer.
3.3f Explain advantages and/or disadvantages of serial and/or parallel data transfer in a given scenario.
Limited to scenarios in terms of data transfer to/from peripheral devices and digital systems.
Example: data transfer to/from peripheral devices have a problem with data synchronisation.
SEC 09 SYLLABUS (2025): COMPUTING
Page 14 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
3.1g Identify the different characteristics which determine output quality.
Characteristics limited to: 1) visual resolution, bit depth and frames per second; and 2) sound sampling.
3.2g Explain the different characteristics which determine output quality.
3.3g Evaluate the suitability of resources based on the characteristics which determine output quality in a given scenario.
Examples of resources may include: images, audio files, video clips, animations, etc.
3.2h Find solutions that determine the characteristics of output quality.
3.3h Justify the suitability of resources based on the characteristics which determine output quality for a given scenario.
Characteristics limited to those listed in 3.1g.
Examples of resources as listed in 3.3g.
SEC 09 SYLLABUS (2025): COMPUTING
Page 15 of 171
Subject Focus: Principles of Computing
Learning Outcome 4: (Controlled)
At the end of the program, I can distinguish between memory and storage in digital devices and describe the implications of the different technologies used.
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
4.1a Define primary and/or secondary storage.
Note:
Primary storage refers to memory components (RAM, ROM and cache);
Secondary storage refers to storage devices such as Hard Disk or flash drive.
4.1b Define the memory components used in digital devices.
Limited to byte-addressable RAM and/or ROM and/or cache.
4.2b List different memory components used in digital devices.
4.1c Identify memory components used in digital devices.
Limited to as in 4.1b.
4.2c Distinguish between memory components used in digital devices in terms of volatility, speed and use.
Note: differences in both general-purpose systems, such as a PC, laptop or smartphone, as well as in dedicated systems, such as a washing machine, air conditioner, etc.
Example: ROM in a PC stores the booting up instructions (firmware/BIOS) while ROM in a toy-car stores: 1) start-up routines when the car is switched on; 2) factory settings, such as remote-control frequencies; and 3) set-routines (instructions), such as how the buttons on the remote-control signals different motors/servos in the car.
4.3c Justify the choice of memory components for specific scenarios.
Example: 16GB RAM is suitable for a gamer PC but not required for an office PC OR 4MB Cache is suitable for an Office PC but an automated traffic light system which is powered by a microcontroller does not require 4MB of cache.
SEC 09 SYLLABUS (2025): COMPUTING
Page 16 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
4.1d Identify devices that are used for secondary storage.
Limited to: magnetic hard disk, optical media, SSD, flash drive and flash memory.
4.2d Distinguish between different storage devices in terms of speed, cost and portability.
Example: a Solid-State-Disk (SSD) is faster than a magnetic hard disk but more expensive.
4.2e Recommend storage media for specific scenarios.
Example: Blu-Ray used to store 4K Movie OR flash memory as expandable storage for smartphone, etc.
4.3e Justify the choice of storage media for specific scenarios.
4.1f Define cloud storage.
Note: in terms of a storage medium making use of a third-party infrastructure as a service and accessed remotely.
4.2f Describe advantages and disadvantages of cloud storage.
Note: Advantages and disadvantages should be justified in terms of cost, security, access to data, and data sharing issues.
4.3f Justify the use of cloud storage in specific scenarios.
Example: A doctor has the possibility of accessing a patient’s record from his/her personal laptop if a patient comes to the clinic, or smartphone if doing a house visit. Would you use cloud storage? Explain?
SEC 09 SYLLABUS (2025): COMPUTING
Page 17 of 171
Subject Focus: Principles of Computing
Learning Outcome 5: (Controlled)
At the end of the programme, I can distinguish and identify the importance of different types of software and software licences.
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
5.1a Define the different types of software.
Limited to: System software, application software, off-the-shelf software and tailor-made software (Bespoke).
5.1b Identify the different types of software.
Limited to: system software, application software, off-the-shelf software and tailor-made software (bespoke).
5.2b Distinguish between the different types of software.
5.3b Justify the type of software chosen for a given scenario.
5.1c Define the concept of a software license.
5.1d Define the software licenses.
Limited to: freeware, shareware, single-user, site, and open-source licenses.
Note: this syllabus refers to the licenses as follows: Freeware: a free to use software that cannot be
modified and shared for profit; Shareware: free to use software that offers a
limited functionality or based on a trial period; Subscription: is paid at regularly intervals, e.g.
monthly or yearly; Perpetual: is paid once; Site: provides access to software on multiple or
unlimited number of devices to be used in a single site, such as a University Campus;
Open-Source: allows the user to use, modify and update the software as needed.
SEC 09 SYLLABUS (2025): COMPUTING
Page 18 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
5.1e List different types of software licenses.
Limited to licenses in 5.1d.
5.2e Distinguish between the different types of software licenses.
5.2f Recommend a type of license for a given scenario.
Limited to those listed in 5.1d.
5.3f Justify the choice of license for a given scenario.
5.1g Define Software as a Service (SaaS).
Limited to:
cloud-based service;
accessing an application via an internet browser.
5.2g Identify examples of SaaS in a given scenario.
Note: Background information will be provided with each example featuring in controlled assessment.
Examples may include: online office apps, streaming content provider, cloud storage apps, etc…
5.3g Justify the use of SaaS in a given scenario.
Note: Background information will be provided with each example featuring in controlled assessment.
SEC 09 SYLLABUS (2025): COMPUTING
Page 19 of 171
Subject Focus: Principles of Computing
Learning Outcome 6: (Controlled)
At the end of the programme, I can assess the suitability of different CPU specifications for different scenarios.
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
6.1a Define the term CPU and/or ‘CPU cycle’. 6.2a Describe the relationship between the CPU cycle and the system clock.
Note: This should not be limited to the theoretical basis but also applied to given scenarios.
6.1b Identify the basic components of the CPU.
Limited to Control Unit (CU) and Arithmetic Logic Unit (ALU).
6.2b Describe the basic components of the CPU.
Limited to:
Control Unit (CU);
Arithmetic Logic Unit (ALU);
Accumulator.
6.1c Define a single core and/or a multi-core CPU. 6.2c Distinguish between a single core and a multi-core CPU.
6.3c Relate the system clock and/or the number of CPU cores to the overall system performance.
6.2d Define machine instruction.
Limited to:
the instruction that the CPU understands;
opcode and operand.
SEC 09 SYLLABUS (2025): COMPUTING
Page 20 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
6.1e Identify the structure of a machine instruction.
Limited to:
opcode and operand;
questions in controlled assessment should be based on the Load/Store Instruction Set Architecture (RISC), to stay within the Von Neumann concept; i.e. read & execute one instruction at a time.
Note: candidates are not expected to remember opcodes or addressing modes; proper description must be provided.
For example:
LOAD R1, num1
; copy the value in memory location called ‘num1’ to register R1.
LOAD R2, 1101 ; copy the value in memory location with address 1101 to register R2.
SUB R1, 6 ; subtract value 6 (000001102) from the value in register R1 and store result in R1.
ADD R3, R1, R2 ; add the values in registers R1 and R2 and store in register R3.
STORE R3, 0x6B ; Store value in register R3 in memory location with address 6B {Hex value}.
6.2e Distinguish between opcode and operand.
Limited to:
opcode: instruction (action);
operand: value, register or memory location.
6.3e Describe the function of the instruction set.
Limited to:
the entire set of instructions (opcodes) that the CPU understands;
that different opcodes activates CPU circuitry differently to perform a specific task.
SEC 09 SYLLABUS (2025): COMPUTING
Page 21 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
6.1f List the three main types of the system bus.
Limited to address, control and data bus.
6.2f Describe the purpose of the system bus.
Limited to the connection between CPU and memory.
6.1g Classify the different types of buses.
Limited to 6.1f.
6.2g Define the address and/or data and/or control bus.
Limited to:
the purpose of each bus;
uni/bi directionality of all buses;
read/write line only for the control bus.
6.1h Define the Fetch and Execute Cycle.
Limited to:
1. CPU getting an instruction from memory; and
2. processes it, which may include storing the result back to memory.
6.3h Outline the underlying concept of the Fetch and Execute CPU cycle (machine cycle).
Limited to:
Control Unit fetches instruction from RAM,
Control Unit decodes the instruction; i.e. gets required operands and prepares the instruction into commands that the CPU understands,
Control Unit, with the assistance of the ALU if needed, processes the instruction, and
Control Unit stores result in a special-purpose register (Accumulator), or directly to a memory location according to the instruction.
Note: Questions in controlled assessment may ask candidates to outline the concept of the fetch and execute cycle in terms of an instruction.
SEC 09 SYLLABUS (2025): COMPUTING
Page 22 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
Example 1:
Fetch & Execute cycle for the instruction LOAD R1, num1; which copies the value in memory location called ‘num1’ to register R1.
CU fetches the instruction from memory.
CU decodes the instruction:
o fetches the value in memory location num1, and
o translates opcode LOAD into commands that the CPU understands.
CU executes the commands to process the instruction.
CU stores the result in accumulator R1.
Example 2:
Fetch & Execute cycle for the first instruction ADD R3, R1, R2; which adds the value in register R1 by the value in register R2 and store in register R3.
CU fetches the instruction from memory.
CU decodes the instruction:
o translates opcode ADD into commands that the CU understands.
ALU executes the commands to process the instruction.
CU stores the result in accumulator R3.
SEC 09 SYLLABUS (2025): COMPUTING
Page 23 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
Example 3:
Fetch & Execute cycle for instruction STORE R3, 0x6B; which stores value in register R3 in memory location with address 6B {Hex value}
CU fetches the instruction from memory.
CU decodes the instruction:
o translates opcode STORE into commands that the CU understands.
CU executes the commands to process the instruction:
o sends the value in register R3 into memory location with address 01101011 (6B16)
6.3i Explain the function of the system bus in terms of read and write cycles.
Limited to: LOAD and STORE instructions only.
Examples: Instructions taken from example in 6.1e
LOAD R1, num1;
o Address Bus: CU sends address of the instruction that needs to process to memory (to fetch the instruction).
o Data Bus: Instruction (LOAD R1, num1), from the memory location indicated by the address, is transferred to the CPU.
o Control Bus: CPU indicates that a read operation from RAM is required.
STORE R1, 0x6B;
SEC 09 SYLLABUS (2025): COMPUTING
Page 24 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
o Address Bus:
- CPU sends address of the instruction that needs to process to memory (to fetch the instruction).
- CPU sends the address of memory location 01101011 (6B16) to memory (to store the processed instruction; i.e. the value of register R3)
o Data Bus:
- Instruction from the memory location indicated by the address; i.e. (STORE R3, 0x6B), is transferred to the CPU.
- Value stored in register R3, is transferred to memory location with address 01101011 (6B16).
o Control Bus:
- CPU indicates that a read operation from RAM is required (to fetch the instruction).
- CPU indicates that a write operation to RAM is required (to store value of register R3).
6.1j Define address space.
Limited to the indication of the number of memory locations that the CPU can access.
6.2j Describe the relation between the address bus and the address space.
SEC 09 SYLLABUS (2025): COMPUTING
Page 25 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
6.1k Define word length.
Limited to the indication of the number of bits of data can that the CPU handles (access from RAM and process) per CPU cycle.
6.2k Describe the relation between the data bus and the word length.
6.3k Explain how the address space and/or word length impact system performance.
Examples:
1. an OS that requires a minimum of 128 MB of memory space will not run in a system that has a 16-bit address space.
216= 65536 byte-addressable locations => total of 64 KB of RAM which is not sufficient to run the OS.
2. a 64-bit CPU performs better than a 32-bit CPU because it can handle (retrieve from memory and process) more bits of data per CPU cycle.
Note: When controlled assessment involve the RAM, it must be indicated that it is byte-addressable memory.
SEC 09 SYLLABUS (2025): COMPUTING
Page 26 of 171
Subject Focus: Principles of Computing
Learning Outcome 7: (Controlled)
At the end of the programme, I can describe the role and the basic functions of an Operating System in different digital systems.
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
7.1a Define the purpose of an Operating System (OS).
Limited to:
1. managing of the device's resources, such as the CPU, memory, storage, and I/O devices;
2. establish a user interface; and
3. running of applications software.
7.1b Define a General-Purpose OS and/or Embedded OS.
7.2b Distinguish between General-Purpose OS and Embedded OS.
7.3b Recommend the type of OS (General-Purpose and/or Embedded OS) appropriate for a given scenario.
Note: In controlled assessment, descriptive scenarios should be provided; candidates should have enough details to answer related questions.
Examples: OS for a photocopier, OS for a smart-phone, OS for a server running a central DB for a chain
of markets, OS of an IP Camera (using IoT).
7.3c Justify the choice of OS type (General-Purpose and/or Embedded OS) for a given scenario.
Note: same as in 7.3b. Examples: same as in 7.3b.
7.2d Distinguish between single and multitasking OS.
SEC 09 SYLLABUS (2025): COMPUTING
Page 27 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
7.1e List the basic functions of an OS.
Limited to: User Interface, File Management, Process Management, Memory Management, and Input & Output Management.
7.2e Explain the need for the basic functions of the OS.
7.1f Define User Interface (UI).
7.1g List different types of UI.
Limited to: Command Line Interface (CLI), Graphical-User Interface (GUI) and Natural User Interface (NUI).
7.1h Identify different types of UI.
Limited to those listed in 7.1g.
7.1i Define the different types of UI.
Limited to those listed in 7.1g.
7.2i Distinguish between the different types of UI.
Limited to:
user needs (user experience vs limitations in functionality); and
system resources needed.
Examples: Data clerk requires a GUI for ease of use, network administrator requires a CLI for accessing certain functions, and a physically impaired individual requires a NUI with voice control.
7.3i Recommend a UI for a given scenario.
7.3j Justify the choice of UI for a given scenario.
Limited to those listed in 7.1g.
7.1k Define a filing system.
SEC 09 SYLLABUS (2025): COMPUTING
Page 28 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
7.1l List different filing systems.
Limited to: FAT32, NTFS, APFS, EXT4.
7.2l Describe the use of filing systems.
7.2m Describe the use of virtual memory.
7.2n Describe the use of device drivers. 7.3n Justify the use of buffering to deal with devices with different speeds.
7.1o Define CPU process scheduling.
Limited to the allocation of time slices to different processes.
7.2o Describe Round Robin and/or Priority scheduling.
7.2p Distinguish between Round Robin scheduling and Priority scheduling.
7.1q Define a system utility.
7.1r List different system utilities.
Limited to:
Anti-Virus / Anti-Malware, Backup/Restore, Disk Management (Clean Up and Defragmenter), File Compression, File Manager, Formatting, and Program Installer.
7.2r Describe the use of different system utilities. 7.3r Recommend different system utilities according to a given scenario.
7.3s Justify the use of different system utilities according to a given scenario.
Limited to those listed in 7.1r.
SEC 09 SYLLABUS (2025): COMPUTING
Page 29 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
7.3t Explain compatibility issues between the OS, CPU and application software.
Limited to compatibility issues related to CPU word-length, OS bit-size and application bit-size.
Note: the below diagram aids in relating compatibility issues:
- To run an OS, it should be supported from the lower level (CPU).
- To run an application, it should be support from all lower levels: OS and CPU.
Examples:
a 32-bit OS is supported by a 64-bit CPU but not vice-versa.
a 64-bit application works only on 64-bit OS.
CPU
OS
Software
USER
SEC 09 SYLLABUS (2025): COMPUTING
Page 30 of 171
Subject Focus: Machine Logic
Learning Outcome 8: (Controlled)
At the end of the programme, I can understand principles of machine logic in general and produce logic circuits, truth tables & Boolean expressions using the NOT, AND, and OR gates.
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
8.1a Define a logic gate and/or a logic circuit and/or truth table.
Note: Definitions are limited to the below contexts:
Logic Gates -> electronic components that performs logical operations.
Logic Circuit -> several logic gates connected to provide an output according to certain criteria.
Truth Table -> table showing all possible inputs and respective output.
8.1b Represent the AND, OR and NOT gates using standard symbols.
AND OR NOT
SEC 09 SYLLABUS (2025): COMPUTING
Page 31 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
8.1c Draw the truth table of the AND and/or OR and/or NOT Gate.
8.2c Draw the truth table for a given logic circuit and/or Boolean expression.
Limited to 3 inputs only and using 2-input gates only.
8.3c Derive the truth table to represent the solution for a given scenario.
Limited to 3 inputs, 3 intermediate steps, and using 2-input gates only.
A, B & C => INPUTS
D, E & F => 1st Intermediate Step
G => 2nd Intermediate Step
H => 3rd Intermediate Step
8.1d Represent the AND and/or OR and/or NOT gates using Boolean expressions.
Note:
AND represented with ‘ . ’
OR represented with ‘+ ’
NOT represented with ‘¯ ’
Boolean expression can be represented using either symbols or keywords; e.g. X = A . B or X = A AND B
8.2d Draw the logic circuit for a given truth table and/or Boolean expression.
Limited to those listed in 8.2c.
8.3d Derive the logic circuit to represent the solution for a given scenario.
Limited to those listed in 8.3c.
SEC 09 SYLLABUS (2025): COMPUTING
Page 32 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
8.2e Express the Boolean expression from a given logic circuit and/or truth table.
Limited to those listed in 8.2c.
8.3e Derive the Boolean expression to represent the solution for a given scenario.
Limited to those listed in 8.3c.
8.1f Define half adder.
Note: Definition is limited to the concept of being an electronic circuit that adds two single-binary digits.
8.2f Construct the truth table and/or logic circuit and/or Boolean expression of the half adder.
Note: Expected answers should only include a combination of AND, OR and NOT gates.
Example:
8.3f Solve a given scenario using concepts of the half adder.
Note: Description of given scenarios should be provided in examination questions.
Example:
The half adder can be represented by means of an XOR gate and an AND gate. The XOR gate receives the inputs and provides the sum value, while the AND gate receives the inputs and provide the carry value. Hence, if input A is 1 and input B is 0, the XOR gate gives a 1 output and the AND gate gives a 0 output. Construct the truth table of the XOR gate with inputs A and B.
8.1g Represent the NAND and/or NOR gate using standard symbols and/or truth table.
NAND NOR
8.2g Describe the use of the NAND and/or NOR Gates as universal gates.
Note: ‘Universal gates’ refers to gates that can be used to produce all other gates.
8.3g Explain the economical and manufacturing implications of the NAND and/or NOR gate as universal gates.
8.1h Identify logic gates from truth tables.
Limited to: AND, OR, NOT, NAND, NOR gates.
SEC 09 SYLLABUS (2025): COMPUTING
Page 33 of 171
Subject Focus: Databases
Learning Outcome 9: (Controlled)
At the end of the programme, I can show an understanding of a relational database, its structure and use.
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
9.1a Define a database. 9.2a Distinguish between manual record keeping and electronic databases.
9.2b Describe advantages and/or disadvantages of manual record keeping and electronic databases.
9.3b Explain the suitability of an electronic database in a given scenario.
9.1c Define a Database Management System (DBMS). 9.2c Distinguish between a DBMS and a database.
9.1d Identify the key elements of a typical structure of a database.
Limited to tables, fields and records.
9.2d Describe the key elements of a typical structure of a relational database.
Limited to tables, fields, field sizes, field types, primary keys, foreign keys and records.
9.1e Identify a key element of a typical structure of a relational database according to a given scenario.
Limited to those listed in 9.1d.
9.2e Recommend a key element of a typical structure of a relational database according to a given scenario.
Limited to those listed in 9.2d.
9.3e Justify the suitability of a key element of a typical structure of a relational database.
Examples:
Quantity being a Number field type;
Invoice Number being an Auto-Number field;
Rental Date being Date/Time field type;
Telephone Number being a Text field type;
Foreign key being the exact field type of its related field.
SEC 09 SYLLABUS (2025): COMPUTING
Page 34 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
9.2f Interpret an ERD Diagram.
Limited to 3 tables and using crow’s foot notation which includes: cardinality, optionality and indication of primary keys.
Note: Refer to subject content section on page 104.
9.3f Construct an ERD diagram for a given scenario.
9.1g Define data validation and/or integrity. 9.2g Explain the importance of data validation and/or integrity.
9.3g Recommend data validation rules and/or field sizes for specific fields.
Examples:
Rental Date cannot be less than the current date.
Telephone Number should only include 8 digits (numbers) only.
9.3h Justify the choice of a data validation rule and/or field size for specific fields.
9.1i Define a query. 9.2i Describe the use of Structured Query Language (SQL) in databases.
Limited to the creation of queries to extract data from a database using the SELECT and FROM and/or WHERE and/or ORDER BY only.
9.2j Interpret a query.
Limited to a maximum of two conditions and one table.
9.2k Modify a query.
Limited to a maximum of two conditions and one table.
9.3k Construct a query to search for specific records by using SQL.
SEC 09 SYLLABUS (2025): COMPUTING
Page 35 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
9.2l Justify the role of a database as a back-end to IT applications.
Example: students should know that when using an online shop, the interaction happens through the front-end (app interface). The DB (back-end) is the structure where the data is stored.
SEC 09 SYLLABUS (2025): COMPUTING
Page 36 of 171
Subject Focus: Fundamentals of Networking
Learning Outcome 10: (Controlled)
At the end of the programme, I can outline networking concepts of how devices communicate.
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
10.1a Define a network.
Note: Communication should be considered between users and devices and devices with other devices. Devices should be considered in the broadest sense to include computers, mobiles, air conditioners, cars, washing machines, televisions and other devices.
10.2a List advantages for networked devices as opposed to stand-alone devices.
10.1b Identify Internet of Things (IoT) devices. 10.2b Describe the concept of the IoT. 10.3b Recommend examples of IoT devices.
10.1c Classify between wired and wireless connections.
Limited to:
Wired: Ethernet, Fibre;
Wireless: Wifi, Bluetooth, mobile data - 3G/4G/5G.
10.2c Describe advantages and/or disadvantages between wired and wireless connections.
10.3c Justify a suitable connection (wired or wireless) for a given scenario.
Example:
Ethernet is used into a smart TV, especially where an access point is placed far from the TV;
WIFI is used at home where there is a WIFI connection;
Mobile data is used in a public park where there is no access to a WIFI.
10.2d Recommend a suitable use according to the different networking connections of a device in relation to a given scenario.
Limited to those listed in 10.1c.
10.3d Justify the choice of a suitable use according to the different networking connections of a device in relation to a given scenario.
SEC 09 SYLLABUS (2025): COMPUTING
Page 37 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
10.2e Define the role of the client and/or server in network communication.
Limited to:
the client is the device requesting the data, such as a website or result from a query;
the server is the device holding the data such as a website or database.
Example: When browsing a website, the machine where the browser resides acts as a client to the machine where the server hosting the website resides.
10.1f Describe the need for a device to be uniquely identified in a network.
Limited to IP and MAC addresses.
10.2f Distinguish between IP and MAC address.
10.2g Distinguish between IPv4 and IPv6.
Limited to IPv4 being 32-bit address and IPv6 being a 128-bit address.
10.3g Justify the need for IPv6.
Example: More devices communicating together including the IoT.
10.1h Define the need for a network protocol as a method of communication between different devices.
10.2h Justify the need of host names and/or translation service between host names and IPs.
Example: www.google.com translates to 216.58.205.196, hence easier for users to remember. Also, host name remains the same even when there is a server change (change in IP).
10.1i Define HTTP and/or FTP protocol. 10.2i Distinguish between FTP and HTTP.
SEC 09 SYLLABUS (2025): COMPUTING
Page 38 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
10.1j Define the term firewall. 10.2j Explain the need for security in networking.
Limited to:
The use of digital certificates and encryption (HTTPs);
Firewall.
Example: Accessing a private network through a VPN.
10.3j Justify the need for security in a given scenario.
Example: HTTPs is required for user authentication and bank details but not to display a page in a blog.
10.1k List different hardware components which are needed by devices to communicate.
Limited to Network Interface Card (NIC), Router, Access Points and Switch.
10.2k Recommend suitable network components required for a given scenario.
10.3k Justify the use of suitable network components required for a given scenario.
Example: the components needed to build a home wireless network.
10.1l List different types of networks.
Limited to:
Wired and wireless connections;
Local Area Network (LAN);
Wide Area Network (WAN);
Personal Area Network (PAN) connections.
10.1m Define different types of networks.
Limited to those listed in 10.1l.
10.2m Distinguish between the different types of networks.
10.3m Justify the use of a type of network for a given scenario.
SEC 09 SYLLABUS (2025): COMPUTING
Page 39 of 171
Subject Focus: Problem Solving, Algorithms and Physical Computing
Learning Outcome 11: (Controlled & Coursework)
At the end of the programme, I can produce algorithms, by applying problem solving concepts, and develop simple dedicated systems using boards powered by microcontrollers or System on Chip (SoC) technology.
Note:
Private candidates are to follow Appendix 1 for further details;
It is not expected that candidates write programs in Controlled Assessment II.
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
11.1a Define the term algorithm.
11.1b Define pseudocode and/or flowcharts. 11.2b Distinguish between pseudocode and flowcharts.
11.1c Identify symbols used in flowcharts.
Limited to: start/end, input/output, process, decision, connector symbols and flow of sequence.
11.1d Define symbols used in flowcharts.
Limited to symbols listed in 11.1c.
11.1e Define the basic programming constructs.
Limited to sequence, selection and iteration.
11.2e Complete the missing parts of a given algorithm.
Limited to: input/output, process, selection and iteration instructions.
Note:
Algorithms can be represented in pseudocode or flowchart;
Candidates are not expected to follow any pseudocode standard.
11.3e Interpret a given algorithm.
Limited to those listed in 11.2e.
Notes as those mentioned in 11.2e.
SEC 09 SYLLABUS (2025): COMPUTING
Page 40 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
11.3f Construct an algorithm for a given scenario.
Limited to those listed in 11.2e.
11.1g Define syntax and/or logical and/or runtime errors.
11.2g Distinguish between syntax, logical and runtime errors.
11.2h Identify syntax and/or logical and/or runtime errors in a given algorithm.
11.3h Solve syntax and/or logical and/or runtime errors in a given algorithm.
11.2i Explain the effect of an error on program compilation and/or runtime.
Limited to:
syntax: does not compile;
logical: gives undesired result;
runtime: Stops executing.
11.1j Define a microcontroller-based single board and /or a SoC based system board.
Limited to a board which includes I/O pins, power pins/ports and USB connection powered by a microcontroller or boards that include other components such as built-in GPU, sensors, NIC cards, etc.
Example:
Micro:bit is a single-board powered by ARM Cortex-M0 microcontroller;
Raspberry PI is a single board powered by Broadcom BCM2835 system-on-a-chip (SoC).
SEC 09 SYLLABUS (2025): COMPUTING
Page 41 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
11.1k List at least two different microcontroller based single boards and /or SoC based single boards.
Examples:
Microcontroller-based boards: Arduino, Micro:Bit, Teensy, pyboard, etc.
SoC based boards: Raspberry PI, ASUS Tinker Board, Onion Omega, etc.
11.1l Develop a program for a dedicated system that includes output and/or input constructs using digital components only.
Limited to:
the use of single-board systems, bread board and text-based programming language, such as C++, Python, etc.
Digital Components: LEDs, buzzer & push switch.
Note: Candidates should be able to declare and use integer and Boolean variable types.
11.2l Develop a program for a dedicated system that includes analogue output using digital components only.
Note that this criterion includes knowledge of the Pulse Width Modulation (PWM) to simulate analogue output on digital components.
Example: Fading LED or RBG LED.
11.3l Develop a program for a dedicated system that includes output and/or input constructs using both digital and/or analogue components.
Limited to at least one analogue component that does not require the use of libraries, such as: potentiometer, photo resistor, sound sensor, accelerometer, analogue joystick module, etc.
Note that this criterion includes knowledge of the sampling rates for digital and analogue pins and the conversion from one form to the other. For example: Arduino’s digital pins are 8-bits while analogue pins are 10-bits. The use of the map function (in C++) may aid in converting the sampled data entered into the analogue pins to data sent from digital pins.
SEC 09 SYLLABUS (2025): COMPUTING
Page 42 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
11.2m Develop a program for a dedicated system that includes arithmetic and assignment operators.
Limited to the following:
Arithmetic operators:
= Equals
+ Addition
- Subtraction
* Multiplication
/ Division
Assignment operators:
+= x=x+3
-= x=x-3
*= x=x*3
/= x=x/3
++ x=x+1
-- x=x-1
11.2n Develop a program for a dedicated system that includes selection constructs.
Limited to: if, if-else and else if constructs.
11.3n Develop a program for a dedicated system that includes nested selection constructs.
11.2o Develop a program for a dedicated system that includes iteration constructs.
Limited to: for and/or while loops.
Note: If Arduino is used, the default loop() method does not satisfy this criteria.
11.3o Develop a program for a dedicated system that includes nested iteration constructs.
SEC 09 SYLLABUS (2025): COMPUTING
Page 43 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
11.3p Develop a program for a dedicated system that includes the use of libraries.
Limited to at least one library for the following components: Servo, Distance Sensor, Temperature Sensor, LCD Display (preferably with i2C module).
Note: It is suggested that the following libraries are used in the case that Arduino microcontroller is used: Servo built-in library, HCSR04, TMP36 and LiquidCrystal_I2C.
11.3q Trace values of analogue sensors in real time.
Limited to transferring data from dedicated system to device.
Note:
If Arduino is used, the serial-monitor and the Serial function are ideally used;
If other systems are used, a third-party tool may be used, such as the MicroPython, Python Mu editor, ppLOGGER, etc.
11.1r List good programming practices.
Limited to inline comments, code indentation and meaningful variable names.
11.2r Describe the importance of good programming practices.
11.2s Implement good programming practices.
Limited to those listed in 11.1r.
SEC 09 SYLLABUS (2025): COMPUTING
Page 44 of 171
Subject Focus: Programming Languages and Fundamentals to Program Development
Learning Outcome 12: (Controlled)
At the end of the programme, I can distinguish between low and high-level languages.
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
12.1a Define Low-Level Language (LLL) and/or High-Level Language (HLL).
Note: definitions limited to the following concepts:
LLL:
o contain basic instructions understood by the computer, thus more difficult to program with;
o dependent on the processor.
HLL:
o more level of abstraction from the processor, thus more user friendly;
independent to the processor, thus offering software portability.
12.2a Distinguish between LLL and/or HLL.
Characteristics limited to:
LLL:
o Machine Language: Machine-dependent language, language structure follows instruction set architecture (i.e. opcode and operand), and there’s no need of translation.
o Assembly Language: same as Machine language but uses symbolic notations (MNEMONICS) and require translation to Machine Language.
HLL:
o Third Generation Languages (3GL): Machine Independent, English-like statements, require translation to Machine Language. Examples include C, JAVA, Python, etc.
Fourth Generation Language (4GL): Same as 3GL but easier to use (using English-like words and phrases, and/or the use of icons, graphical interfaces and symbolical representations). Designed to reduce the overall time for software development but do not offer the flexibility of 3GL. Examples include: Structured Query Language (SQL), Prolog, VPLs, GUI creators, etc.
12.3a Justify the use of a specific type of programming language for a given scenario.
Example: A smart air-conditioner is programmed in assembly language but its mobile app in 3GL.
SEC 09 SYLLABUS (2025): COMPUTING
Page 45 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
12.1b Classify languages in LLL and/or HLL.
Limited to Assembly, JAVA, Python, C and SQL.
12.1c Define source code and/or executable code.
Limited to:
source code: the code developed by the programmer;
executable code: the code which is understood by the device running it.
12.2c Distinguish between byte code and executable code.
Limited to: byte code offers platform compatibility and executable code runs faster.
12.3c Explain the need for code translation, including the relation between the source code, byte code and executable code.
Limited to:
SEC 09 SYLLABUS (2025): COMPUTING
Page 46 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
12.1d List the different types of language translators.
Limited to assembler, interpreter and compiler.
12.2d Distinguish between the different types of language translators.
Limited to:
translation of instructions from: Assembly to Machine Language and High level to Machine language;
interpreter: line by line translator at runtime;
compiler: provides executable code and error log.
12.3d Recommend a language translator for a given scenario.
12.3e Justify the choice of language translator for a given scenario.
SEC 09 SYLLABUS (2025): COMPUTING
Page 47 of 171
Subject Focus: Programming Languages and Fundamentals to Program Development
Learning Outcome 13: (Controlled and Coursework)
At the end of the programme, I can develop programs using Python programming language that includes textual and graphical interfaces.
Note that it is not expected that candidates write programs in Controlled Assessment II.
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
13.1a Interpret a program snippet that includes output statements.
Limited to print() function without output formatting.
13.3a Interpret a program snippet that includes output and /or formatted output statements.
Limited to:
new line & no new line in print function;
the use of the .format() or F-Strings.
13.1b Develop a program using output statements according to a given scenario.
Limited to those listed in 13.1a.
13.3b Develop a program snippet that includes output and/or formatted output statements according to a given scenario.
Limited to those listed in 13.3a.
13.1c Define a variable.
Limited to: in terms of reserving a memory location to store a value.
13.1d Identify between different types of variables for a given scenario.
Limited to: integer, float, String and Boolean.
SEC 09 SYLLABUS (2025): COMPUTING
Page 48 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
13.1e Interpret a program snippet that includes the use of variables and/or input statements.
Limited to:
input() function;
variables as listed in 13.1d.
Note: program-snippets may include variable initialization, such as: num1=5 or name=“Anne”.
13.2e Interpret a program snippet that includes the use of variables and/or type conversion functions and/or input statements.
Limited to int(), float(), and str() type conversions.
13.1f Develop a program that includes the use of variables and/or input statements.
Limited to those listed in 13.1e.
13.2f Develop a program using variables and/or type conversion functions and/or input statements.
Limited to those listed in 13.2e.
13.1g Identify arithmetic operations in a given scenario.
Limited to the following arithmetic operators:
= equals / division
+ addition // floor division
- subtraction % modulus
* multiplication ** power of
13.2g Interpret a program snippet that includes arithmetic operations.
13.3g Interpret a program snippet that includes assignment operators.
Limited to:
+= x=x+3 /= x=x/3
-= x=x-3 //= x=x//3
*= x=x*3 %= x=x%3
13.2h Develop a program using arithmetic operations.
Limited to those listed in 13.1g.
13.3h Develop a program using assignment operators.
Limited to those listed in 13.3g.
SEC 09 SYLLABUS (2025): COMPUTING
Page 49 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
13.2i Interpret a program snippet that includes decision statements.
Limited to:
Decision statements: if, elif, else
Conditional operators: ==, !=, >, <, >=, <=
Logical Operators: and, or, not
Membership operators: in, not in
13.3i Interpret a program snippet that includes nested decision statements.
13.2j Develop a program using decision statements.
Limited to those listed on 13.2i.
13.3j Develop a program using nested decision statements.
13.2k Interpret a program snippet that includes iteration statements.
Limited to: for-in loop, while loop, and while-else loop.
Note: the for-in loop may include the range() function.
13.3k Interpret a program snippet that includes nested iteration statements.
Note: may include ‘break’ and ‘continue’ statements.
13.2l Develop a program using iteration statements.
Limited to those in 13.2k.
13.3l Develop a program using nested iteration statements.
13.1m Define the term function and/or module.
Note:
Function refers to the isolation of a part of the program’s functionality and make it reusable;
Module refers to the collection of functions in one file which can be used in various projects.
13.2m Distinguish between function and module.
13.2n Distinguish between built-in function and user-defined function.
SEC 09 SYLLABUS (2025): COMPUTING
Page 50 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
13.2o Interpret a program snippet that includes String functions.
Limited to: Get character from string (String[position]), Substring (String[2:5]), strip(), len(), lower(), upper(), replace(), index(), count().
13.3o Interpret a program snippet that includes user-defined functions.
Note: user-defined functions may include value return and parameters.
13.2p Develop a program using String functions.
Limited to those in 13.2o.
13.3p Develop a program using user-defined functions.
Note: user-defined functions may include value return and parameters.
13.2q Interpret a program snippet that includes tuples and/or lists as data structures.
Limited to the use of the following functions: append(), clear(), count(), insert(), pop(), remove().
13.3q Interpret a program snippet that includes dictionaries as data structure.
Limited to the use of the following functions: clear(), items(), keys(), get(), pop(), update().
13.2r Develop a program using tuples and/or lists as data structures.
13.3r Develop a program using dictionaries as data structures.
13.3s Interpret a program snippet that includes nested data structures.
Note: including tuples and/or lists and/or dictionaries.
Example: a list made of dictionaries, such as:
records = [{name:’Joe’, room:’217’},
{name:’Jane’, room:’126’}, …]
13.3t Develop a program using nested data structures.
Note: as indicated in 13.3s.
SEC 09 SYLLABUS (2025): COMPUTING
Page 51 of 171
Assessment Criteria (MQF 1) Assessment Criteria (MQF 2) Assessment Criteria (MQF 3)
13.2u Interpret the statement import and/or from-import and/or from-import-as.
Examples:
import random
from random import randint
from random import *
from random import randrange as num_generator
13.2v Interpret a program snippet that includes the Random module.
Limited to randint(start, stop) function.
13.3v Interpret a program snippet that includes the Random module to access and modify items in data structures.
Limited to: choice(), shuffle() and sample().
13.2w Develop a program using the Random module.
Limited to those in 13.2v.
13.3w Develop a program using the Random module to access and/or modify items in data structures.
Limited to those in 13.3v.
13.2x Develop, with assistance, a program that includes a graphical interface using any readymade module.
Example: Turtle module or Tkinter module or PyQt module, etc.
Note: Candidates are given assistance from teachers to develop the requested program, such as completing a given source code.
13.3x Develop a program that includes a graphical interface using any readymade module.
SEC 09 SYLLABUS (2025): COMPUTING
Page 52 of 171
Scheme of Assessment
General Notes
Some assessment criteria include further information in italics as follows:
o “Limited to” implies that only those examples listed will be examined.
o “Example/s” means that apart from the example/s listed, other related instances may be examined.
o “Note” means that candidates need to be aware of other details related to the respective assessment
criteria
Such information is stated in only one criterion per row. If not stated otherwise, it also affects the adjacent
criteria within the same row.
Questions in both controlled and coursework assessments will be set in English and must be answered in
English.
Electronic calculators must not be used in any part of the controlled assessment.
Flowchart templates may be used in any part of the controlled assessment.
The following handouts will be provided in MQF 1-2 Controlled Assessment I papers:
o “Arduino: Sample Circuits and Code for MQF 1-2”; found in Appendix 2.
o “Python Code Constructs for MQF 1-2”; found in Appendix 3.
o “Tkinter Code Constructs for MQF 1-2”; found in Appendix 4.
The following handouts will be provided in MQF 2-3 Controlled Assessment I papers:
o “Arduino: Sample Circuits and Code for MQF 2-3”; found in Appendix 5.
o “Python Code Constructs for MQF 2-3”; found in Appendix 6.
o “Tkinter Code Constructs for MQF 2-3”; found in Appendix 7.
SEC 09 SYLLABUS (2025): COMPUTING
Page 53 of 171
School Candidates
The assessment consists of:
Coursework: 40% of the total marks; comprising 4 assignments of equal weighting i.e. 10% each; set during the three-
year course programme.
Coursework can be pegged at either of two categories:
A coursework at MQF level categories 1-2 must identify assessment criteria from these two MQF levels. The
ACs are to be weighted within the assignment's scheme of work and marking scheme at a ratio of 40% at Level
1 and 60% at Level 2.
A coursework at MQF level categories 1-2-3 must identify assessment criteria from each of Levels 1, 2, and 3.
These ACs are to be weighted within the assignment’s scheme of work and marking scheme at a ratio of 30%
at each of Levels 1 and 2 and 40% at Level 3.
The mark for assignments at level categories 1-2 presented for a qualification at level categories 2-3 is to be
recalculated to 60% of the original mark. The mark stands in all other cases.
Controlled assessments: 60% of the total marks; comprising of a two-hour written exam; set at the end of the
programme and differentiated between two tiers:
a. MQF levels 1 and 2;
b. MQF levels 2 and 3.
Candidates can obtain a level higher than Level 1 if they satisfy the examiners in both coursework and controlled
assessments, irrespective of the total marks obtained.
Part 1: Coursework
The coursework will be based on LO 3, LO 11, and LO 13. An overview of the coursework assignments is shown in the
table below:
Part 1: Coursework – Category Levels 1-2-3 (40 %)
Assignment 1 (10%) Assignment 2 (10%) Assignment 3 (10%) Assignment 4 (10%)
Programming
Dedicated Systems
Python Programming
(text-based interface)
Python Programming
(graphics-based interface) Research Work
Coursework Assignments for School Candidates
SEC 09 SYLLABUS (2025): COMPUTING
Page 54 of 171
Candidates will be assessed through 4 assignments carried out during this three-year programme, as follows:
- 1 assignment in Year 9,
- 2 assignments in Year 10, and
- 1 assignment in Year 11.
Should schools decide to conduct two tasks in Year 9, the second mark should be submitted at the end of Year
10. Moderation of this assignment will be done following submission of mark.
Coursework assignments 1 and 2 are mandatory.
All assignment tasks shall be marked out of 100 according to guidelines and rubrics available with this syllabus.
Levels 1-2-3 will be determined according to the following table.
MQF Level 1 2 3
Global % obtained 0 – 30 marks 31 – 60 marks 61 – 100 marks
MQF Level cut off points
School candidates’ assignments, forming part of coursework, are to be available at the candidates’ school for
moderation purposes as indicated by the MATSEC Board.
Part 2: Controlled Assessment II (60%)
Controlled Assessment II will:
consist of questions of either level 1-2 or level 2-3.
cover most learning outcomes, including all learning outcomes which are not indicated to be covered through
coursework.
be marked out of 100 and all questions in each section are compulsory. Answers are to be written on the
examination paper provided.
consist of two obligatory sections, as follows:
- Section A: up to five questions totalling 40 marks (possibly scenario-based).
- Section B: three scenario-based questions totalling 60 marks.
SEC 09 SYLLABUS (2025): COMPUTING
Page 55 of 171
Private Candidates
Private candidates shall be assessed by means of two controlled assessments.
Part 1 – Controlled Assessment I (40%)
The first controlled assessment will focus on the learning outcomes identified for school candidates’ coursework.
Learning outcomes with assessment criteria within the psychomotor domain can be assessed by asking questions in
pen and paper format seeking understanding of the activity. Other learning outcomes with assessment criteria that
require the development of code shall be assessed through a practical task. MATSEC will be providing all the necessary
equipment and software for the administration of the practical tasks.
Controlled assessment I consists of questions of either level 1-2 or level 2-3 in two sections as follows:
Section A:
- Up to a maximum of four question/s (possibly scenario-based), totalling 25 marks. Question/s should reflect any learning outcome, with special emphasis on learning outcome 3.
- One scenario-based question on learning outcome 11, totalling 25 marks.
- Answers in this section are to be written on the examination paper provided.
Section B:
- A scenario-based question that requires candidates to develop a program with a text-based interface using Python programming language.
- A scenario-based question that requires:
o MQF 1-2 candidates to complete a given program that generates a graphics-based interface using Python programming language.
o MQF 2-3 candidates to develop a graphics-based interface using Python programming language.
- Total of 50 marks.
- Answers in this section are to be developed using Thonny IDE.
Controlled Assessment I will be marked out of 100 and all questions in each section are compulsory.
Part 2 – Controlled Assessment II (60%)
The second controlled assessment paper is common with school candidates.
Controlled Assessment II will:
consist of questions of either level 1-2 or level 2-3.
cover most learning outcomes, including all learning outcomes which are not indicated to be covered through coursework.
be marked out of 100 and all questions in each section are compulsory. Answers are to be written on the examination paper provided.
consist of two obligatory sections, as follows:
- Section A: up to five questions totalling 40 marks (possibly scenario-based).
- Section B: three scenario-based questions totalling 60 marks.
SEC 09 SYLLABUS (2025): COMPUTING
Page 56 of 171
Appendices
Appendix 1: Private Candidates
For controlled assessment I, private candidates are to follow the below points:
Question related to learning outcome 11:
Candidates will not be requested to write or develop any code. Candidates can only be asked to interpret sub-
questions related to the source code for a given scenario.
Arduino UNO board is to be used.
The official Arduino language (set of C/C++ libraries) is to be used.
Digital components to be used are: LED, RGB LED, Buzzer and Micro Switch.
Analogue components to be used are: potentiometer and photocell sensor (LDR).
External Library to be used is the Servo Arduino library.
Questions related to learning outcome 13:
Candidates are to use Thonny IDE to develop code.
Tkinter module is to be used for the development of graphical interface, which may include the following:
o Module Objects:
- from tkinter import *
- from tkinter import messagebox (only for MQF 2-3 candidates)
o Widgets:
- Button(window, text, options…)
- Checkbutton(window, text, options…)
- Entry(window, text, options…)
- Label(window, text, options…)
- OptionMenu(window, var, options…) (only for MQF 2-3 candidates)
o Widget Options:
- bg
- command (only for MQF 2-3 candidates)
- fg
- font
- height
- state
- width
SEC 09 SYLLABUS (2025): COMPUTING
Page 57 of 171
o Widget Functions:
- .deselect()
- .destroy()
- .focus()
- .geometry()
- .mainloop()
- .place(x,y)
- .resizable()
- .select()
- .set() (only for MQF 2-3 candidates)
- .show()
- .title()
o Message Box Functions: (only for MQF 2-3 candidates)
- .showerror(title, message)
- .showinfo(title, message)
- .showwarning(title, message)
MATSEC reserves the right to make changes to the microcontroller-powered board and the programming language
used if they are not available at the time of registration. An official communication will be published on the MATSEC
website.
SEC 09 SYLLABUS (2025): COMPUTING
Page 58 of 171
Appendix 2: Arduino: Sample Circuits and Code for MQF 1-2 Handout
Sample Code:
LED
Switch ON an LED connected to pin 7: digitalWrite(7, HIGH);
Switch OFF LED connected to pin 7: digitalWrite(7, LOW);
RGB LED
The below example generates a RED colour on the RBG LED which is connected on pin 11 (RED), pin 10 (green) and
pin 9 (blue):
analogWrite(11, 255);
analogWrite(10, 0);
analogWrite(9, 0);
Buzzer
Buzzer makes a sound: tone(Pin, Frequency, Duration);
tone(3, 1000); - Code that sends a 1000 sound frequency to the buzzer which is connected to pin 3.
tone(5, 1400, 2000); - Code that sends a 1400 sound frequency for 2 seconds to the buzzer which is connected to pin 5.
Buzzer connected to pin 8 is set to silent: noTone(8);
Micro Push Switch
The below example reads signal from the switch connected to pin 5 and stores the value in variable named
buttonState: int buttonState = digitalRead(5);
SEC 09 SYLLABUS (2025): COMPUTING
Page 59 of 171
Sample Circuits
LED
RGB LED
BUZZER
MICRO PUSH SWITCH
SEC 09 SYLLABUS (2025): COMPUTING
Page 60 of 171
Appendix 3: Python Code Constructs for MQF 1-2 Handout
Comments:
Example1: One-line comment:
# This is a comment
Example 2: Block Comment:
"""
This is a
multiline comment
"""
Output Statements: print(“This is a message”)
Example 1: Skip Line
print("This is a message")
Example 2: Without skipping line
print("This is a message", end="")
Example 3: display String and value in variable
name = "Joe"
age = 18
print(f"Your name is {name} and you are {age} years old")
Input Statement: user_name = input(“Enter Name: “)
Note: Input statement always return a String value
Data Type conversions: int() or float() or str()
Example 1: Output message concatenation
one = str(1)
two = str(2)
hello = "hello"
print(one + two + hello)
Example 2: Inputting integer values
num1 = int(input(‘Enter Num1: “))
num2 = int(input(‘Enter Num2: “))
total = num1 + num2
Arithmetic operators:
= + - * / // % ** Equals Addition Subtraction Multiplication Division Floor Division Modulus Power of
Conditional operators: ==, !=, >, <, >=, <=
== != > < >= <= Equals Not Equal Greater than Smaller than Greater or equal to Smaller or equal to
Logical Operators: and, or, not
and or not
SEC 09 SYLLABUS (2025): COMPUTING
Page 61 of 171
Membership operators: in, not in
in not in
Decision Statements: if /elif / else Constructs
Example 1: if - else
x = 2
if x == 2:
print("x equals two!")
else:
print("x does not equal to two.")
Example 2: if - elif - else
x = 2
if x == 1:
print("x equals one")
elif x == 2:
print("x equals two")
else:
print("x is not valid!")
Example 3: Multiple Conditions
name = "John"
age = 23
if name == "John" and age == 23:
print("John, you are 23 years old.")
else
print("You are not the 23 year old John!")
Example 4: Using membership operators
message = "Testing message"
if "test" in message:
print("Keyword found")
else:
print("Keyword not found")
Loops: for / while
Example 1: For Loop – display numbers from 1 to 5
for x in range(1, 6):
print(x)
Example 2: While Loop – display numbers from 1 to 5
count = 1
while count <= 5:
print(count)
count += 1
Data Structures: Tuples and Lists
Example 1: Print items in a List
mylist = [12, Jack, 26]
for i in mylist:
print(i)
Example 2: Add item in a List
mylist = [12, Jack, Lemon]
mylist.append(“Apple”)
Example 3: Delete item from List
mylist = [12, Jack, Lemon]
#removes item Jack
mylist.delete(“Jack”)
#removes item at index 1
mylist.pop(1)
Random Module
Example: Display a random number between 1 and 10
import random
my_num = random.randint(1, 10)
print (my_num)
SEC 09 SYLLABUS (2025): COMPUTING
Page 62 of 171
String functions:
Example:
mystring1 = “This is a”
mystring2 = “message”
print(mystring1[8]) #prints “a” – 9th position of mystring1
print(mystring1[0:3]) #prints “This” – 1st till 4th position of mystring1
print(len(mystring2)) #prints 7 – number of characters in mystring2
print(mystring2.index("g")) #prints 5 – ‘g’ found in 6th position of mystring2
print(mystring1.count("s")) #prints 2 - there are 2 's' in mystring1
print(mystring2.upper()) #prints mystring2 in uppercase
print(mystring1.lower()) #prints mystring1 in lowercase
print(mystring2.replace("message", "paragraph")) #replaces the word message
with paragraph
mylist = mystring1.split(" ") #crates a list with words from mystring1 split
at empty spaces
SEC 09 SYLLABUS (2025): COMPUTING
Page 63 of 171
Appendix 4: Tkinter Code Constructs for MQF 1-2 Handout
Generate Window:
Example:
from tkinter import *
window = Tk()#create Window
window.geometry("500x130") #define window dimensions
window.title('myCalculator') #define text in window title bar
window.resizable(0,0)
#make window not resizable - (x, y) are both set to 0
#make window resizable - (x, y) are both set to 1
window.mainloop() #to run the window
Create Widgets:
o Button(window, text, options…) – to create a button
o Checkbutton(window, text, options…) – to create a Check Button
o Entry(window, text, options…) – to create an entry field
o Label(window, text, options…) – to create a label
Widget Options:
o bg / fg – to set background or foreground colour of widget e.g. age_entry = Entry(window, fg="white", bg="black")
o font – to set font, size and bold/italics/underline of widget e.g. name_label = Label(window, text="Name", font="Verdana 11 bold")
o height / width – to set height and width of widget (measured in characters)
e.g. name_label = Label(window, text="Name", width= "5", height="2")
o show – to set masking characters in an entry field e.g. txt_password = Entry(window, show='*')
o state – to set widget enable or disabled; e.g. button["state"] = "disabled" or button["state"] = "enable"
Widget Functions:
o .deselect() / .select() - to deselect a check button e.g. check_button.deselect() or check_button.select()
o .destroy() – used to exit from mainloop; i.e. to close a window e.g. window.destroy()
o .focus() – to set cursor on a widget
o .place(x,y) – to set widget position according to x and y coordinates e.g. txt_password.place(x=110, y=90)
SEC 09 SYLLABUS (2025): COMPUTING
Page 64 of 171
Appendix 5: Arduino: Sample Circuits and Code for MQF 2-3 Handout
Sample Code:
LED
Switch ON an LED connected to pin 7: digitalWrite(7, HIGH);
Switch OFF LED connected to pin 7: digitalWrite(7, LOW);
RGB LED
The below example generates a RED colour on the RBG LED which is connected on pin 11 (RED), pin 10 (green) and
pin 9 (blue):
analogWrite(11, 255);
analogWrite(10, 0);
analogWrite(9, 0);
Buzzer
Buzzer makes a sound: tone(Pin, Frequency, Duration);
tone(3, 1000); - Code that sends a 1000 sound frequency to the buzzer which is connected to pin 3.
tone(5, 1400, 2000); - Code that sends a 1400 sound frequency for 2 seconds to the buzzer which is connected to pin 5.
Buzzer connected to pin 8 is set to silent: noTone(8);
Micro Push Switch
The below example reads signal from the switch connected to pin 5 and stores the value in variable named
buttonState: int buttonState = digitalRead(5);
Analogue Component: Potentiometer and Photocell Sensor
The below example reads analogue signals from an analogue input component connected to pin A1 and stores the
value in a variable named inputValue: int inputValue = analogRead(A1);
Servo
This code turns the servo to 90o:
#include <Servo.h>
Servo myServo;
void setup() {
myServo.attach(9);
myServo.write(90);
}
SEC 09 SYLLABUS (2025): COMPUTING
Page 65 of 171
Sample Circuits
LED
RGB LED
BUZZER
MICRO PUSH SWITCH
POTENTIOMETER
PHOTOCELL SENSOR
SERVO
SEC 09 SYLLABUS (2025): COMPUTING
Page 66 of 171
Appendix 6: Python Code Constructs for MQF 2-3 Handout
Comments:
Example1: One-line comment:
# This is a comment
Example 2: Block Comment:
"""
This is a
multiline comment
"""
Output Statements: print(“This is a message”)
Example1: Skip Line
print(“This is a message”)
Example 2: Without skipping line
print(“This is a message”, end=””)
Formatted Output statement:
Example:
mystring = "hello"
mystring2 = "world"
myfloat = 10.765
print(f"Float with 2 decimal places: {myfloat:.2f}")
print(f"String: {mystring} dear {mystring2}")
Input Statement: user_name = input(“Enter Name: “)
Note: Input statement always return a String value
Data Type conversions: int() or float() or str()
Example 1: Output message concatenation
one = str(1)
two = str(2)
hello = "hello"
print(one + two + hello)
Example 2: Inputting integer values
num1 = int(input(‘Enter Num1: “))
num2 = int(input(‘Enter Num2: “))
total = num1 + num2
Arithmetic operators:
= + - * / // % ** Equals Addition Subtraction Multiplication Division Floor Division Modulus Power of
Assignment operators:
+= -= *= /= //= %= x = x+3 x = x-3 x = x*3 x = x/3 x = x//3 x = x%3
SEC 09 SYLLABUS (2025): COMPUTING
Page 67 of 171
Conditional operators: ==, !=, >, <, >=, <=
== != > < >= <= Equals Not Equal Greater than Smaller than Greater or equal to Smaller or equal to
Logical Operators: and, or, not
and or not
Membership operators: in, not in
in not in
Decision Statements: if /elif / else Constructs
Example 1: if - else
x = 2
if x == 2:
print("x equals two!")
else:
print("x does not equal to two.")
Example 2: if - elif - else
x = 2
if x == 1:
print("x equals one")
elif x == 2:
print("x equals two")
else:
print("x is not valid!")
Example 3: Multiple Conditions
name = "John"
age = 23
if name == "John" and age == 23:
print("John, you are 23 years old.")
else
print("You are not the 23 year old John!")
Example 4: Using membership operators
message = "Testing message"
if "test" in message:
print("Keyword found")
else:
print("Keyword not found")
Loops: for / while
Example 1: For Loop – display numbers from 1 to 5
for x in range(1, 6):
print(x)
Example 2: While Loop – display numbers from 1 to 5
count = 1
while count <= 5:
print(count)
count += 1 Example 3: While Loop – using ‘break’ statement
count = 1
while True: #infinite loop
print(count)
count += 1
if count >= 5:
break
Example 4: While Loop – using ‘continue’ statement
#Prints only odd numbers
for x in range(10):
if x % 2 == 0: #Check if x is even
continue
print(x)
SEC 09 SYLLABUS (2025): COMPUTING
Page 68 of 171
String functions:
Example:
mystring1 = “This is a”
mystring2 = “message”
print(mystring1[8]) #prints “a” – 9th position of mystring1
print(mystring1[0:3]) #prints “This” – 1st till 4th position of mystring1
print(len(mystring2)) #prints 7 – number of characters in mystring2
print(mystring2.index("g")) #prints 5 – ‘g’ found in 6th position of mystring2
print(mystring1.count("s")) #prints 2 - there are 2 's' in mystring1
print(mystring2.upper()) #prints mystring2 in uppercase
print(mystring1.lower()) #prints mystring1 in lowercase
print(mystring2.replace("message", "paragraph")) #replaces the word message
with paragraph
mylist = mystring1.split(" ") #crates a list with words from mystring1 split
at empty spaces
User-Defined Functions:
Example 1: with no parameters and no value return
a=2
b=3
def print_total():
print(a+b)
print_total()
Example 2: with value return but no parameters
a=2
b=3
def calculate_total():
return a+b
print(calculate_total())
Example 3: with value return and parameters
def calculate_total(num1, num2):
return num1 + num2
print(calculate_total(2, 3))
Data Structures:
Example 1: Print items in a List
mylist = [12, Jack, 26]
for i in list:
print(i)
Example 2: Add item in a List
mylist = [12, Jack, Lemon]
mylist.append(“Apple”)
Example 3: Delete item from List
mylist = [12, Jack, Lemon]
#removes item Jack
mylist.delete(“Jack”)
#removes item at index 1
mylist.pop(1)
SEC 09 SYLLABUS (2025): COMPUTING
Page 69 of 171
Example 4: Displaying keys and values in a dictionary
phonebook = {"John": 938477566, "Jack": 938377264, "Jill": 947662781}
for name, number in phonebook.items():
print(f "Phone number of {name} is {number}")
Example 5: Search a keyword in a dictionary and get its value phonebook = {"Johnny": 938477566, "Jack": 938377264,
"Jill": 947662781, "John": 98745632}
for name in phonebook.keys():
if "John" in name:
print(phonebook.get(name))
Example 6: Delete an item from a dictionary phonebook = {"Johnny": 938477566, "Jack": 938377264,
"Jill": 947662781, "John": 98745632}
if "John" in phonebook:
phonebook.pop("John")
Example 7: Add items to a dictionary phonebook = {"Johnny": 938477566, "Jack": 938377264,
"Jill": 947662781, "John": 98745632}
phonebook.update({‘Rita’: 79898956}, {‘Alex’: 99875421})
Random Module
Example 1: Display a random number between 1 and 10
import random
my_num = random.randint(1, 10)
print (my_num)
Example 2: Display a random item from List
import random
my_list = ["Lemon", "Apple", "Orange", "Banana"]
print (random.choice(my_list))
Example 3: Display a reshuffled List
import random
my_list = ["Lemon", "Apple", "Orange", "Banana"]
random.shuffle(my_list)
print (f"Reshuffled list: {my_list}")
Example 4: Generate 5 random non-duplicate numbers from 1 to 100 and store in list
import random
nums_generated = random.sample(range(1, 101), 5)
SEC 09 SYLLABUS (2025): COMPUTING
Page 70 of 171
Appendix 7: Tkinter Code Constructs for MQF 2-3 Handout
Generate Window:
Example:
from tkinter import *
window = Tk()#create Window
window.geometry("500x130") #define window dimensions
window.title('myCalculator') #define text in window title bar
window.resizable(0,0)
#make window not resizable - (x, y) are both set to 0
#make window resizable - (x, y) are both set to 1
window.mainloop() #to run the window
Create Widgets:
o Button(window, text, options…) – to create a button
o Checkbutton(window, text, options…) – to create a Check Button
o Entry(window, text, options…) – to create an entry field
o Label(window, text, options…) – to create a label
o OptionMenu(window, var, options…) – to create an Option Menu
Widget Options:
o bg / fg – to set background or foreground colour of widget e.g. age_entry = Entry(window, font="Verdana 16 bold", fg="white", bg="black")
o command – to invoke a command (user defined function) when button is pressed e.g. btn_submit = Button(window, text="Log In", command=user_login)
o font – to set font, size and bold/italics/underline of widget e.g. name_label = Label(window, text="Name", font="Verdana 11 bold")
o height / width – to set height and width of widget (measured in characters) e.g. name_label = Label(window, text="Name", width= "5", height="2")
o show – to set masking characters in an entry field e.g. txt_password = Entry(window, show='*')
o state – to set widget enable or disabled; e.g. button["state"] = "disabled" or button["state"] = "enable"
Widget Functions:
o .deselect() / .select() - to deselect or select a check button e.g. check_button.deselect() or check_button.select()
o .destroy() – used to exit from mainloop; i.e. to close a window e.g. window.destory()
o .focus() – to set cursor on a widget
SEC 09 SYLLABUS (2025): COMPUTING
Page 71 of 171
o .place(x,y) – to set widget position according to x and y coordinates e.g. txt_password.place(x=110, y=90)
o .set()
- to set value to a tkinter variable (StringVar() or IntVar() or DoubleVar() or BooleanVar() e.g. status_message = StringVar()
status_message.set('HELLO')
- to set a value in an Option Menu as the default value
Message Box Functions:
o .showerror(title, message)
o .showinfo(title, message)
o .showwarning(title, message)
Example:
from tkinter import messagebox
messagebox.showinfo("APP LOG-IN","Logged-In Successfully")
SEC 09 SYLLABUS (2025): COMPUTING
Page 72 of 171
Coursework Modes
This section presents sample assessments with respective marking schemes. Teachers may use these guiding
documents to develop an assignment based on one of the modes presented in this syllabus. Otherwise, teachers may
develop their own assignment and select an appropriate assessment tool other than those listed in the syllabus as
long as this assignment is sent to MATSEC for approval before being given to students. A marking scheme is not a list
of model answers, but a guideline of how expected answers should be marked.
SEC 09 SYLLABUS (2025): COMPUTING
Page 73 of 171
Coursework mode 1: Programming Dedicated Systems
Programming Dedicated Systems
100 marks
Internally-assessed
Externally-moderated
10% of total marks
Candidates are expected to analyse given scenarios and develop solutions using a microcontroller
powered single-board, such as Arduino, Micro-Bits, Teensy, etc., or single-board computers such as
Raspberry Pi, Le Potato, Asus Tinker Board S, etc. The solution includes the development of the
source code using text-based programming language, such as C++, Python, etc.
This coursework should be divided into three parts, reflecting the assessment criteria in MQF1,
MQF2 and MQF3 respectively, as summarised in the table below. The tasks are to be assessed one
after the other during the course of the learning process. The three different parts of this
coursework can be contextualised using three different scenarios, or one scenario that caters for
the entire coursework. A sample task and its solution, using Arduino UNO and C++ programming
language, are provided below.
Task 1: the use of input and output statements using digital components only. It may also include the use of simple decision statements.
Task 2: the use of at least one analogue input component, decision statements, iteration statements and serial communication. It may also include the use of the pulse width modulation.
Task 3: the use of external libraries. It may also include the use of nested decisions and nested iteration statements.
The teacher should dedicate a preparation lesson prior to the assessment of each task in which the actual task should NOT be provided to the candidates. The assessment session would be a typical double lesson in secondary schools. Although being an open-book task, students cannot use any pre-made source code. Students are to develop the source code from scratch. The teacher must assess the candidates’ work according to the marking scheme provided below.
Examples of possible scenarios:
Audio Volume Metering: use of Green/Yellow/Red or RBG LED, Push Switch, Potentiometer and Servo.
Car Entrance Gate: use of LEDs, Push Switch, IR Sensor and Distance Sensor. Car Parking Sensor: use of Buzzer, Push Switch, Potentiometer and Distance Sensor. Controlling a Side Car Mirror: use of LED, Push Switch, Potentiometer (toggle left and right
mirror) and Servo. Duration Gauge Timer: used as sample task, in the section below. Intruder Alarm: use of LED, Buzzer, Push Switch, Potentiometer (for distance sensitivity) and
Distance Sensor. Music Metronome: use of Buzzer, Push Switch, Potentiometer and LCD Display. Safe Lock Pin Code: use of Buzzer, Push Switch, Potentiometer, and LCD Display and/or Servo. Temperature Monitoring: use of LEDs, Push Switch, Temperature Sensor and LCD Display. Traffic and Pedestrian Lights with Time Display: use of LEDs, Push Switch and LCD Display.
SEC 09 SYLLABUS (2025): COMPUTING
Page 74 of 171
Programming
Dedicated Systems
Exemplar
(Learning Outcome 11)
Duration Gauge Timer
Task 1
The circuit shown below includes a Red LED, a Green LED, and a Push-Switch.
1. Program the microcontroller to initialise in IDLE state; i.e. the green LED is ON and red
LED is OFF.
2. When the switch is pressed, it turns in ACTIVE state for five seconds; i.e. the green LED
turns OFF and the red LED turns ON.
3. The program turns in IDLE state after the red LED turns OFF.
4. Save the program as ‘gaugetimer_1_name.ino’ (eg. gauge_timer_JohnBarbara.ino’).
Task 2
The circuit includes a Red LED, a Green LED, a Push-Switch and a potentiometer as shown in the
circuit diagram below.
1. Program the microcontroller to initialise in IDLE state; i.e. the green LED is ON and red
LED is OFF.
2. When the user presses and releases the switch, it goes on ACTIVE state; i.e. the green
LED turns OFF and the red LED turns ON.
3. The user can vary the ACTIVE state time between one to ten seconds via the
potentiometer. (Potentiometer value 0 = 1 second, and value 1023 = 10 seconds)
4. The seconds are shown on the serial monitor.
5. When the ACTIVE time is up, it goes in IDLE state.
6. Save the program as ‘gaugetimer_2_name.ino’ (eg. gauge_timer_JohnBarbara.ino’).
SEC 09 SYLLABUS (2025): COMPUTING
Page 75 of 171
Task 3
The circuit includes a Red LED, a Green LED, a Push-Switch, a potentiometer and a Servo as shown
in the circuit diagram below.
1. Program the microcontroller to initialise in IDLE state; i.e. the green LED is ON, red LED is
OFF and servo points to 0˚.
2. When the user presses and releases the switch, it goes on ACTIVE state; i.e. the green
LED turns OFF and the red LED turns ON.
3. The user can vary the ACTIVE state time between one to ten seconds via the
potentiometer. (Potentiometer value 0 = 1 second, and value 1023 = 10 seconds)
4. The seconds are shown on the serial monitor.
5. When the timer is in ACTIVE state, the servo turns towards 180˚ in the time interval set
by the potentiometer.
6. When the ACTIVE time is up, it goes in IDLE state.
7. Save the program as ‘gaugetimer_3_name.ino’ (eg. gauge_timer_3_JohnBarbara.ino’).
SEC 09 SYLLABUS (2025): COMPUTING
Page 76 of 171
Sample Solution to
the Programming
Dedicated Systems
Exemplar.
Task 1 //declare components
#define red 10
#define green 13
#define swicc 2
void setup() {
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(swicc, INPUT);
//start at IDLE state
digitalWrite(green, HIGH);
digitalWrite(red, LOW);
}
void loop() {
//if switch is pressed
if (digitalRead(swicc)){
//set to ACTIVE state
digitalWrite(red, HIGH);
digitalWrite(green, LOW);
delay(5000);
//set to IDLE state
digitalWrite(green, HIGH);
digitalWrite(red, LOW);
}
}
Task 2 //declare components
#define red 10
#define green 13
#define swicc 2
#define pot A0
//declare variable timer
int timer;
void setup() {
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(swicc, INPUT);
pinMode(pot, INPUT);
Serial.begin(9600);
//start at IDLE state
digitalWrite(green, HIGH);
digitalWrite(red, LOW);
}
SEC 09 SYLLABUS (2025): COMPUTING
Page 77 of 171
void loop() {
//convert pot values to seconds
timer = map(analogRead(pot), 0, 1023, 1000, 10000);
//display time in sec on serial monitor
Serial.print("Time: ");
Serial.print(timer/1000);
Serial.println(" sec");
if (digitalRead(swicc)){ //if switch is pressed
//An "empty" loop until user releases the push switch
while(digitalRead(swicc)){
delay(1);
}
//set to ACTIVE state
digitalWrite(red, HIGH);
digitalWrite(green, LOW);
delay(timer);
//set to IDLE state
digitalWrite(green, HIGH);
digitalWrite(red, LOW);
}
}
Task 3
#include <Servo.h>
//declare components
#define red 10
#define green 13
#define swicc 2
#define pot A0
//create servo object called myServo
Servo myServo;
//declare variable timer
int timer;
void setup() {
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(swicc, INPUT);
pinMode(pot, INPUT); //analogue pin
myServo.attach(9);
Serial.begin(9600);
//start at IDLE state
digitalWrite(green, HIGH);
digitalWrite(red, LOW);
myServo.write(0); //set servo at the initial position (0 degrees)
}
SEC 09 SYLLABUS (2025): COMPUTING
Page 78 of 171
void loop() {
//convert pot values to 1000 millisec (1 sec) – 10000 millisec
(10 sec)
timer = map(analogRead(pot), 0, 1023, 1000, 10000);
// display time
Serial.print("Time: ");
Serial.print(timer/1000);
Serial.println(" sec");
if (digitalRead(swicc)){ //if switch is pressed
// An "empty" loop until user releases the push switch
while(digitalRead(swicc)){
delay(1);
}
//change to ACTIVE state
digitalWrite(red, HIGH);
digitalWrite(green, LOW);
for (int i=0; i<180; i++){ //turn servo from 0 to 179 degrees
myServo.write(i);
delay(timer/180); //delay servo speed according to time set
}
//change to IDLE state
digitalWrite(green, HIGH);
digitalWrite(red, LOW);
myServo.write(0); //set servo at the initial position (0
degrees)
}
}
SEC 09 SYLLABUS (2025): COMPUTING
Page 79 of 171
Marking Criteria: Programming Dedicated Systems
MARKING CRITERIA – Programming Dedicated Systems
Maximum 50 marks* (10%)
MQF1 MQF2 MQF3
Specifications 1-9 10-18 19-30
Functionality 1-3 4-6 7-10
Programming Practices 1-3 4-6 7-10
*The marking of each section should be marked based on the overall performance in the three tasks.
Specifications
1-9 marks 10-18 marks 19-30 marks
Appropriate use of input digital device. Appropriate use of analogue input
device.
Appropriate use of nested decision
constructs.
Appropriate use of output digital device. Appropriate use of decision constructs. Appropriate use of nested loops.
Appropriate use of if-else statement. Appropriate use of loops. Use of external libraries.
Trace values of analogue sensors in real
time.
Functionality
1-3 marks 4-6 marks 7-10 marks
Program does not compile. Program compiles and runs but not up to
specifications.
Program compiles and runs as per
specifications.
Programming Practices
1-3 marks 4-6 marks 7-10 marks
Meaningful variable names. Meaningful variable names. Meaningful variable names.
Appropriate code indentation. Appropriate code indentation.
Appropriate use of comments to
describe sections of the program.
Saving code as instructed.
SEC 09 SYLLABUS (2025): COMPUTING
Page 80 of 171
Coursework mode 2: Python Programming (Text-Based Interface)
Python programming (Text-Based Interface)
100 marks
Internally-assessed
Externally-moderated
10% of total marks
Candidates are expected to analyse given scenarios and develop solutions using Python
programming language.
This coursework should be divided into three parts, reflecting the assessment criteria in MQF1,
MQF2 and MQF3 respectively, as summarised in the table below. The tasks are to be assessed one
after the other during the course of the learning process.
The three different parts of this coursework can be contextualised using three different scenarios,
or one scenario that caters for the entire coursework. A sample task and its solution are provided
in the sections below.
Task 1: the use of variables, and input and output statements.
Task 2: the use of type conversions, arithmetic operations, decisions and iteration statements which may also include the use of String functions and/or the Random module.
Task 3: the use of data structures (lists and/or tuples and/or dictionaries), and user-defined functions. May also include the use of nested data structures.
The analysis of each task should be done one lesson before the session when the actual task is to be assessed. During the analysis phase, a copy of the task should not be provided to the candidates. The assessment session would be a typical double lesson in secondary schools. Although being an open-book task, students cannot use any pre-made source code. Students are to develop the source code from scratch. The teacher must assess the candidates’ work according to the marking scheme provided below. Examples of possible scenarios:
Simple Apps, such as: ATM Machine, Log-In System, Safe Box Access Control, Vending Machine, etc.
Commercial Software, such as: Cash Register, Point of Sale System, Stock Control, etc.
Simple Game, such as: Guess the Number, Hangman, Master Mind, Snakes & Ladders, Tic-Tac-Toe, etc.
SEC 09 SYLLABUS (2025): COMPUTING
Page 81 of 171
Python programming
(Text-Based Interface)
Exemplar
(Learning Outcome 13)
Space Racer
A spaceship captain decides to fly to Saturn and goes all the way to Neptune,
with 40 asteroids in-between. The captain must roll a dice and move forward
several asteroids depending on the result of the die.
The captain should keep doing this until the spaceship reaches the 40th
asteroid which is the one next to Neptune. However, during the journey there
are some surprises - certain asteroids contain gold deposits and others have
nearby wormholes.
Task 1
When the game starts:
1. the game title is shown (Space Racer)
2. the program asks for the player’s name.
3. the program shows the space map, the map legend and the message “Welcome <player
name> to Space Racer” as indicated hereunder:
>
SATURN * G * * * W G * * * G * * * * * * G W * * * * * G G W * * * * * G * * * * * W * NEPTUNE
Map Legend:
* Asteroid
G Asteroid with a Gold Deposit
W Asteroid with a nearby Wormhole
> Player Position
*** WELCOME JOHN BARBARA TO SPACE RACER ***
Save the program as ‘spaceracer_1_nameSurname.py’ (e.g. spaceracer_johnBarbara.py’)
Task 2
Upgrade this game according to the game rules below:
1. The player must roll a dice (numbers are from 1 to 6) by pressing ‘R’ (not case sensitive).
2. The space craft moves several steps according to the dice.
3. Gold is found on asteroids 2, 7, 11, 18, 25, 26 and 33.
4. Gold amounts to 250 points.
5. Wormholes are found near asteroids 6, 19, 27 and 39.
6. Wormholes redirect the space craft to three asteroids back.
7. The game shows the: o number of the dice,
o player’s new position, and
o whether or not the player has landed on a Gold Deposit or a Wormhole.
SEC 09 SYLLABUS (2025): COMPUTING
Page 82 of 171
A sample is shown in the screenshot below: ----------------------------------------------------
Dice: 4
Current Position: 27
Oh no, wormhole! You have been teleported to Asteroid 24
----------------------------------------------------
8. When the player rolls a number high enough to get to Neptune, the program displays:
o the number of times that the player rolled the dice to reach Neptune, and o the points earned during the journey.
Save the program as ‘spaceracer_2_nameSurname.py’ (e.g. spaceracer_johnBarbara.py’)
Task 3
Finalise our game so that it displays the player’s position on the map after each turn.
A sample map is shown below.
Code modularity is expected.
-----------------------------------------------------
Dice: 4
Current Position: 27
Oh no, wormhole! You have been teleported to Asteroid 24
-----------------------------------------------------
> SATURN * G * * * W G * * * G * * * * * * G W * * * * * G G W * * * * * G * * * * * W * NEPTUNE
Save the program as ‘spaceracer_3_nameSurname.py’ (e.g. spaceracer_johnBarbara.py’)
SEC 09 SYLLABUS (2025): COMPUTING
Page 83 of 171
Sample Solution to
Python programming
(Text-Based Interface)
Exemplar.
Part 1 #display logo (genereted from https://www.kammerl.de/ascii/AsciiSignature.php)
print("________ ________ ")
print("__ ___/_____________ ___________ ___ __ \_____ ___________________")
print("_____ \___ __ \ __ `/ ___/ _ \ __ /_/ / __ `/ ___/ _ \_ ___/")
print("____/ /__ /_/ / /_/ // /__ / __/ _ _, _// /_/ // /__ / __/ / ")
print("/____/ _ .___/\__,_/ \___/ \___/ /_/ |_| \__,_/ \___/ \___//_/ ")
print(" /_/ ")
#ask for player name
player1 = input("\n>> Enter Username: ")
#display game map
print(" >")
print("SATURN * G * * * W G * * * G * * * * * * G W * * * * * G G W * * *
* * G * * * * * W * NEPTUNE\n")
#display game map legend
print(" --------------------------------------")
print("| Map Legend: |")
print("| *\t Asteroid |")
print("| G\t Asteroid with Gold Deposit |")
print("| W\t Asteroid with nearby Wormhole |")
print("| >\t Player Position |")
print(" --------------------------------------")
#display welcome message
print("\n*** WELCOME ", player1.upper(), " TO SPACE RACER")
Part 2 #import required modules
from random import randrange
#initialise required variables
user_input = ""
player_pos = 0
tries = 0
score = 0
#start Game Intro
#display logo (taken from https://www.kammerl.de/ascii/AsciiSignature.php)
print("________ ________ ")
print("__ ___/_____________ ___________ ___ __ \_____ ___________________")
print("_____ \___ __ \ __ `/ ___/ _ \ __ /_/ / __ `/ ___/ _ \_ ___/")
print("____/ /__ /_/ / /_/ // /__ / __/ _ _, _// /_/ // /__ / __/ / ")
print("/____/ _ .___/\__,_/ \___/ \___/ /_/ |_| \__,_/ \___/ \___//_/ ")
print(" /_/ ")
#ask for player name
player1 = input("\n>> Enter Username: ")
#display map
print("\n >")
print(" SATURN * G * * * W G * * * G * * * * * * G W * * * * * G G W * *
* * * G * * * * * W * NEPTUNE")
SEC 09 SYLLABUS (2025): COMPUTING
Page 84 of 171
#display game map legend
print("\n -------------------------------------")
print("| Map Legend: |")
print("| *\t Asteroid |")
print("| G\t Asteroid with Gold Deposit |")
print("| W\t Asteroid with nearby Wormhole |")
print("| >\t Player player_pos |")
print(" -------------------------------------")
print("\n*** WELCOME", player1.upper(), "TO SPACE RACER") #display
welcome message
#start game
while player_pos < 40:
user_input = "" #refresh user_input at the start of the loop
#validate user input until correct (not case sensitive)
while user_input.upper() != 'R':
user_input = input("\n >> [R]oll Dice << ")
#update variables
tries = tries + 1
dice = randrange(6) + 1 #from 1 to 6
player_pos += dice #update current player_pos with dice number
#display stats
print("\n----------------------------------------------------------")
print("\n Dice Number:", dice)
print(" Current Position:", player_pos)
#check if asteroid has gold or worm
if player_pos == 2 or player_pos == 7 or player_pos == 11 or
player_pos == 18 or player_pos == 25 or player_pos == 26 or player_pos ==
33:
score = score + 250 #update score
print(" ** GOLD FOUND **")
elif player_pos == 6 or player_pos == 19 or player_pos == 27 or
player_pos == 39:
player_pos = player_pos -3 #go three steps back
print(" !! WORMHOLE FOUND - You were transported to Asteroid",
player_pos)
print("\n----------------------------------------------------------")
#when game is finished
print("\n"+player1.upper()+", you reached Neptune :)\nScore:", score,
"\nTries:", tries);
Part 3 #import required modules
from random import randrange
#user-defined functions
def displayMap(steps):
print("") #skip line
if steps < 40: #if game is still in play
SEC 09 SYLLABUS (2025): COMPUTING
Page 85 of 171
#display first required spaces
print(" ", end="") #do not skipline when ready
#display second required spaces
for i in range(steps*2):
print(" ", end="") #do not skipline when ready
else: #if game is finished
for i in range(87):
print(" ", end="") #do not skipline when ready
#display player
print(">")
#display map
print(" SATURN * G * * * W G * * * G * * * * * * G W * * * * * G G W
* * * * * G * * * * * W * NEPTUNE")
def check_asteroid(position):
if position in [2, 7, 11, 18, 25, 26, 33]: #use list to hold asteroid
numbers
global score #use global variable
score = score + 250 #update score
print(" ** GOLD FOUND **")
elif position in [6, 19, 27, 39]:
position = position - 3 #go three steps back
print(" !! WORMHOLE FOUND - You were transported to Asteroid",
position)
return position #return the number of steps
#initialise required variables
user_input = ""
player_pos = 0
tries = 0
score = 0
#start Game Intro
#display logo (taken from https://www.kammerl.de/ascii/AsciiSignature.php)
print("________ ________ ")
print("__ ___/_____________ ___________ ___ __ \_____ ___________________")
print("_____ \___ __ \ __ `/ ___/ _ \ __ /_/ / __ `/ ___/ _ \_ ___/")
print("____/ /__ /_/ / /_/ // /__ / __/ _ _, _// /_/ // /__ / __/ / ")
print("/____/ _ .___/\__,_/ \___/ \___/ /_/ |_| \__,_/ \___/ \___//_/ ")
print(" /_/ ")
#ask for player name
player1 = input("\n>> Enter Username: ")
displayMap(player_pos); #call user-defined function with position 0
#display game map legend
print("\n -------------------------------------")
print("| Map Legend: |")
print("| *\t Asteroid |")
print("| G\t Asteroid with Gold Deposit |")
print("| W\t Asteroid with nearby Wormhole |")
SEC 09 SYLLABUS (2025): COMPUTING
Page 86 of 171
print("| >\t Player Position |")
print(" -------------------------------------")
#display welcome message
print("\n*** WELCOME", player1.upper(), "TO SPACE RACER")
#start game
while player_pos < 40:
user_input = "" #refresh user_input at the start of the loop
#validate user input until correct (not case sensitive)
while user_input.upper() != 'R':
user_input = input("\n >> [R]oll Dice << ")
#update variables
tries = tries + 1
dice = randrange(6) + 1 #from 1 to 6
player_pos += dice #update current position with dice number
#display stats
print("\n----------------------------------------------------------")
print("\n Dice Number:", dice)
print(" Current Position:", player_pos)
#check if asteroid has gold or worm and update player_pos
player_pos = check_asteroid(player_pos)
#call function display_Map to display updated map
displayMap(player_pos)
print("\n----------------------------------------------------------")
#when game is finished
print("\n"+player1.upper()+", you reached Neptune :)\nScore:", score,
"\nTries:", tries);
SEC 09 SYLLABUS (2025): COMPUTING
Page 87 of 171
Marking Criteria: Python Programming (Text-Based Interface)
MARKING CRITERIA – Python Programming (Text-Based Interface)
Maximum 50 marks* (10%)
MQF1 MQF2 MQF3
Specifications 1-9 10-18 19-30
Functionality 1-3 4-6 7-10
Programming Practices 1-3 4-6 7-10
*The marking of each section should be marked based on the overall performance in the three tasks.
Specifications
1-9 marks 10-18 marks 19-30 marks
The program displays proper
messages/prompts as per scenario.
Suitable variables defined.
Correct use of input statements.
The use of data type casting.
Appropriate use of arithmetic and/or
logic expressions.
Appropriate use of decision
statements.
Appropriate use of iteration
statements.
Correct use of String Functions.
Appropriate use of the Random
Module.
Appropriate use of assignment
operators.
Appropriate use of nested decision
statements.
Appropriate use of nested iteration
statements.
Appropriate use of data structures,
which may include nested data
structures.
Appropriate use of the Random
Module to access and modify items
in data structures.
Proper code modularity (use of user-
defined functions).
Functionality
1-3 marks 4-6 marks 7-10 marks
Program does not compile. Program compiles and runs but not
up to specifications.
Program compiles and runs as per
specifications.
Programming Practices
1-3 marks 4-6 marks 7-10 marks
Meaningful variable names. Meaningful variable names.
Appropriate code indentation.
Meaningful variable names.
Appropriate code indentation.
Appropriate use of comments to
describe section of the program.
Saving code as instructed.
SEC 09 SYLLABUS (2025): COMPUTING
Page 88 of 171
Coursework mode 3: Python Programming (Graphics-Based Interface)
Python Programming (Graphics-Based Interface)
100 marks
Internally-assessed
Externally-moderated
10% of total marks
Candidates are expected to analyse a given scenario and develop a solution using Python
programming language.
This coursework should be scenario-based and divided into two tasks, as shown in the table below.
Task 1:
The creation of graphical shapes and/or GUI output using ready-made modules to create a graphical interface.
Candidates will work on this part of the coursework during a typical double lesson in secondary schools.
Task 2:
Execute actions using: input, output, decision statements, iteration statements, user-defined functions, and data structures.
The use of String functions and/or the Random module may be included.
Candidates are given a maximum of three weeks to finalise and submit their work.
The analysis of the coursework should be done one lesson before the session when task 1 will be assessed. During the analysis phase, a copy of the task should not be provided to the candidates. A sample task and a sample solution are provided in the sections below. Teachers must assess the candidate’s work according to the general assessment rubric. The mark should take be based on:
the addition of the mark obtained in task 1 and the mark obtained in task 2;
whether assistance is given to the student or not.
Examples of possible scenarios:
Simple Apps, such as: Log-In System, Calculator, Gym-Membership System, etc.
Simple Game, such as: Tic-Tac-Toe, Snake, Space Invaders, Tetris, Draughts, Pac-Man, etc.
SEC 09 SYLLABUS (2025): COMPUTING
Page 89 of 171
Python Programming
(Graphics-Based
Interface)
Exemplar
(Learning Outcome 13)
APP Login System
Task 1
1. Develop a GUI interface for the log-in system, like the image on the right, that includes:
A ‘Username’ entry field A ‘Password’ entry field A ‘Register’ button A ‘Log In’ button A status bar below the buttons
2. The window size should be 330x190
3. The title bar should be APP LOG-IN
4. The status bar should display: ‘TESTING STATUS BAR’
5. Save the program as ‘app_login1_nameSurname.py’ (e.g. ‘app_login1_johnBarbara.py’).
Task 2
Upgrade the program so that the user can: log in and/or register a new account:
1. The pre-set login credentials are:
Username: crazybenji Password: rock!N?Roll
2. When the program starts, the status bar must be empty.
3. When login button is pressed, and the username and/or password fields are empty, the status bar displays “All entries are required”.
4. When login button is pressed, and the username does not exist, and/or the password is wrong, the status bar displays “Wrong Username/Password”.
5. If the username is found & password is correct, a message box displaying “Logged-In Successfully” pops up and the program ends. A sample is shown on the right.
6. The username IS NOT case sensitive, and the password IS case sensitive.
7. The username and password entry fields are set to empty whenever the Log In button is pressed.
8. The user has three chances to log in after which the status bar displays “Access Blocked” and the Login button gets disabled.
9. When register button is pressed and the username and/or password fields are empty, the status bar displays “All entries are required”.
10. When register button is pressed and the username already exists, the status bar displays “Username already Exists”.
11. When register button is pressed, and the username does not exist, the status bar displays “New user registered successfully”.
12. All existing users can log in the system by entering their username and password and press the log in button.
13. Save the program as ‘app_login2_nameSurname.py’ (e.g. ‘app_login2_johnBarbara.py’).
SEC 09 SYLLABUS (2025): COMPUTING
Page 90 of 171
Sample Solution to
Python Programming
(Graphics-Based
Interface)
Exemplar
Task 1 from tkinter import *
#create window
window = Tk()
window.geometry('330x190')
window.title('APP LOG-IN')
window.resizable(0,0) #to remove min/max button and make it not resizable
left_panel = Frame(window, padx=20, pady=20, bd=1, relief=GROOVE)
#frame padx/y from inside only
left_panel.place(x=20,y=20)
#include widgets (in a grid) for login panel
#username label and entry
lbl_username = Label(left_panel, text='Username ')
lbl_username.grid(row=0, column=0)
txt_username = Entry(left_panel, width='30')
txt_username.grid(row=0, column=1)
txt_username.focus() #to put cursor on this entry
#password label and entry
lbl_pass = Label(left_panel, text='Password ', justify='right')
lbl_pass.grid(row=1, column=0)
txt_password = Entry(left_panel, show='*', width='30')
txt_password.grid(row=1, column=1)
#buttons
btn_reg = Button(left_panel, text="Register")
btn_reg.grid(row=3, column=0, pady=10) #pady or padx from outside of button
and ipadx/y from inside
btn_submit = Button(left_panel, text="Log In", width = '25',
command=app_engine)
btn_submit.grid(row=3, column=1)
#status bar
status_bar = Label(left_panel, text = 'TESTING STATUS BAR')
status_bar.grid(row=4, columnspan = 2)
#Run the window
window.mainloop() #to use a separate thread to run the window and process
any event until window is closed
Task 2 from tkinter import *
from tkinter import messagebox
#global variables
tries = 3 #to store number of tries
accounts = [{'uname': 'crazyBenji', 'pass': 'rock!N?Roll'}]
#list made up of dictionaries
#user-defined functions
def app_engine(mode):
#use global variables inside the function
SEC 09 SYLLABUS (2025): COMPUTING
Page 91 of 171
global tries
global accounts
#reset status bar
status_message.set('')
#flag used to detect if user has logged in successfully (True) or not
(False)
check = False
#if username or password are left empty
if not txt_username.get() or not txt_password.get():
status_message.set('All entries are required')
else: #if username and password are filled in
for i in accounts: #loop through all records in list accounts
if txt_username.get().lower() == i.get('uname'):
#convert user entry to lowercase and check with the records
in accounts
if mode == 'log': #if log in button pressed
if txt_password.get() == i.get('pass'):
check = True #flag changed to true
else: #if register button pressed
check = True
break
#update status bar
if check and mode == 'log':
messagebox.showinfo("APP LOG-IN","Logged-In Successfully")
window.destroy() #exit from mainloop (window)
return #exit function
elif check and mode == 'register':
status_message.set('Username already exists!')
elif not check and mode == 'log':
#update and check number of tries
tries -= 1
if tries > 0:
status_message.set('Wrong Username/Password')
else:
status_message.set('Access Blocked')
btn_submit['state'] = 'disabled'
elif not check and mode == 'register':
#add new dictionary in list account – store username in
lowercase
accounts.append({'uname':txt_username.get().lower(),
'pass':txt_password.get()})
status_message.set('New user registered successfully')
#refresh text fields
txt_username.delete(0,END)
txt_password.delete(0,END)
def user_login():
app_engine('log')
def register_user():
app_engine('register')
SEC 09 SYLLABUS (2025): COMPUTING
Page 92 of 171
#create window
window = Tk()
window.geometry('330x190')
window.title('APP LOG-IN')
window.resizable(0,0) #to remove min/max button and make it not resizable
left_panel = Frame(window, padx=20, pady=20, bd=1, relief=GROOVE)
#Frame padx/y is space from inside only
left_panel.place(x=20,y=20)
#include widgets (in a grid) for login panel
#username label and entry
lbl_username = Label(left_panel, text='Username ')
lbl_username.grid(row=0, column=0)
txt_username = Entry(left_panel, width='30')
txt_username.grid(row=0, column=1)
txt_username.focus() #to put cursor on this entry by default
#password label and entry
lbl_pass = Label(left_panel, text='Password ', justify='right')
lbl_pass.grid(row=1, column=0)
txt_password = Entry(left_panel, show='*', width='30')
txt_password.grid(row=1, column=1)
#buttons
btn_reg = Button(left_panel, text="Register", command=register_user)
btn_reg.grid(row=3, column=0, pady=10)
#padx/x from outside of button and ipadx/y from inside
btn_submit = Button(left_panel, text="Log In", width = '25',
command=user_login)
btn_submit.grid(row=3, column=1)
#status bar
status_message = StringVar()
#StringVar is a variable type used in Tkinter when variable is bound to a
widget
status_message.set('')
status_bar = Label(left_panel, textvariable = status_message)
status_bar.grid(row=4, columnspan = 2)
#Label is bound to variable status_message
#The value in status_message is shown in the label
#Run the window
window.mainloop() #to use a separate thread to run the window and process
any event until window is closed
SEC 09 SYLLABUS (2025): COMPUTING
Page 93 of 171
Marking Criteria: Python Programming (Graphics-Based Interface)
MARKING CRITERIA – Python Programming (Graphics-Based Interface)
Maximum 100 marks (10%)
MQF1 MQF2 MQF3
Task 1
Interface 0-6 7-12 13-20
Functionality 0-3 4-6 7-10
Programming Practices 0-3 4-6 7-10
Task 2
Specifications 0-12 13-24 25-40
Functionality 0-3 4-6 7-10
Programming Practices 0-3 4-6 7-10
The same marking rubric for Functionality and Programming Practices should be used.
Interface
1-6 marks 7-12 marks 13-20 marks
The interface does not provide all the
specifications.
The interface is built according to
specifications but not presented neatly
on screen.
The interface is built according to
specifications and is presented neatly on
screen.
The interface provides all or some of the
specifications, but assistance is given.
Specifications
0-12 marks 13-24 marks 25-40 marks
The program displays proper
messages/prompts as per scenario.
The use of data type casting. Appropriate use of assignment
operators.
Defining suitable variables. Appropriate use of arithmetic and/or
logic expressions.
Appropriate use of nested decision
statements.
Correct use of input statements. Appropriate use of decision statements. Appropriate use of nested iteration
statements.
Appropriate use of iteration statements. Appropriate use of nested data
structures.
Correct use of String Functions. Appropriate use of the Random Module
to access and modify items in data
structures.
Appropriate use of the Random Module. Proper code modularity (use of user-
defined functions).
Appropriate use of Data Structures.
SEC 09 SYLLABUS (2025): COMPUTING
Page 94 of 171
Functionality
1-3 marks 4-6 marks 7-10 marks
Program does not compile. Program compiles and runs but not up
to specifications.
Program compiles and runs as per
specifications.
Programming Practices
1-3 marks 4-6 marks 7-10 marks
Meaningful variable names. Meaningful variable names. Meaningful variable names.
Appropriate code indentation. Appropriate code indentation.
Appropriate use of comments to
describe section of the program.
Saving code as instructed.
SEC 09 SYLLABUS (2025): COMPUTING
Page 95 of 171
Coursework mode 4: Research Work
Mode 4: Research Work
100 marks
Internally-assessed
Externally-moderated
10% of total marks
Candidates are expected to research and present a project on a learning outcome that must be
assessed through coursework. This should reflect the assessment criteria in MQF1, MQF2 and
MQF3 of the chosen learning outcome.
This coursework should be divided into two parts, as shown in the table below.
Part 1: (90% of the global mark)
- gathering background information and resources;
- discussing and evaluating findings;
- compiling findings in presentation.
Part 2: (10% of the global mark)
presenting the main points of the research in a clear and coherent way to an audience.
The aim of this task is to engage students in a short research project and measure some of their self-regulating skills in learning. These include the ability to manage time, sift through vast amounts of information, being able to select what is most relevant, compile the findings and ultimately use their communicative skills to share the main points. This task is to be introduced during a double lesson and candidates start their work during the same session. Candidates are then given up to two weeks to research and compile the relevant information and resources and develop their presentation material. Another double lesson will then be dedicated for the actual presentations in which candidates will have a maximum of five minutes each to present their work. The diagram below summarises the entire time frame.
Presentations can take the form of a slideshow, an interactive chart, video, document or any
other resource preferred by the candidate.
A sample task and its sample solution are provided in the sections below.
The teacher must assess the candidates’ work according to the marking scheme provided below.
Examples of possible scenarios:
Compare innovative gadgets/devices with special emphasis on their input and output components (I/O Devices);
The use of input & output components in wearable devices (I/O Devices) (used as a sample task provided below);
Compare input and output components in different gadgets used for entertainment (I/O Devices);
The use of biometric components for security purposes (I/O Devices).
SEC 09 SYLLABUS (2025): COMPUTING
Page 96 of 171
Research Work
Exemplar
(Learning Outcome 3)
Research: The use of Input & Output components in Wearable Devices
Research about the use of input and output components used in wearable devices. Your work
should involve:
1. gathering information about the topic:
a. look up information that is relevant to the topic from at least eight trusted
sources;
b. compile enough background information to become familiar with the topic;
c. sift through all the information collected to select the content that is most
relevant to address the objectives of the research question.
2. discussing and evaluating your findings:
a. look at the information you have gathered and select a few main points that will
become the major focus of your work;
b. look over these main points and validate them across different sources to verify
the information gathered and gain different perspectives on them.
3. compiling a summary of your research in a presentation:
a. take the main points of your presentation and decide about how much time you
want to allocate to each in your presentation;
b. make sure each point is presented in a clear and concise way;
c. make sure you use enough resources to get the point across with minimal effort
and maximum impact.
4. presenting your outcomes to an audience:
a. know your presentation well;
b. make eye contact with your audience;
c. present in a clear and fluent voice;
d. make meaningful use of your presentation tool.
SEC 09 SYLLABUS (2025): COMPUTING
Page 97 of 171
Sample Solution to
Research Work
Exemplar
SEC 09 SYLLABUS (2025): COMPUTING
Page 98 of 171
SEC 09 SYLLABUS (2025): COMPUTING
Page 99 of 171
SEC 09 SYLLABUS (2025): COMPUTING
Page 100 of 171
SEC 09 SYLLABUS (2025): COMPUTING
Page 101 of 171
SEC 09 SYLLABUS (2025): COMPUTING
Page 102 of 171
Marking Criteria: Research Work
MARKING CRITERIA – Research Work
Maximum 100 marks (10%)
MQF1 MQF2 MQF3
Structure & Referencing 1-3 4-6 7-10
Knowledge & Understanding 1-6 7-12 13-20
Research 1-6 7-12 13-20
Discussion & Conclusion 1-9 10-18 19-30
General Outcome 1-3 4-6 7-10
Presentation of work 1-3 4-6 7-10
Structure & Referencing
1-3 marks 4-6 marks 7-10 marks
The work presented is poorly structured,
or where there is a recognisable
structure there is minimal focus on the
task.
The work presented is structured,
generally organized, and can be
followed. More could have been done
overall, and some deficiencies are
evident.
The work presented is very well
structured, focused and effectively
organized. It is clear, coherent and
supported with illustrations where
appropriate.
None or minimal referencing is used. Adequate yet incomplete referencing. Adequate and complete referencing.
Knowledge & Understanding
1-6 marks 7-12 marks 13-20 marks
There is some knowledge and
understanding of the issues and topics
related to the research project.
Knowledge of the issues and topics
related to the research project is mostly
correct and pertinent.
The project contains relevant, accurate
and detailed knowledge of the issues
and topics related to the research
project.
Explanations on the issues raised are
superficial or limited.
There is a satisfactory explanation of the
issues raised, although some errors are
evident.
There is a well-developed explanation of
the issues raised.
Appropriate terminology is used
sparingly and at times incorrectly.
Appropriate terminology is used at
times.
Appropriate terminology is used
consistently and correctly.
SEC 09 SYLLABUS (2025): COMPUTING
Page 103 of 171
Research
1-6 marks 7-12 marks 13-20 marks
There is little information relevant to the
research topic.
Information is clear, valid and relevant
to the research topic.
Information is clear, valid and relevant
to the research topic.
Some parts of the information are not
directly related to the research topic.
Information is collected from at least
five different sources.
Information is collected from at least
eight different sources.
Research includes different technologies
in relation to the research topic.
Discussion & Conclusion
1-9 marks 10-18 marks 19-30 marks
Short and limited discussion on the
chosen topic.
Limited but cogent discussion on the
chosen topic.
Well-developed and comprehensive
discussion on the chosen topic.
Analysis of the information collected is
mostly lacking.
There are some elements of analysis of
the information collected but it lacks
evaluation.
Synthesize the research presented and
recommend scenarios were this tech can
be used.
The content is mostly descriptive. Basic but comprehensive conclusion.
There is little or no closure to the
discussion.
General Outcome
1-3 marks 4-6 marks 7-10 marks
Candidate shows little understanding of
the research topic.
Candidate shows good understanding of
the research topic.
Candidate shows excellent
understanding of the research topic.
Questions asked are not answered. Questions asked are partially answered. Questions asked are fully answered.
Presentation of Work
1-3 marks 4-6 marks 7-10 marks
The work is presented in more than 5
minutes.
The work is presented in more than 5
minutes.
The work is presented in a total of 5
minutes.
Poor use of headings. Fair use of headings. Excellent use of headings.
Poor formatting and organisation of oral
presentation.
Fair formatting and organisation of oral
presentation.
Excellent formatting and organisation of
oral presentation.
Muffled speaking with low volume and
lacking enthusiasm.
Adequate speaking with low volume
and some enthusiasm.
Clear speaking with appropriate volume
and enthusiasm.
Reading from notes. Some reading from notes
complemented with some eye-contact.
Excellent eye-contact throughout
presentation.
No interaction with audience. Little interaction with audience. Excellent interaction with audience.
SEC 09 SYLLABUS (2025): COMPUTING
Page 104 of 171
Subject Content
Crow’s Foot Notation
Tables
A table, or the so-called entity, is a representation of a
class of object. It can be a person, place, thing, etc.
A table is represented by a rectangle, with its name on
the top. The name is singular (entity) rather than plural
(entities).
Fields
Fields, or the so-called attributes, are properties that
describes a table. The primary key is marked with an
asterisk.
Relationships
Relationships have two indicators:
The first one (called cardinality) refers to the maximum number of times that an instance of one table can be
associated with instances in the related table. It can be one or many.
The second (called optionality) describes the minimum number of times one instance can be related to others. It
can be zero or one, and accordingly describes the relationship as optional or mandatory.
SEC 09 SYLLABUS (2025): COMPUTING
Page 105 of 171
Examples of relationships:
One-to-one
One-to-many
Many-to-many
References:
Dybka, P. (2016, March 31). Design Fundamentals: Crow’s Foot Notation. Retrieved from
https://www.vertabelo.com/blog/crow-s-foot-notation/
SEC 09 SYLLABUS (2025): COMPUTING
Page 106 of 171
Specimen Assessments
Specimen Assessments: Controlled Paper MQF 1-2
MATRICULATION AND SECONDARY EDUCATION CERTIFICATE EXAMINATIONS BOARD
SECONDARY EDUCATION CERTIFICATE LEVEL
SAMPLE PAPER
SUBJECT: Computing
PAPER: Level 1 – 2
DATE:
TIME: 2 Hours
Directions to Candidates
Answer all questions in the space provided.
You are not allowed to use any extra sheets other than those provided in this booklet.
Good English and orderly presentation are important.
The use of flowchart templates is permitted. The use of calculators is NOT permitted.
Section A
1. The tech giant, Apple, has recently released the iPhone 11 Pro, a flagship smartphone that was
announced in late 2019. Some of this phone’s specifications are listed below.
https://www.shanethegamer.com/iphone-11/
Type Super AMOLED capacitive
touchscreen, 16M colours
Size 6.5 inches
Resolution 1242 x 2688 pixels (458 ppi)
Processor A13 Bionic
Operating
System iOS 13
Features
- Tri-Camera (12 megapixels) - Dual Flash LED
- Noise Cancelling Microphone - 64GB Internal Storage
a. List ONE input and ONE output component of this phone.
(2)
SEC 09 SYLLABUS (2025): COMPUTING
Page 107 of 171
b. What is the colour depth of this display?
(1)
c. Identify ONE specification which determines the quality of images displayed on this mobile.
(1)
d. This phone has 64GB internal storage. If 4GB are used by the software installed on this mobile,
how many MP3s can be stored on this phone if the average size of each MP3 is 4MB?
(2)
(Total: 6 marks)
2. The iPhone 11 Pro is powered by the A13 Bionic processor which is based on System on Chip
(SoC) technology. It comes with 4GB of RAM and 256GB internal storage which are not
expandable.
a. Define the term SoC technology.
(1)
b. Unlike this phone, some other smartphones come with a fixed internal storage capacity and the
possibility to expand storage.
Mention ONE storage medium that is used as expandable storage for smartphone devices.
(1)
c. Identify the capacity of the primary storage and secondary storage of this smartphone.
(2)
d. Define RAM.
(1)
e. Besides RAM, mention ONE other memory component inside a smartphone.
(1)
f. Mention TWO other devices/gadgets that use SoC technology.
(2)
(Total: 8 marks)
SEC 09 SYLLABUS (2025): COMPUTING
Page 108 of 171
3. Smartphones users can access the Internet from their phone. While waiting for her bus home,
Emma connected to the Internet to access her Google Drive on https://www.google.com/drive.
a. Explain the difference between the client and the server role in terms of accessing Google Drive.
(1)
b. Google Drive uses an https protocol.
i. Define the need for network protocols.
(1)
ii. Why does Google Drive require a secure (https) protocol?
(1)
iii. How is https different from an ftp protocol?
(1)
c. The hostname is translated to 172.217.9.238 IPv4 address.
i. Why is there the need to have the hostname translated to an IP address?
(1)
ii. How does IPv4 differs from IPv6?
(1)
iii. How does an IP address differ from a MAC address?
(1)
d. Besides Google Drive, Emma has an Amazon Prime Video account and its app installed on her
smartphone. This is an online streaming service that allows customers to watch a wide variety of
TV shows, movies, documentaries, and more.
What do Google Drive and Amazon Prime Video have in common?
(1)
(Total: 8 marks)
SEC 09 SYLLABUS (2025): COMPUTING
Page 109 of 171
4. A robotic arm is used to install the car windscreen. The robotic arm is controlled by a 6-bit signal.
Each bit in the signal activates a component of the robotic arm when that bit is set to 1.
Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5
Move arm
UP
Move arm
DOWN
Move arm
IN
Move arm
OUT
Apply force
to stabilize
windscreen
in place
Activate
vacuum
suckers to lift
windscreen
a. Identify the number bases used for Binary, Decimal and Hex.
(3)
b. For each of the numbers, tick the correct number system/s. You may tick more than one.
Binary Hex Decimal
(3)
12
2E
10
c. What happens when the following bit pattern is entered?
Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5
1 0 0 1 0 0
(1)
d. What happens when the system receives the value 2410? Show your working.
(2)
(Total: 9 marks)
SEC 09 SYLLABUS (2025): COMPUTING
Page 110 of 171
5. An automatic floor vacuum cleaner has a set of sensors and functions as listed below:
Sensors Functions
S1 S2 S3 M0 M1
detects
dirt
detects obstacles
in vicinity
indicates robot’s
low battery
activates
mopping brush
moves motor
wheels forward
The following is a logic circuit designed to activate
the motor wheels (M1 = 1) if:
S1 does not detect dirt (S1 = 0), or
S2 does not detect an obstacle (S2 = 0)
a. Draw the truth table for the above logic circuit.
(2)
b. Derive the Boolean expression of the above logic circuit.
(2)
c. The logic circuit designed to activate the motor wheels (M1) can be represented using only one
universal gate. Name it and draw its symbol.
(2) Logic gate:
d. The robot can activate the mopping brush (M0 = 1) if battery is charged (S3 = 0), and dirt is
detected (S1 = 1). The Boolean expression representing this function is M0 = NOT(S3) AND S2.
Develop the logic circuit for this Boolean expression.
(3)
(Total: 9 marks)
SEC 09 SYLLABUS (2025): COMPUTING
Page 111 of 171
Section B
6. A University library holds a large stock of books that are available for loan to University students.
The library requires a database to support the processing of these loans. Examine the sample
records in Figure 1 and the database assumptions in Figure 2 shown below.
Title: Prisoners of Geography ISBN: 1783962437 Category: Science
Published: 2013 Shelf Num: C100 Date Acquired: 12-APR-2016
Borrower ID Loan Date Return Date
0007694M 12-MAY-2018 24-MAY-2018
0434691M 26-MAY-2018 31-MAY-2018
0678598A 03-JUN-2018 12-JUN-2018
Figure 1: Three loan records displayed in a report.
1. The library acquires one hardcopy of each book.
2. A book has a:
unique ISBN (an international 13 numbered book code);
title;
date it was published;
category;
shelf number;
date it was acquired.
3. A borrower may have more than one book on loan at any time.
4. A book may be out on loan many times or it may never be loaned out.
5. Each loan transaction is made by one borrower for one book.
Figure 2: List of Rules
a. Provide TWO advantages for this library to use a digital database instead of manual records.
(2)
b. Use the keywords in table below to fill in the blanks. Each keyword can be used more than
once.
database records record fields primary key
A __________________ stores information in a series of ____________________. Each
____________________ is made up of a group of _____________________. A
__________________ uniquely identifies a ____________________. (3)
SEC 09 SYLLABUS (2025): COMPUTING
Page 112 of 171
c. Define the term Database Management System (DBMS).
(1)
d. Fill in the missing fields or data types for the BOOK table below:
BOOK Table
Fields Data Types
Title Text
ISBN Text
Date/Time
Category
Date Acquired Date/Time (2)
e. What would be a suitable field length for that the field ‘Category’?
(1)
f. Which process refers to the checking of the data entered by users to ensure data quality, that it
is correct and useful. Tick the correct answer.
Data Check Data Analysis Data Validation
(1)
g. Analyse the below Entity Relationship Diagram
(ERD) and answer the following questions:
i. What field uniquely identifies records in the
STUDENT table and the LOAN table?
(2)
ii. What is the minimum number of books that a
student can borrow?
(1)
iii. What is the minimum and maximum number
of books that a loan can include?
(2)
SEC 09 SYLLABUS (2025): COMPUTING
Page 113 of 171
h. Analyse the list of records in the table below and answer the following questions:
Title Published Date Author
The Philosopher's Stone 01-Feb-97 J.K. Rowling
The Chamber of Secrets 01-Mar-98 J.K. Rowling
The Prisoner of Azkaban 01-Jan-99 J.K. Rowling
The Goblet of Fire 01-Jun-00 J.K. Rowling
The Order of the Phoenix 10-Jan-03 J.K. Rowling
The Half-Blood Prince 01-Apr-05 J.K. Rowling
The Deathly Hallows 15-Nov-07 J.K. Rowling
The Fellowship of the Ring 29-Jul-54 J. R. R. Tolkien
The Two Towers 11-Nov-54 J. R. R. Tolkien
The Return of the King 20-Oct-55 J. R. R. Tolkien
i. What would be the first record returned by the following SQL statements:
(a) SELECT Title FROM Book ORDER BY Title Desc (1)
(b) SELECT Title FROM Book ORDER by Title (1)
ii. How many records would be returned by the following SQL Statements:
(a) SELECT * FROM Books
(1)
(b) SELECT * FROM Books WHERE published_date > '1 Jan 2000'
(1)
(c) SELECT *
FROM Books
WHERE published_date > '1 Jan 2000' AND Author=’J.R.R. Tolkien’
(1)
(d) SELECT *
FROM Books
WHERE published_date > '1 Jan 2000' AND published_date < '1 Jan 2005'
(1)
(Total: 21 marks)
SEC 09 SYLLABUS (2025): COMPUTING
Page 114 of 171
7. A smart Air-Conditioner can connect to the Internet and the user can control it from his
smartphone through an app.
The AC contains various components, some of which are the:
humidity sensor: input device which reads the amount of water in the air.
front display screen: output device which shows controls, properties, etc.
heating element: output device which heats up the air.
blower: output device which circulates air in the room.
a. What is the difference between data and information?
(1)
b. Mention an example of data and an example of information in terms of controlling the AC through
the smart phone.
(2)
c. The diagram shown below displays how the temperature sensor controls the AC.
i. Distinguish between analogue and digital data.
(1)
ii. Define the term ADC.
(1)
iii. Besides the Air Conditioner, other household devices, such as a microwave, are powered
by a microcontroller. Define the term microcontroller.
(1)
SEC 09 SYLLABUS (2025): COMPUTING
Page 115 of 171
d. The AC displays the ambient temperature in Celsius (C) or Fahrenheit (F).
First it reads the temperature value in Fahrenheit or Celsuis, then it converts it and displays
the converted temperature on the LCD display.
Complete the flowchart below that represents the algorithm for this function.
The conversion formulas are:
C = (F – 32) x 0.56
F = (1.8*C) + 32
(3)
e. The smartphone app called ‘AirTouch 3’ is an app that can be downloaded for free from Google
Play and App Store.
i. AirTouch 3 is an off-the shelf type of software, define off-the-shelf software.
(1)
ii. How is off-the-shelf software different from tailor-made software?
(1)
iii. ‘AirTouch 3’ uses a freeware license. Define freeware license.
(1)
f. ‘AirTouch 3’ is coded in Java programming language, whilst the AC is programmed in Assembly
language.
i. Provide TWO differences between JAVA and Assembly language.
(2)
SEC 09 SYLLABUS (2025): COMPUTING
Page 116 of 171
ii. Complete the sentence below by filling in the words using the following terms:
Assembler Compiler Interpreter
When coding the ‘Air Touch 3’ in JAVA, a/an _____________________ is used to
translate the source code into executable code, however a/an ___________________
is used to translate the AC in assembly language into executable code. (2)
g. Define the concept of the IoT.
(1)
(Total: 17 marks)
8. Android announced their latest Embedded Operating
System (OS), Android 9 PIE, in August 2018. Android OS
is generally used on smartphones, smartwatches and
tablets.
https://www.androidjungles.com/android-p/
a. Mention THREE functions of an OS.
(3)
b. Define the term Embedded OS.
(1)
c. Android 9 makes use of a Natural User Interface (NUI). What is NUI?
(1)
d. Android OS is an open source OS. How is this different from a shareware license?
(1)
SEC 09 SYLLABUS (2025): COMPUTING
Page 117 of 171
e. Android 9 PIE’s minimum system requirements are as follows:
64-bit Quad Core 1 GHz CPU 512MB RAM 8GB Storage
i. Distinguish between single-core and multi-core CPU.
(2)
ii. Does Android 9 PIE require a single-core or a multi-core CPU?
(1)
iii. Briefly explain the roles of the CPU components ALU and CU.
(2)
iv. The word length of this CPU is 64bit. Define the term word length.
(1)
v. The internal storage of any device equipped with an Android OS must be formatted with
an ‘Ext4’ Filing System. Briefly explain the use of the terms in bold.
(2)
f. One of Android 9 PIE’s new upgrade is a better navigation between running apps. Briefly describe
how the OS manages the running of several apps.
(1)
g. According to Android developers, Android OS does not use virtual memory, but the user can
enable virtual memory from the device settings. Briefly explain the purpose of virtual memory.
(1)
h. Usually Android apps are programmed in Java.
i. Is Java considered a Low-Level Language or a High-Level Language?
(1)
SEC 09 SYLLABUS (2025): COMPUTING
Page 118 of 171
ii. Define Low and High-level languages.
Low-Level Language:
(1)
High-Level Language:
(1)
iii. Mention THREE characteristics of High-Level Language.
(3)
(Total: 22 marks)
END OF PAPER
SEC 09 SYLLABUS (2025): COMPUTING
Page 119 of 171
Specimen Assessments: Controlled Paper MQF 1-2 – Marking Scheme
MATRICULATION AND SECONDARY EDUCATION CERTIFICATE
EXAMINATIONS BOARD
SECONDARY EDUCATION LEVEL
MARKING SCHEME FOR SAMPLE CONTROLLED PAPE
SUBJECT: Computing
PAPER: Level 1-2
DATE:
TIME: 2 Hours
Section A Marks Comments
1. a. Input: Microphone OR Camera;
Output: Flash LED OR Speaker etc. 2
1 mark each.
Accept relevant answers.
b. 16 million colours. 1
c. Resolution. 1 Accept also bit depth or ppi.
d. (60x1024)/4
2
½ mark for getting 60GB
remaining space.
½ mark for converting GB to MB.
1 mark for dividing by 4.
Total: 6 marks
2. a. SoC is a system which includes the various
components that make up an entire system into
one chip, including: CPU, ROM, RAM, Storage,
GPU, Sensors, Network cards, etc.
1 Accept relevant answers.
b. Memory card. 1
Do not accept online or cloud
storage.
c. 4GB Primary and 256GB Secondary. 2 Accept relevant answers.
d. RAM – Random Access Memory that is a volatile
type of memory used to store instructions
required by the CPU.
1 Accept relevant answers.
e. ROM. 1
f. Air Conditioner, Car ECU, Smart Tv, Smartphone,
tablet etc… 2 Accept relevant answers.
Total: 8 marks
3. a. The server stores the google drive’s interface and
data, whilst the client is the app or the website
from where the user accesses personal data.
1 Accept relevant answers.
b. i. Network protocols are the mechanisms for
devices to identify and make connections
with each other.
1 Accept relevant answers.
ii. Because cloud storage requires a secure
protocol that safeguards the transferring of
personal data/files to and from servers from
being hacked.
1 Accept relevant answers.
SEC 09 SYLLABUS (2025): COMPUTING
Page 120 of 171
iii. http is the protocol used for the transferring
and viewing of websites, whilst ftp is the
protocol used for the transferring of files
to/from server.
1 Accept relevant answers.
c. i. Because all Internet hosts are identified by
an IP address and not hostnames. 1 Accept relevant answers.
ii. IPv4 is a 32-bit address, whilst Ipv6 is a 128-
bit address. 1 Accept relevant answers.
iii. IP uniquely identifies a connection on a
network (assigned by the ISP), whilst the
MAC address uniquely identifies the device
on a network (assigned by the NIC
manufacturer).
1 Accept relevant answers.
d. Both are Software as a Service (SaaS). 1 Accept relevant answers.
Total: 8 marks
4. a. Binary = 2; Decimal = 10; Hex = 16 3 1 mark each.
b. 12 = Hex and Decimal.
2E = Hex.
10 = Binary, Hex and Decimal.
3 1 mark each.
c. Move arm UP and OUT. 1
d. 2410 = 0110002 which means that the arm moves
down and in. 2
1 mark for converting to binary.
1 mark for action.
Total: 9 marks
5. a.
S1 S2 M1
0 0 1
0 1 0
1 0 0
1 1 0
2
1 mark for input
combinations.
1 mark for correct output.
b. M1 = NOT(S1 OR S2) 2
½ mark for OR gate.
½ mark for NOT gate.
1 mark for overall expression.
c.
NOR GATE
2 1 mark for symbol.
1 mark for gate.
d.
3
½ mark for each correct
input/output labels.
½ mark for each correct gate.
½ mark for correct symbols
(overall circuit).
Total: 9 marks
SEC 09 SYLLABUS (2025): COMPUTING
Page 121 of 171
Section B Marks Comments
6. a. Less data redundancy and more flexibility in
accessing data. 2 Accept relevant answers.
b. database, records, record, fields, primary key
record. 3 ½ mark each.
c. DBMS is the software used to create and modify a
database. 1 Accept relevant answers.
d.
BOOK Table
Fields Data Types
Title Text
ISBN Text
Date Published Date/Time
Category Text
Shelf Number Text
Date Acquired Date/Time
2 ½ mark for each correct
answer
e. 20. 1 Accept reasonable lengths.
f. Data Validation. 1
g. i. STUDENT = ID Num
LOAN = Loan Index 2 1 mark each.
ii. 0 books. 1
iii. MIN: 1 Book and MAX: 1 Book 2
h. i. (a) The Two Towers. 1
i. (b) The Chamber of Secrets. 1
ii. (a) 10 1
ii. (b) 3 1
ii. (c) 0 1
ii. (d) 1 1
Total: 21 marks
7. a. Data is raw, unorganized facts that need to be
processed. Information is processed, organised or
structured data that is useful to the user.
1 Accept relevant answers.
b. Data: values gathered from Humidity Sensor
Information: Info displayed on the front display
screen.
2 Accept relevant answers.
c. i. Analogue is raw data, real data, and digital
data is a sample extracted from the real data. 1 Accept relevant answers.
ii. Analogue to Digital Conversion, when
analogue data are converted to digital
signals.
1 Accept relevant answers.
iii. A microcontroller is designed to power an
embedded system. A typical microcontroller
includes a processor, memory and
input/output (I/O) peripherals on a single
chip.
1 Accept relevant answers.
SEC 09 SYLLABUS (2025): COMPUTING
Page 122 of 171
d.
3 1 mark each.
e. i. A readymade software common to all users. 1 Accept relevant answers.
ii. Tailor made is a software which is custom
made from scratch according to specific
needs.
1 Accept relevant answers.
iii. Freeware is a license that lets users to use
the software for free but cannot distribute
against profit.
1 Accept relevant answers.
f. i. JAVA is a high-level language whilst
Assembly is a low-level language.
Java is easier to code with and allows the
possibility for software portability and
Assembly language is machine dependent.
2
1 mark for each correct
difference.
ii. compiler, assembler 2 1 mark each.
g. IoT is the concept of having digital devices
connected to the Internet. 1 Accept relevant answers.
Total: 17 marks
8. a. User Interface OR File Management OR Process
Management OR Memory Management OR Input
& Output Management.
3 1 mark each.
Accept relevant answers.
b. Embedded OS is a type of OS used for specific
functions in embedded systems. 1 Accept relevant answers.
c. NUI is a type of interface that allows users to
interact with the device using natural gestures,
voice commands, etc.
1 Accept relevant answers.
d. Open Source lets the user use and modify the
code for free, while shareware allows the user to
use the software for a limited time only.
1
e. i. Single Core has one internal CPU.
Multi Core has more than one internal CPUs. 2 Accept relevant answers.
ii. Multi-Core. 1
iii. ALU performs arithmetic and logical
operations when the CU requires it to execute
instructions.
CU controls the fetching and the executing of
instructions.
2 Accept relevant answers.
iv. Word length refers to the number of bits of
data that the CPU can handle per cycle. 1 Accept relevant answers.
SEC 09 SYLLABUS (2025): COMPUTING
Page 123 of 171
v. Formatting is done by a specialised software
utility that creates the storage device’s file
structure that is compatible with the OS.
The Filing Structure is where the OS stores
the files and their properties.
2 Accept relevant answers.
g. The OS gives time slices to each app and uses a
technique to manage the different slices, such as
Round Robin or Priority-scheduling.
1 Accept relevant answers.
h. Virtual memory is used as an extension of RAM
when the CPU requires more memory space than
is available.
1 Accept relevant answers.
i. i. Low Level Language. 1 Accept relevant answers.
ii. Low Level: contain basic instructions
understood by the computer, thus more
difficult to program with.
High Level: more level of abstraction from
the processor, thus more user friendly.
2
iii. English-like statements, require translation
to Machine Language, produces portable
software.
3 Accept relevant answers
Total: 22 marks
SEC 09 SYLLABUS (2025): COMPUTING
Page 124 of 171
Specimen Assessments: Controlled Paper MQF 2-3
MATRICULATION AND SECONDARY EDUCATION CERTIFICATE
EXAMINATIONS BOARD
SECONDARY EDUCATION CERTIFICATE LEVEL
SAMPLE PAPER
SUBJECT: Computing
PAPER: Level 2 – 3
DATE:
TIME: 2 Hours
Directions to Candidates
Answer all questions in the space provided.
You are not allowed to use any extra sheets other than those provided in this booklet.
Good English and orderly presentation are important.
The use of flowchart templates is permitted. The use of calculators is NOT permitted.
Section A
1. The tech giant, Apple, has recently released the iPhone 11 Pro, a flagship smartphone that was
announced in late 2019. Some of this phone’s specs are listed below.
https://www.shanethegamer.com/iphone-11/
Type Super AMOLED capacitive
touchscreen, 16M colours
Size 6.5 inches
Resolution 1242 x 2688 pixels (458 ppi)
Processor A13 Bionic
Operating
System iOS 13
Features
- Tri-Camera (12 megapixels) - Dual Flash LED - Noise Cancelling Microphone - 64GB Internal Storage
a. List TWO input and TWO output components of this phone.
(2)
b. Explain the term bit depth.
(1)
SEC 09 SYLLABUS (2025): COMPUTING
Page 125 of 171
c. What is the colour depth of this display?
(1)
d. Given that a phone uses 24-bit depth, how many bits are sent to the screen to light it up once?
(1)
e. Which device would have the best picture quality? The iPhone 11 Pro or a tablet with a 9.7-inch
display with the same resolution of that of the iPhone 11 Pro? Explain your answer.
(2)
f. Older mobile devices such as the Nokia 3310 or Siemens M35 had a menu-
driven interface while modern smartphones use a graphical user interface.
Which type of user interface do you prefer and why?
https://bit.ly/2wTuUUX
https://amzn.to/387OWYG
(1)
(Total: 8 marks)
2. The iPhone 11 Pro is powered by the A13 Bionic processor which is based on System on Chip
(SoC) technology. It comes with 4GB of RAM and a choice of 64GB or 256GB or 512GB internal
storage which are not expandable.
a. Explain why users generally favour devices with more RAM.
(1)
b. Unlike this phone, some other smartphones come with a fixed internal storage capacity and the
possibility to expand storage.
Mention ONE storage medium that is used as expandable storage for smartphone devices.
(1)
c. The smartphone’s ROM stores the operating system, the applications and the user’s personal
data. ROM is the smartphone’s internal storage. How does this differ from the ROM in a personal
computer?
(1)
SEC 09 SYLLABUS (2025): COMPUTING
Page 126 of 171
d. Mention TWO reasons why smartphones are equipped with SoC.
(2)
e. Mention TWO other devices/gadgets that use SoC technology.
(2)
(Total: 7 marks)
3. Smartphones users can access the Internet from their phone. While waiting for her bus home,
Emma connected to the Internet.
a. What type of connection did Emma use? Explain your answer.
(2)
b. Emma has a free account with Google Drive to use as cloud storage. Mention ONE advantage
and ONE disadvantage of using cloud storage.
(2)
c. Explain the difference between the client and the server role in terms of accessing Google Drive.
(1)
d. The address to access Google drive is https://www.google.com/drive/.
i. Mention ONE reason why Google Drive has an https protocol.
(1)
ii. The hostname is translated to 172.217.9.238 IP address. How does this differ from IPv6?
(1)
iii. Why is there the need to have the hostname translates to an IP address?
(1)
SEC 09 SYLLABUS (2025): COMPUTING
Page 127 of 171
e. Besides Google Drive, Emma has an Amazon Prime Video account and its app installed on her
smartphone. This online streaming service allows customers to watch a wide variety of TV shows,
movies, documentaries, and more.
What do Google Drive and Amazon Prime Video have in common?
(1)
(Total: 9 marks)
4. A robotic arm is used to install the car windscreen. The robotic arm is controlled by a 6-bit signal.
Each bit in the signal activates a component of the robotic arm when that bit is set to 1.
Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5
Move arm
UP
Move arm
DOWN
Move arm
IN
Move arm
OUT
Apply force
to stabilize
windscreen
in place
Activate
vacuum
suckers to lift
windscreen
a. What happens when the following bit pattern is entered?
Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5
1 0 0 1 0 0
(1)
b. What happens when the system receives the value 2410? Show your working.
(2)
c. Is 4B16 a valid entry? Explain. Show your working.
(3)
(Total: 6 marks)
SEC 09 SYLLABUS (2025): COMPUTING
Page 128 of 171
5. The robotic arm mentioned in question 4, does not allow the user to input conflicting commands.
For example, move arm up and move arm down cannot be activated at the same time. Conflicting
bits produce a ‘1’ in the error bit (E).
a. Draw the truth table for bit 0 (B0), bit 1 (B1) and output (E) only.
(2)
b. Develop the logic circuit to represent the truth table in part a.
(1)
c. Derive the Boolean expression according to your answer in part b.
(1)
d. Besides the conflicting commands, an error can also happen if the robotic arm’s diagnostic
procedure detects a mechanism malfunction.
Revise the truth table, logic circuit and the Boolean expression in parts a, b and c with bit0 (B0),
bit1 (B1), malfunction (M) and Error Output (E).
Truth Table here
Logic Circuit here
(4)
Boolean Expression: (2)
(Total: 10 marks)
SEC 09 SYLLABUS (2025): COMPUTING
Page 129 of 171
Section B
6. A University library holds a large stock of books that are available for loan to University students.
The library requires a database to support the processing of these loans. Examine the sample
records in Figure 1 and the database assumptions in Figure 2 shown below.
Title: Prisoners of Geography ISBN: 1783962437 Category: Science
Published: 2013 Shelf Num: C100 Date Acquired: 12-APR-2016
Borrower ID Loan Date Return Date
0007694M 12-MAY-2018 24-MAY-2018
0434691M 26-MAY-2018 31-MAY-2018
0678598A 03-JUN-2018 12-JUN-2018
Figure 1: Three loan records displayed in a report
1. The library acquires one hardcopy of each book.
2. A book has a:
unique ISBN (an international 13 numbered book code);
title;
date it was published;
category;
shelf number;
date it was acquired.
3. A borrower may have more than one book on loan at any time.
4. A book may be out on loan many times or it may never be loaned out.
5. Each loan transaction is made by one borrower for one book.
Figure 2: List of Rules
a. Provide TWO advantages for this library to use a digital database instead of manual records.
(2)
b. Fill in the missing fields or data
types for the Book table on the
right:
BOOK Table
Fields Data Types
Title Text
ISBN Text
Date/Time
Category
Date Acquired Date/Time
(2)
SEC 09 SYLLABUS (2025): COMPUTING
Page 130 of 171
c. Considering that the field ‘ISBN’ is a thirteen-digit number, why is it set to Text and not Number?
(1)
d. Besides the ‘Book’ table, which TWO other tables would you create for the University library
database?
(2)
e. State the primary key you would assign for the three tables.
(3)
f. Describe ONE validation method you would assign to one of the fields in the BOOK table. Justify
your answer.
(2)
g. By using SQL instructions, create a simple query to produce a list showing only the book titles
under the category ‘Technology’.
(2)
h. Draw an Entity Relationship Diagram (ERD), using the Crow’s Foot notation, that includes:
tables together with their fields;
indication of the primary keys and foreign keys;
relationships between the tables showing their cardinality and optionality constraints.
[Entity Relation Diagram here]
(6)
(Total: 20 marks)
SEC 09 SYLLABUS (2025): COMPUTING
Page 131 of 171
7. Up until recently, the Internet was only used by users. Nowadays,
appliances, gadgets and other digital devices can communicate together,
through the Internet of Things (IoT).
For example, the user can have an app on his smartphone that is connected
to the Air Conditioner (AC) at home. The AC is connected to the home’s
Internet account and so can respond to commands coming from the user’s
app.
The AC contains various components, some of which are the:
humidity sensor: input device which reads the amount of water in the air;
front display screen: output device which shows controls, properties, etc.;
heating element: output device which heats up the air;
blower: output device which circulates air in the room.
https://bit.ly/3a8zEV2
a. What is the difference between data and information?
(1)
b. By using the scenario of controlling the AC through the smart phone, provide suitable examples
to justify your answer in part a.
(2)
c. The diagram shown below displays how the temperature sensor controls the AC.
i. Temperature is said to be analogue data. Distinguish between analogue and digital data.
(1)
ii. Why is the ADC step required?
(1)
iii. Mention ONE advantage and ONE disadvantage for having a low sampling rate during the
ADC step.
(2)
SEC 09 SYLLABUS (2025): COMPUTING
Page 132 of 171
d. The AC has an option to display the ambient temperature in Celsius (C) or Fahrenheit (F).
This feature is programmed in a user-defined function called:
temp_convert (String tempUnit, float tempValue)
This function accepts a temperature value in Fahrenheit (F) or Celsuis (C), converts it and
displays the converted temperature.
Design a flowchart that represents the algorithm for this function.
The conversion formulas are:
C = (F – 32) x 0.56
F = (1.8*C) + 32
Flowchart here
(6)
e. The smartphone app called ‘AirTouch 3’ is an app that can be downloaded for free from Google
Play and App Store.
i. Is AirTouch 3 an off-the shelf or a tailor-made type of software? Explain your answer.
(2)
ii. What type of software licence is required for the Air Touch 3? Explain your answer.
(2)
f. ‘AirTouch 3’ is coded in Java programming language, whilst the AC is programmed in Assembly
language.
i. Provide ONE difference between JAVA and Assembly language.
(1)
SEC 09 SYLLABUS (2025): COMPUTING
Page 133 of 171
ii. Would you recommend coding the smartphone app in Assembly language? Explain your
answer.
(2)
g. Besides the scenario mentioned above, mention and briefly describe another example of the IoT.
(2)
(Total: 22 marks)
8. Android announced their latest Embedded Operating
System (OS), Android 9 PIE, in August 2018. Android OS
is generally used on smartphones, smartwatches and
tablets.
https://www.androidjungles.com/android-p/
a. Distinguish between General-Purpose and Embedded OS.
(1)
b. Would you suggest a desktop computer used by a professional video editor to be equipped with
an embedded OS? Justify your answer.
(2)
c. Android 9 makes use of a Natural User Interface (NUI) that includes a new gesture navigation
and an improved voice assistance. Explain why this user interface is appropriate for a
smartphone.
(1)
d. Android OS is an open source OS. How is this different from a shareware license?
(1)
SEC 09 SYLLABUS (2025): COMPUTING
Page 134 of 171
e. Android 9 PIE’s minimum system requirements are as follows:
64-bit Quad Core 1 GHz CPU 512MB RAM 8GB Storage
i. Explain the specifications Quad Core and 1GHz in terms of CPU performance.
(2)
ii. Briefly explain the roles of the CPU components ALU and CU.
(2)
iii. Mention and briefly explain another factor that impacts CPU performance.
(2)
iv. Would a system with an 8-bit Address Bus be able to run Android 9 PIE? Explain your
answer.
(2)
v. The internal storage of any device equipped with an Android OS must be formatted with
an ‘Ext4’ Filing System. Briefly explain the use of the terms in bold.
(2)
vi. Mention ONE reason why one would choose a Solid-State Disk for storing an OS rather than
a Hard Disk.
(1)
SEC 09 SYLLABUS (2025): COMPUTING
Page 135 of 171
f. One of Android 9 PIE’s new upgrade is a better navigation between running apps. Briefly describe
how the OS manages the running of several apps.
(1)
g. According to Android developers, Android OS does not use virtual memory by default for battery
power conservation. However, the user can enable virtual memory from the device settings.
Briefly explain the purpose of virtual memory.
(1)
(Total: 18 marks)
END OF PAPER
SEC 09 SYLLABUS (2025): COMPUTING
Page 136 of 171
Specimen Assessments: Controlled Paper MQF 2-3 – Marking Scheme
MATRICULATION AND SECONDARY EDUCATION CERTIFICATE
EXAMINATIONS BOARD
SECONDARY EDUCATION CERTIFICATE LEVEL
MARKING SCHEME FOR SAMPLE CONTROLLED PAPER
SUBJECT: Computing
PAPER: Level 2-3
DATE:
TIME: 2 Hours
Section A Marks Comments
1. a. Input: Microphone and Camera;
Output: Flash LED, Speaker. 2
½ mark each.
Accept relevant answers.
b. Number of colours that each pixel can
represent. 1
Accept relevant answers.
c. 16 million colours. 1
d. 24x1242x2688 bits. 1
e. The iPhone 11 Pro because it has a higher
pixel density. 2
1 mark for iPhone 11 Pro,
1 mark for explanation.
Accept any answer showing an
understanding of pixel density.
f. Both types of user interfaces are correct if a
reasonable explanation is given. 1
½ mark for choosing an interface,
½ mark for explanation.
Total: 8 marks
2. a. More RAM allows users to run more
applications concurrently OR allows for the
smooth running of more resource hungry
application like games, etc.
1 Accept relevant answers.
b. Memory card. 1
Do not accept online or cloud
storage.
c. PC’s ROM is used only to store start-up
functions such as the BIOS. 1 Accept relevant answers.
d. Device limited dimensions (more portable)
and battery consumption. 2 Accept relevant answers.
e. Air Conditioner, Car ECU, Smart TV,
Smartphone, tablet, etc… 2 Accept relevant answers.
Total: 7 marks
3. a. Mobile Data (3G/4G) because probably there
was no WIFI hotspot nearby. 2 Accept relevant answers.
b. It can be accessed from all devices which are
synced with the account, but a periodic fee
must be paid for high storage capacity.
2 Accept relevant answers.
SEC 09 SYLLABUS (2025): COMPUTING
Page 137 of 171
c. The server stores the google drive’s interface
and data, whilst the client is the app or the
website from where the user accesses
personal data.
1 Accept relevant answers.
d. i. Cloud storage must be secured from any
unauthorised access / hacking. 1 Accept relevant answers.
ii. IPv4 is a 32-bit address, whilst Ipv6 is a
128-bit address. 1 Accept relevant answers.
iii. Due to IoT, more combinations of
different IP addresses are required. 1 Accept relevant answers.
e. Both are Software as a Service (SaaS). 1 Accept relevant answers.
Total: 9 marks
4. a. Move arm up and out. 1
b. 2410 = 0110002 which means that the arm
moves down and in. 2
1 mark for converting to binary,
1 mark for action performed.
c. 4B16 is not a valid command because it causes
a numerical overflow. 3
1 mark for converting to binary,
1 mark not a valid action,
1 mark for numerical overflow.
Total: 6 marks
5. a.
B0 B1 E
0 0 0
0 1 0
1 0 0
1 1 1
2 1 mark for input combinations,
1 mark for correct output.
b.
1
c. E = B0 . B1 1 Accept also E = B0 and B1
d.
B0 B1 M E
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
E = (B0 . B1) + M
6
1 mark for correct input
combinations in truth table,
1 mark for correct output in truth
table,
1 mark for correct inputs and
output in circuit,
1 mark for correct gates used,
1 mark for correct inputs and
output in Boolean expression,
1 mark for correct derived overall
expression.
Accept also
E = (B0 and B1) or M.
Total: 10 marks
SEC 09 SYLLABUS (2025): COMPUTING
Page 138 of 171
Section B Marks Comments
6. a. Less data redundancy and more flexibility in
accessing data. 2
Accept relevant answers.
b. BOOK Table
Fields Data Types
Title Text
ISBN Text
Date Published Date/Time
Category Text
Shelf Number Text
Date Acquired Date/Time
2 ½ mark for each correct answer.
c. ISBN is not a field which can be arithmetically
processed. 1
d. Student and Loan tables. 2 Accept relevant answers.
e. ISBN for books, ID OR Mob Number for
Members, Loan Index for Loans. 3 Accept relevant answers.
f. Date acquired cannot be more than current
date OR ISBN must be a 13 digit only number
etc.
2 1 mark for validation method.
1 mark for rational explanation.
g. SELECT Title
FROM Book
WHERE Category = “Technology” 2
½ mark for using correct SQL
commands.
½ mark for using proper fields.
1 mark for proper condition.
h
6
½ mark each table with proper
fields.
½ mark each Primary Key.
½ mark each cardinality.
½ mark each optionality.
Accept alternative but correct
fields in the STUDENT and LOAN
tables.
Total: 20 marks
7. a. Data is raw, unorganized facts that need to be
processed. Information is processed,
organised or structured data that is useful to
the user.
1 Accept relevant answers.
b. Data: values gathered from Humidity Sensor;
Information: Info displayed on the front
display screen.
2 Accept relevant answers.
c. i. Analogue is raw data, real data, and
digital data is a sample extracted from
the real data.
1 Accept relevant answers.
SEC 09 SYLLABUS (2025): COMPUTING
Page 139 of 171
ii. Because the AC’s CPU can only process
digital data. 1 Accept relevant answers.
iii. Low sampling rate results in low quality
digital data which however takes less
storage capacity.
2 Accept relevant answers.
d.
6
½ mark for start.
½ mark for end.
1 mark for correct decision.
1 mark for each correct process.
1 mark for correct output.
1 mark for correct symbols /
overall flowchart.
e. i. Off-the-Shelf because it is a readymade
software common to all users who own
an AC.
2
1 mark for off-the-shelf,
1 mark for explanation.
Accept relevant answers.
ii. Freeware because the user would have
already paid for it when purchasing the
AC.
2
1 mark for freeware,
1 mark for explanation.
Accept relevant answers.
f. i. JAVA is a high-level language whilst
Assembly is a low-level language.
OR
Java allows the possibility for software
portability whilst Assembly is machine
dependent etc.
1 Accept relevant answers.
ii. No, because of platform compatibility. 2
Accept relevant answers in terms
of both a YES and a NO reply.
g. IP Camera that can be accessed and
interfaced from any digital device that has
access to the Internet.
2 Accept relevant answers.
Total: 22 marks
8. a. General-purpose OS is used in devices that
can perform several unrelated tasks.
Embedded OS is used in embedded systems
that can perform only one task or several
related tasks.
1 Accept relevant answers.
b. No because the computer needs to have an
OS that can handle several hardware
resources and the running of several
applications which perform different tasks.
2 Accept relevant answers.
c. NUI is appropriate because of the
smartphone’s portable nature which makes it
usable also in situations where hands free
mode is required.
1 Accept relevant answers.
d. Open Source lets the user use and modify the
code for free, while shareware allows the user
to use the software for a limited time only. 1
SEC 09 SYLLABUS (2025): COMPUTING
Page 140 of 171
e. i. Quad Core means that the CPU has 4
independent internal CPU units.
1Ghz is the speed measurement of each
internal CPU.
2 Accept relevant answers.
ii. ALU performs arithmetic and logical
operations when the Control Unit
requires it to execute instructions.
CU controls the fetching and the
executing of instructions.
2
iii. Word length because the larger it is, the
more bits of instructions the CPU can
handle per cycle.
2 Accept relevant answers.
iv. No, because it can directly access 28
(256) byte addressable locations whilst
Android 9 PI requires 512MB of RAM.
2 1 mark for answering no,
1 mark for proper explanation.
v. Formatting is done by a specialised
software utility that creates the storage
file structure that is compatible with the
OS.
The Filing Structure is where the OS
stores the files and their properties.
2 Accept relevant answers.
vi. SSD has a faster file access rate than a
Hard Disk. 1
f. The OS gives time slices to each app and uses
a technique, such as Round Robin or Priority-
scheduling.
1 Accept relevant answers.
g. Virtual memory is used as an extension of
RAM when the CPU requires more memory
space than is available.
1 Accept relevant answers.
Total: 18 marks
SEC 09 SYLLABUS (2025): COMPUTING
Page 141 of 171
Specimen Assessments: Private Candidates Paper MQF 1-2
MATRICULATION AND SECONDARY EDUCATION CERTIFICATE
EXAMINATIONS BOARD
SECONDARY EDUCATION CERTIFICATE LEVEL
PRIVATE CANDIDATES SAMPLE PAPER
SUBJECT: Computing
PAPER: Level 1-2
DATE:
TIME: 2 Hours
Directions to Candidates
Answer all questions.
You are not allowed to use any extra sheets other than those provided in this booklet.
Good English and orderly presentation are important.
The use of flowchart templates is permitted. The use of calculators is not permitted.
Section A
1. A restaurant has decided to invest in some new
tablets for the staff.
It was also thought that these tablets and a printer
should be connected in a network to provide a
direct link of communication between the waiting
staff, the bar staff and the kitchen staff.
https://www.emenuguys.com/
a. Describe how the tablets can be used in relation to the input of data.
(1)
b. Mention ONE use of the printer in this scenario.
(1)
c. For the kitchen staff the owner also intends to install a monitor for displaying all incoming orders.
He chose a monitor with 60Hz and with a resolution of 1920 x 1080. Explain the terms in bold.
(2)
SEC 09 SYLLABUS (2025): COMPUTING
Page 142 of 171
d. All tablets are connected through WIFI connection. Mention ONE advantage and ONE
disadvantage of this type of network connection.
(2)
e. The restaurant owner decided to invest also in:
- an IP Camera which connects to the WIFI and the owner can check it from his smartphone;
- a Bluetooth speaker that can be accessed via a Personal Area Network (PAN).
i. Which of the mentioned devices is an IoT device?
(1)
ii. Define a PAN.
(1)
iii. Mention TWO other type of network besides PAN.
(2)
(Total: 10 marks)
2. EasyHomes Ltd., a Property Real Estate uses a digitalised
system as follows:
- Secretaries input clients’ queries on the database.
- Representatives make visits and take photos of
properties.
- Representatives enter properties’ details via their tablet.
- The output of all properties’ details is done via the office
screens and their website. https://bit.ly/32uYf3C
a. Define the terms in bold.
(3)
SEC 09 SYLLABUS (2025): COMPUTING
Page 143 of 171
b. The office monitors have the following characteristics:
Frames per
second: Resolution: Size: Bit depth: Power: Weight:
60 1366 x 768 40 inch 8 bits 100 – 240V 2.4Kg
Identify which of the characteristics determine output quality.
(3)
c. Secretaries use several other peripheral devices. Define the term peripheral devices.
(1)
d. From the scenario presented, list ONE input and ONE output devices that could be used.
(2)
e. The secondary storage used for backups by the secretary is a 1TB External Hard Disk.
i. Define secondary storage.
(1)
ii. Give ONE advantage and ONE disadvantage of using Hard Disk over SSD.
(2)
f. The representatives visiting the properties will be storing images on the cloud.
i. Define cloud storage.
(1)
ii. Give ONE advantage and ONE disadvantage of cloud storage.
(2)
(Total: 15 marks)
SEC 09 SYLLABUS (2025): COMPUTING
Page 144 of 171
3. The following Arduino project simulates a set of traffic lights, with a pedestrian
button to control the functionality of the traffic lights.
Consider the schematic and the code below and answer the questions that
follow:
SEC 09 SYLLABUS (2025): COMPUTING
Page 145 of 171
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
int button = 7;
int red = 10;
int yellow = 9;
int green = 8;
void setup() {
pinMode(button, INPUT);
pinMode(red, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(green, OUTPUT);
digitalWrite(green, HIGH);
digitalWrite(red, LOW);
digitalWrite(yellow, LOW);
}
void loop() {
if (digitalRead(button) == HIGH){
delay(4000)
// green off, yellow on for 3 seconds
digitalWrite(green, LOW);
digitalWrite(yellow, HIGH);
digitalWrite(red, LOW);
delay(3000);
//turn off yellow then turn red on for 15 seconds
digitalWrite(green, LOW);
digitalWrite(yellow, LOW);
digitalWrite(red, HIGH);
delay(15000);
//red and yellow on for 2 seconds
digitalWrite(green, LOW);
digitalWrite(yellow, HIGH);
digitalWrite(red, HIGH);
delay(2000)
// turn off red and yellow, then turn on green
digitalWrite(green, HIGH);
digitalWrite(yellow, LOW);
digitalWrite(red, LOW);
}
}
SEC 09 SYLLABUS (2025): COMPUTING
Page 146 of 171
a. From the code above, identify the following:
i. variable: (1)
ii. conditional operator (1)
iii. variable initialisation: (1)
iv. datatype: (1)
v. pin initialisation: (1)
vi. condition: (1)
vii. conditional statement: (1)
viii. line of code that turns the green LED on: (1)
ix. line of code that turns the red LED off: (1)
x. comment: (1)
b. Explain why pin 7 is initialised as INPUT, whereas pins 8, 9 and 10 are initialised as OUTPUT.
(2)
c. Could pin A1 be used instead of pin 7 for the switch? Explain your answer.
(2)
d. What is the purpose of the line of code at line 18?
(1)
e. What would happen to the program, should line 18 be re-written as follows?
if (digitalRead(button)== LOW)
(1)
f. What type of error would result if line 18 had to be re-written as explained in part e?
(1)
g. In line 36 there is a missing ; at the end of the line. Would the program compile?
(1)
SEC 09 SYLLABUS (2025): COMPUTING
Page 147 of 171
h. What is the type of error caused in the case of a missing ; as in line 36?
(1)
i. Explain the purpose of the delay() function in the context of this traffic lights project.
(1)
j. Complete the flowchart below that represents the algorithm for this project.
(5)
(Total: 25 marks)
SEC 09 SYLLABUS (2025): COMPUTING
Page 148 of 171
Section B
4. Veggie Market Ltd., a local green grocer asked you to develop a
very simple software that calculates the customers’ bill
according to the vegetables bought.
Develop a program using Python programming language
according to the specification below:
https://bit.ly/2HX2qvI
a. On start-up, the system asks the owner to enter the
password.
(1)
b. The password is veggie!hello and case sensitive. (2)
c. A proper message is displayed if the password entered is
incorrect.
(1)
d. The program keeps on asking for the password until the owner gets it correct. (1)
e. If the password is correct, a menu like the one below is shown.
VEGGIE MARKET MENU
1. Apples
2. Lemons
3. Oranges
4. Quit
(2)
f. If the owner chooses options 1, 2 or 3, the program asks for the number of kilos that the
client bought. The program will then calculate and display the total to be paid.
The prices are: €1.15 for Apples, €0.50 for lemons and €1.20 for Oranges.
(3)
g. The program keeps on looping until the owner chooses option 4 to exit. (1)
h. A proper message is displayed when the owner quits the program. (1)
i. A proper message is displayed if the owner enters an invalid option. (1)
j. The interface should be neatly presented. (2)
k. Use proper inline comments. (2)
l. Use proper code indentation. (2)
m. Use proper and meaningful variable names. (2)
n. The program can compile and run according to specifications. (2)
o. Save your work in a folder called q3_2020_indexnumber. For example: q3_2020_0012. (1)
(Total: 24 marks)
SEC 09 SYLLABUS (2025): COMPUTING
Page 149 of 171
5. Complete the code provided to develop an interface for
an app Login screen, called APP LOG-IN, similar to the
one shown on the right.
Sample of the code provided is also found at the end of
the question.
a. Interface specifications:
i. Window size should be 260 x 180 pixels. (1)
ii. Window should not be resizable - max button
should be disabled. (1)
iii. Interface should include:
(a) Title ‘App Log-In’ in bold Verdana font with size 16, colour Red and placed in
10 x and 10 y coordinates. (6)
(b) TWO labels: Username and Password using Verdana font with size 12. (6)
(c) TWO text Entry fields for username and password. (2)
(d) ONE Button with: Text ’Log In’, Width of 15 characters, Bold Verdana Font
with size 11 and placed in 45 x and 130 y coordinates. (7)
b. The program can compile and run according to the above specifications. (2)
c. Save your work in a folder called q4_2020_indexnumber; for example: q4_2020_0012. (1)
Code provided:
from _______________ import *
#create window
window = Tk()
window._______________('260x180')
window.title(_______________)
window._______________(0,0)
#title label
lbl_title = Label(_______________)
lbl_title._______________
#username label and entry
lbl_username = Label(_______________)
lbl_username._______________(x=10, y=60)
txt_username = Entry(_______________)
txt_username.place(x=110, y=60)
txt_username.focus()
#password label and entry
lbl_password = Label(_______________)
lbl_password._______________(x=10, y=90)
SEC 09 SYLLABUS (2025): COMPUTING
Page 150 of 171
txt_password = Entry(window, show='*')
txt_password.place(x=110, y=90)
#LogIn button
btn_submit = Button(_______________)
btn_submit.place(_______________)
#Run the window
window._______________
(Total: 26 marks)
END OF PAPER
SEC 09 SYLLABUS (2025): COMPUTING
Page 151 of 171
Specimen Assessments: Private Candidates Paper MQF 1-2 – Marking Scheme
MATRICULATION AND SECONDARY EDUCATION CERTIFICATE
EXAMINATIONS BOARD
SECONDARY EDUCATION CERTIFICATE LEVEL
MARKING SCHEME FOR SAMPLE PRIVATE CANDIDATES PAPER
SUBJECT: Computing
PAPER: Level 1-2
DATE:
TIME: 2 Hours
Section A Marks Comments
1. a. Waiters can enter clients’ orders directly on the
tablet. 1 Accept relevant answers.
b. To print payment receipt. 1 Accept relevant answers.
c. 60Hz is the refresh rate, the number of times
that the screen refreshes the displayed image
per second.
Resolution is the number of pixels that the
screen displays.
2
1 mark for each correct
answer.
Accept relevant answers.
d. WIFi lets more than one device to connect to
the network at once without cable restrictions,
however distance and obstacles, such as walls,
reduce WIFI signal.
2
1 mark for correct advantage.
1 mark for correct disadvantage
Accept relevant answers.
e. i. IP Camera. 1 Accept relevant answers.
ii. When connecting devices or gadgets within
the environment of an individual user. 1 Accept relevant answers.
iii. LAN and WAN. 2
Total: 10 marks
2. a. Input: when the user or a component, such as a
sensor, enters data into the device.
Output: when the device gives information
through an output device.
Database: a collection of structured information
about an entity.
3 Accept relevant answers.
b. FPS, Resolution and Bit Depth. 3
c. The supplementary devices that are connected
to the computer and used, such as printer.
1 Accept relevant answers.
d. Input: Digital Camera.
Output: Printer.
2 Accept relevant answers.
e. i. Secondary storage is the permanent
storage used by users to install apps and
store personal data.
1 Accept relevant answers.
SEC 09 SYLLABUS (2025): COMPUTING
Page 152 of 171
ii. Hard Disk are more affordable, especially
when large capacity is required but SSDs
are more robust because these do not have
any moving parts.
2 Accept relevant answers.
f. i. A service whereby users can access a
storage medium remotely. 1 Accept relevant answers.
ii. Data can be accessed from multiple
devices, but a fee must be paid regularly,
especially for business accounts.
2 Accept relevant answers.
Total: 15 marks
3 a. i. button OR red OR yellow OR Green. 1 Accept relevant answers.
ii. == 1
iii. int button = 7; 1 Accept relevant answers.
iv. int 1
v. pinMode(button, INPUT); 1 Accept relevant answers.
vi. (digitalRead(button) == HIGH) 1
vii. if 1
viii. digitalWrite(green, HIGH); 1 Accept relevant answers.
ix. digitalWrite(red, LOW); 1 Accept relevant answers.
x. // green off, yellow on for 3 seconds 1 Accept relevant answers.
b. Pin 7 needs to receive signals from a switch
which is an input component, whilst the other
pins need to send signals to LEDs which are
output components.
2
c. No because the switch is not an analogue device. 2 Accept relevant answers.
d. It is a decision which turns the lights to red after
four seconds from pressing the switch. 1 Accept relevant answers.
e. Traffic lights would keep on changing the lights
even if the switch is not pressed. 1
f. Logical Error. 1
g. No. 1
h. Syntax Error. 1
i. The delay function stops the program from
executing for an established amount of time. In this
case, the lights change in a sequential manner with
pauses between each change.
1
j.
5
Total: 25 marks
SEC 09 SYLLABUS (2025): COMPUTING
Page 153 of 171
Section B Marks Comments
4. a. 1 1 mark for letting the user enter password.
b. 2
1 mark for correct condition/decision,
1 mark for case sensitivity.
c. 1 1 mark for proper validation.
d. 1
1 mark of this section if the program properly loops until the user
enters the password correct.
e. 2
1 mark for correct condition/decision,
1 mark for showing the menu.
f.
3
1 mark for correct conditional statements.
½ mark for letting the user enter the number of kilos bought.
1 mark for calculating the price.
½ mark for displaying the total price.
g. 1
1 mark for properly exiting the program only when option 4 is
chosen.
h. 1 1 mark for displaying a proper message when exiting.
i. 1 1 mark for displaying a proper invalid message.
j.
2
0 marks if the interface does not include carriage lines or borders
to distinguish different sections of the program.
1 mark if the interface includes carriage returns or borders or any
other features to help the user distinguish at least some of the
sections of the program.
2 marks if the interface includes carriage returns or borders or
any other features to help the user distinguish all the sections of
the program.
k.
2
0 marks if no comments are used.
1 mark if a few comments are used and not necessarily to help
code readability and understanding.
2 marks if comments are intentionally done to help understanding
of code.
l.
2
0 marks if all the code is not properly indented.
1 mark if parts of code are property indented.
2 marks if all code is property indented.
m.
2
0 marks if none of the variable names are given a meaningful
name.
1 mark if some of the variable names are given a meaningful
name.
2 marks if all variable names are given a meaningful name.
n.
2
0 marks if program does not compile.
1 mark if program does not run up to specifications.
2 marks if program runs as per specifications.
o. 1 1 mark for saving with filename as indicated.
SEC 09 SYLLABUS (2025): COMPUTING
Page 154 of 171
Sample Solution:
#initialise variables
user_pass = ''
user_option = ''
user_kilos = 0
total = 0
#loop until user gets password right
while user_pass != 'veggie!hello':
#ask user to enter password
user_pass =input('Enter Password: ')
#check if password is wrong
if user_pass != 'veggie!hello':
print('>> INVALID PASSWORD <<\n')
#loop until user exits
while user_option != '4':
print('\n------------------------')
print('- VEGGIE MARKET MENU -')
print('- 1. Apples -')
print('- 2. Lemons -')
print('- 3. Oranges -')
print('- 4. Quit -')
print('------------------------\n')
user_option = input('>> Option: ')
#check user chosen option
if user_option == '1':
user_kilos = int(input('>> Apple Kilos: '))
print('--------------------------------')
print('Total is Eur', user_kilos*1.15)
elif user_option == '2':
user_kilos = int(input('>> Lemon Kilos: '))
print('--------------------------------')
print('Total is Eur', user_kilos*0.50)
elif user_option == '3':
user_kilos = int(input('>> Oranges Kilos: '))
print('--------------------------------')
print('Total is Eur', user_kilos*1.20)
elif user_option == '4':
print('\n----------------------------------------')
print('-- THANKS FOR USING VEGGIE MARKET APP --')
print('----------------------------------------')
else:
print('>> INVALID OPTION <<')
Total: 24 marks
SEC 09 SYLLABUS (2025): COMPUTING
Page 155 of 171
Marks Comments
5. a. i. 1 1 mark for proper window size.
ii. 1 1 mark for disabling window scalability.
iii. (a)
6
1 mark for title App Log-In,
1 mark for font Verdana,
1 mark for bold,
1 mark for font size,
1 mark for red text colour,
1 mark for proper coordinates.
(b)
6
1 mark for label Username,
1 mark for label Password,
1 mark for using font Verdana for each label,
1 mark for using size 12 for each label.
(c) 2 1 mark for each entry field.
(d)
7
1 mark for Button,
1 mark for Log-In text in button,
1 mark for having 15 characters width,
1 mark for using font Verdana,
1 mark for using a bold font,
1 mark for using size 11,
1 mark for correct button coordinates.
b.
2
0 marks if program does not compile.
1 mark if program does not run up to specifications.
2 marks if program runs as per specifications.
c. 1 1 mark for saving with filename as indicated.
Sample Solution:
from tkinter import *
#create window
window = Tk()
window.geometry('260x180')
window.title('APP LOG-IN')
window.resizable(0,0) #to remove min/max button and make it not resizable
#Title label
lbl_title = Label(window, text = "App LogIn", font="Verdana 16 bold",
fg="red")
lbl_title.place(x=10, y=10)
#username label and entry
lbl_username = Label(window, text='Username', font="Verdana 12")
lbl_username.place(x=10, y=60)
txt_username = Entry(window)
txt_username.place(x=110, y=60)
txt_username.focus() #to put cursor on this entry by default
SEC 09 SYLLABUS (2025): COMPUTING
Page 156 of 171
#password label and entry
lbl_password = Label(window, text='Password', font="Verdana 12")
lbl_password.place(x=10, y=90)
txt_password = Entry(window, show='*')
txt_password.place(x=110, y=90)
#button
btn_submit = Button(window, text="Log In", width = '15', font="Verdana 11
bold")
btn_submit.place(x=45, y=130)
#Run the window
window.mainloop()
Total: 26 marks
SEC 09 SYLLABUS (2025): COMPUTING
Page 157 of 171
Specimen Assessments: Private Candidates Paper MQF 2-3
MATRICULATION AND SECONDARY EDUCATION CERTIFICATE
EXAMINATIONS BOARD
SECONDARY EDUCATION CERTIFICATE LEVEL
PRIVATE CANDIDATES SAMPLE PAPER
SUBJECT: Computing
PAPER: Level 2 - 3
DATE:
TIME: 2 Hours
Directions to Candidates
Answer all questions in the space provided.
You are not allowed to use any extra sheets other than those provided in this booklet.
Good English and orderly presentation are important.
The use of flowchart templates is permitted. The use of calculators is not permitted.
Section A
1. Digital cameras that we use today are smart and have
a lot of features, such as:
analysing the image and capture details;
detect best settings for image capturing;
detect humans, motion, faces, etc.; and
transferring of images to another device or on the
cloud storage.
Some components of a Smart Camera include: https://bit.ly/2wcI0w0
Analog to digital converter (ADC),
Bluetooth and WIFI Network Card,
Built-in Flash used to provide extra light during dim and low light situations,
Buzzer as a beeping component,
External Flash Memory,
Image sensor that captures the image,
LED as an illuminating component,
Operating System,
Processor,
ROM,
Touch screen for user interface,
User controls such as buttons for manual shooting settings.
SEC 09 SYLLABUS (2025): COMPUTING
Page 158 of 171
a. Which of the above-mentioned components are input, output, input & output, or storage
components?
Input Output
Input & Output Storage
(4)
b. Is a smart camera a general-purpose device? Explain.
(2)
c. Is the camera’s operating system stored on the external flash memory? Explain.
(2)
d. The camera image sensor captures light that enters the camera lens and is then processed into
an image and stored.
i. Why is the ADC required?
(1)
ii. Explain the difference between data and information and provide an example of data and
information in relation to the smart digital camera.
(3)
SEC 09 SYLLABUS (2025): COMPUTING
Page 159 of 171
e. The picture quality of a digital camera depends on several factors, including the resolution and
the bit-depth. Explain the TWO terms in bold in relation to picture quality.
(2)
f. Cameras have different image compression algorithms and settings that produce different image
qualities. For example: picA.jpg has 6770x8980 24-bit pixels and picB.jpg has 800x1092 8-bit pixels.
picA.jpg (6770x8980 24bit pixels) picB.jpg (800x1092 8bit pixels)
Which pic is best suited for:
i. Uploading on social network? Explain.
(2)
ii. Large format printing? Explain.
(2)
g. What type of user-interface would you expect on a smart digital camera? Explain.
(2)
h. Mention ONE example whereby the Bluetooth AND the WIFI connectivity functions of the camera
can be used.
Bluetooth:
(1)
WIFI:
(1)
SEC 09 SYLLABUS (2025): COMPUTING
Page 160 of 171
i. The smart digital camera is equipped with a digital image processor based on System on Chip
(SoC) Technology.
i. Why is this smart digital camera equipped with SoC rather than a microcontroller?
(1)
ii. Mention ONE device that is powered by a microcontroller.
(1)
iii. How is SoC technology different from the technology used for a desktop computer?
(1)
(Total: 25 marks)
2. Side car mirrors are nowadays electronically controlled.
The below Arduino project simulates the horizontal
movement of a side car mirror. The potentiometer
switches the system on and off, whilst the switches rotate
the servo (mirror) left and right.
Analyse the circuit and the program below and answer
the following questions.
https://bit.ly/2T45BrX
SEC 09 SYLLABUS (2025): COMPUTING
Page 161 of 171
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
#include <Servo.h>
#define leftSwitch 8
#define rightSwitch 2
#define pot A0
Servo mirror;
int pos = 90;
void setup(){
pinMode(leftSwitch, INPUT);
pinMode(rightSwitch, INPUT);
mirror.attach(9);
_________________________
//move servo to initial position
mirror.write(pos);
}
void loop(){
if (toggle_mode() == true){
if(digitalRead(leftSwitch) == HIGH && (pos > 0)){
pos--;
mirror.write(pos);
Serial.print(pos);
Serial.println("deg");
}
if(digitalRead(rightSwitch) == HIGH && (pos < 180)){
pos++;
mirror.write(pos);
Serial.print(pos);
Serial.println("deg");
}
}
}
boolean toggle_mode (){
int potValue = analogRead(pot);
potValue = map(potValue, 0, 1023, 0, 1);
if (potValue == 1)
return true;
else
return false;
}
SEC 09 SYLLABUS (2025): COMPUTING
Page 162 of 171
a. Mention ONE construct used in the above program snippet which is related to:
i. arithmetic process: (1)
ii. condition: (1)
iii. decision: (1)
iv. input: (1)
v. iteration (loop): (1)
vi. library import: (1)
vii. output: (1)
viii. user-defined function: (1)
ix. variable initialisation: (1)
b. Write the missing statement in line 15 that opens the serial channel for data transferring.
(1)
c. Why is the potentiometer connected to pin A0 and not to pin 11?
(1)
d. Explain what is happening in line 7.
(1)
e. What is the initial position of the Servo?
(1)
f. Which data type is function toggle_mode() declared?
(1)
g. It is observed that the map function in line 41 may not be required. Why is this so?
(1)
h. What changes are required in line 42, if line 41 is removed?
(1)
i. Explain the purpose of function toggle_mode().
(1)
SEC 09 SYLLABUS (2025): COMPUTING
Page 163 of 171
j. Draw the flowchart that represents function toggle_mode().
Flowchart here
(4)
k. It was observed that the statements in lines 25, 26 and 27 are repeated in lines 32, 33 and 34.
i. Create a user-defined function, called move_mirror, that performs the action of these three
lines.
(3)
ii. Complete line 9 of the program snippet below:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
void loop(){
if (toggle_mode() == true){
if(digitalRead(leftSwitch) == HIGH && (pos > 0)){
pos--;
}
if(digitalRead(rightSwitch) == HIGH && (pos < 180)){
pos++;
}
___________________________________
}
}
(1)
(Total: 25 marks)
SEC 09 SYLLABUS (2025): COMPUTING
Page 164 of 171
3. A lottery is a game in which players pay for a ticket, select a group of numbers and win prizes
based on how they match the drawn results.
Write a program that simulates a lottery system according to the rules below:
a. i. The lottery prize is that of €500,000. (1)
ii. Five lottery numbers are randomly drawn and are not visible to the user. The
numbers should be between 1 and 45.
(2)
iii. Lottery numbers drawn should not contain duplicate numbers. (1)
iv. The user is asked to purchase ONE lottery ticket. A lottery ticket is made up of five
numbers.
(2)
v. Lottery ticket should not contain duplicate numbers. (1)
vi. According to the numbers guessed, a prize is won:
- With three numbers guessed, the user wins 10% of the lottery prize.
- With four numbers guessed, the user wins 25% of the lottery prize.
- With five numbers guessed, the user wins lottery prize in full.
(4)
vii. The result-screen should display the numbers drawn, the amount of numbers
guessed, and the prize won (if applicable).
(3)
viii. The user-interface should be neatly presented. (2)
b. Proper use of data-structures. (2)
c. Code Modularity (the use of user-defined functions). (1)
d. Code Efficiency (the use of routines that minimises lines of codes). (1)
e. Use proper inline comments. (2)
f. Use proper code indentation. (2)
g. Use proper and meaningful variable names. (2)
h. The program can compile and run as per specifications. (2)
i. Save your work in a folder called q3_2020_indexnumber. For example: q3_2020_0012. (1)
(Total: 29 marks)
SEC 09 SYLLABUS (2025): COMPUTING
Page 165 of 171
4. Develop an interface for a calculator app, called myCalculator, similar to the one shown below.
The module Tkinter should be used.
a. Interface specifications:
i. Window size should be 500 x 130 pixels. (1)
ii. Window should not be resizable - max button should be disabled. (1)
iii. Window title should read ‘myCalculator’. (1)
iv. Interface should include:
(a) TWO text entry fields for inputting of numbers with proper labels. (2)
(b) Label for result with white background colour. (1)
(c) ONE Option Menu field with proper labels. (1)
(d) ONE Button with the text ’Calculate’. (1)
v. The Option Menu field should include the following operators: +, -, *, /. (4)
vi. The ‘+’ operator in the Option Menu should be set as default. (1)
vii. The default result is 0. (1)
viii. The result should be displayed with font Helvetica and size 24. (1)
ix. User-friendly and clean interface. (2)
b. The program can compile and run properly. (2)
c. Save your work in a folder called q4_2020_indexnumber; for example: q4_2020_0012. (1)
(Total: 20 marks)
END OF PAPER
SEC 09 SYLLABUS (2025): COMPUTING
Page 166 of 171
Specimen Assessments: Private Candidates Paper MQF 2-3 – Marking Scheme
MATRICULATION AND SECONDARY EDUCATION CERTIFICATE
EXAMINATIONS BOARD
SECONDARY EDUCATION CERTIFICATE LEVEL
MARKING SCHEME FOR PRIVATE CANDIDATES SAMPLE PAPER
SUBJECT: Computing
PAPER: Level 2-3
DATE:
TIME: 2 Hours
Section A Marks Comments
1. a. INPUT: Image Sensor, User Controls.
OUTPUT: Built-In Flash, Buzzer, LED.
INPUT & OUTPUT: touch Screen.
STORAGE: External Flash Memory.
4 1 mark for each correct
category.
b. No, because it is used for Image/Video capturing
only. 2
1 mark for NO.
1 mark for explanation.
Accept relevant answers.
c. No, because it is used is a system software installed
in ROM. 2 Accept relevant answers.
d. i. Because the camera processor can only
understand digital data. 1 Accept relevant answers.
ii. Data: raw/real data ->light entering the
camera lens.
Information: processed data -> image
displayed on camera screen and saved.
3
1 mark for difference.
1 mark for data example.
1 mark for information
example.
e. Resolution is the number of pixels of images
Bit Depth the number of colours that every pixel
represents.
2 Accept relevant answers.
f. i. picB.jpg because it can be transferred faster. 2
1 mark for picB.jpg.
1 mark for explanation.
ii. pica.jpg because it needs to be a high-quality
image. 2
1 mark for picA.jpg.
1 mark for explanation.
g. Natural-user interface for touch navigation.
2
1 mark for type of UI.
1 mark for explanation.
Accept relevant answers in
terms of all types of UI.
h. i. Used to connect to SMART TV. 1 Accept relevant answers.
ii. Used to transfer images to the cloud. 1 Accept relevant answers.
i. i. Smart Camera that requires Bluetooth and
WIFi connectivity requires more resources
than can be supplied and powered by a
microcontroller.
1 Accept relevant answers.
SEC 09 SYLLABUS (2025): COMPUTING
Page 167 of 171
ii. Automatic Washing Machine. 1 Accept relevant answers.
iii. Unlike the architecture of a desktop
computer, SoC has all the necessary
components into one chip.
1 Accept relevant answers.
Total: 25 marks
2 a. i. analogRead() 1
ii. pos-- or pos++ or map() function 1
iii. toggle_mode == true 1 Accept relevant answers.
iii. If – Else 1
iv. digitalRead() or 1
v. #include 1
vi. .write() or Serial.println() 1
vii. toggle_mode() 1
viii. int pos= 90; 1
b. Serial.begin(9600); 1
c. Potentiometer is an analogue component. 1
d. An instance called mirror of library Servo is created. 1
e. 90 degrees. 1
f. Boolean. 1
g. Potentiometer value 1023 can be used instead of
value 1. 1 Accept relevant answers.
h. if (potValue ==1023) 1
i. toggle_mode() is determining whether the system
is on or off. 1
j.
4
½ mark for START.
½ mark for END.
½ mark for Input.
½ mark for each correct
process (accept also Turn
System ON and Turn System
OFF).
1 mark for Decision (accept
also value = 1023).
½ mark for correct symbols.
k. i. void move_mirror(){
mirror.write(pos);
Serial.print(pos);
Serial.println(“deg”);
}
3
1 mark for correct function
name.
1 mark for a void function.
1 mark for correct
instruction inside function.
ii. move_mirror(); 1
Total: 25 marks
SEC 09 SYLLABUS (2025): COMPUTING
Page 168 of 171
Section B Marks Comments
3. a. i. 1 1 mark for showing that the prize was Eur500000.
ii. 2
1 mark for randomizing numbers,
1 mark for range 1 to 45.
iii. 1 1 mark for proper validation.
iv. 2
1 mark for inputting of numbers.
1 mark for using a loop.
v. 1 1 mark for proper validation.
vi. 4
1 mark for each correct arithmetic process.
1 mark for correct decision statements.
vii.
3
1 mark for displaying numbers generated.
1 mark for displaying ticket numbers.
1 mark for displaying lottery status (prize or no prize).
viii.
2
0 marks if the interface does not include carriage lines or borders
to distinguish different sections of the program.
1 mark if the interface includes carriage returns or borders or any
other features to help the user distinguish at least some of the
sections of the program.
2 marks if the interface includes carriage returns or borders or
any other features to help the user distinguish all the sections of
the program.
b.
2
0 marks if data structures are not used.
1 mark if data structures are used to store lottery numbers OR
numbers in ticket.
2 marks if data structures are used to store both lottery numbers
AND numbers in ticket.
c. 1 1 mark for properly using user-defined functions.
d 1
1 mark for properly including certain code routines to minimise
lines of coding.
e.
2
0 marks if no comments are used.
1 mark if a few comments are used and not necessarily to help
code readability and understanding.
2 marks if comments are intentionally done to help understanding
of code.
f.
2
0 marks if all the code is not properly indented.
1 mark if parts of code are property indented.
2 marks if all code is property indented.
g.
2
0 marks if none of the variable names are given a meaningful
name.
1 mark if some of the variable names are given a meaningful
name.
2 marks if all variable names are given a meaningful name.
h.
2
0 marks if program does not compile.
1 mark if program does not run up to specifications.
2 marks if program runs as per specifications.
i. 1 1 mark for saving with filename as indicated.
SEC 09 SYLLABUS (2025): COMPUTING
Page 169 of 171
Sample Solution:
from random import sample
#declare global vars and data structures
generated_nums = []
user_ticket = []
count = 1
guessed = 0
#define function/s
def calculate_prize():
prize = 0
if guessed == 3:
prize = 500000 * 0.1
elif guessed == 4:
prize = 500000 * 0.25
elif guessed == 5:
prize = 500000
return prize
#start program
#generate 5 lottery numbers (non-duplicate)
generated_nums = sample(range(0, 46), 5)
#show title
print("\n---------------------")
print("-- SUPER 5 LOTTERY --")
print("---------------------\n")
print(" Purchase Ticket\n")
#user enters five numbers
while count <=5:
user_input = int(input("Number " + str(count) + ": "))
if user_input in range(1,46): #if valid number
if user_input not in user_ticket: #if number is not already chosen
user_ticket.append(user_input) #add number to ticket
count += 1
#check if number guessed correctly
if user_input in generated_nums:
guessed +=1
else:
print(">> Number already chosen <<")
else:
print(">> INVALID NUMBER <<")
#display result screen
SEC 09 SYLLABUS (2025): COMPUTING
Page 170 of 171
print("\n------ RESULT SCREEN ------\n")
print("Numbers drawn: ", end = "")
for i in range(0, 5):
print(generated_nums[i], " ", end = "")
print("\nNumbers gussed:", guessed)
if calculate_prize() != 0:
print("Prize won:", calculate_prize())
Total: 29 marks
Marks Comments
4 a. i. 1 1 mark for proper window size.
ii. 1 1 mark for disabling window scalability.
iii. 1 1 mark for correct title.
iv. (a) 2
½ mark for each entry field.
½ mark for each label.
(b) 1
½ mark for label.
½ for background colour.
(c) 1
½ mark for label.
½ for background colour.
(d) 1
½ mark for Option Menu.
½ mark for label.
(e) 1
½ mark for button.
½ mark for text ‘Calculate’.
v 4 1 mark for each correct operator.
vi. 1 1 mark for setting ‘+’ operator as default.
vii. 1 1 mark for displaying 0 as the result.
viii. 1
½ mark for using Helvetica.
½ mark for size 24.
ix.
2
0 marks for having widgets placed in a fragmented manner.
1 mark for having widgets placed properly but not aligned.
2 marks for a properly placed and aligned widgets.
b.
2
0 marks if program does not compile.
1 mark if program does not run up to specifications.
2 marks if program runs as per specifications.
c. 1 1 mark for saving with filename as indicated.
SEC 09 SYLLABUS (2025): COMPUTING
Page 171 of 171
Sample Solution:
from tkinter import *
#create Window
top = Tk()
top.geometry("500x130")
top.title('myCalculator')
top.resizable(0,0)
#Widgets
lbl_num1 = Label(top, text="Num1")
lbl_num1.place(x=5, y=5)
lbl_num2 = Label(top, text="Num2")
lbl_num2.place(x=5, y=30)
lbl_operation = Label(top, text="Operation")
lbl_operation.place(x=5, y=60)
txt_num1 = Entry(top)
txt_num1.place(x=90, y=5)
txt_num2 = Entry(top)
txt_num2.place(x=90, y=30)
om_operation_text = StringVar()
om_operation_text.set("+") #default item
om_operation = OptionMenu(top, om_operation_text, "+", "-", "x", "/")
om_operation.place(x=90, y=60)
btn_calculate = Button(top, text="Calculate")
btn_calculate.place(x=90, y=90)
lbl_result = Label(top, text = "0", font="Helvetica 24 bold", height=2,
width = 12, bg="white")
lbl_result.place(x=250, y=20)
#Show the window
top.mainloop()
Total: 21 marks