172
SEC 09 Syllabus Computing 2025 MATSEC Examinations Board

SEC 09 Computing

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SEC 09 Computing

SEC 09 Syllabus Computing

2025

MATSEC Examinations Board

Page 2: SEC 09 Computing

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

Page 3: SEC 09 Computing

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.

Page 4: SEC 09 Computing

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.

Page 5: SEC 09 Computing

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.

Page 6: SEC 09 Computing

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.

Page 7: SEC 09 Computing

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.

Page 8: SEC 09 Computing

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.

Page 9: SEC 09 Computing

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.

Page 10: SEC 09 Computing

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.

Page 11: SEC 09 Computing

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.

Page 12: SEC 09 Computing

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.

Page 13: SEC 09 Computing

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).

Page 14: SEC 09 Computing

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.

Page 15: SEC 09 Computing

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.

Page 16: SEC 09 Computing

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.

Page 17: SEC 09 Computing

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?

Page 18: SEC 09 Computing

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.

Page 19: SEC 09 Computing

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.

Page 20: SEC 09 Computing

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.

Page 21: SEC 09 Computing

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.

Page 22: SEC 09 Computing

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.

Page 23: SEC 09 Computing

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.

Page 24: SEC 09 Computing

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;

Page 25: SEC 09 Computing

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.

Page 26: SEC 09 Computing

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.

Page 27: SEC 09 Computing

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.

Page 28: SEC 09 Computing

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.

Page 29: SEC 09 Computing

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.

Page 30: SEC 09 Computing

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

Page 31: SEC 09 Computing

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

Page 32: SEC 09 Computing

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.

Page 33: SEC 09 Computing

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.

Page 34: SEC 09 Computing

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.

Page 35: SEC 09 Computing

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.

Page 36: SEC 09 Computing

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.

Page 37: SEC 09 Computing

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.

Page 38: SEC 09 Computing

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.

Page 39: SEC 09 Computing

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.

Page 40: SEC 09 Computing

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.

Page 41: SEC 09 Computing

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).

Page 42: SEC 09 Computing

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.

Page 43: SEC 09 Computing

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.

Page 44: SEC 09 Computing

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.

Page 45: SEC 09 Computing

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.

Page 46: SEC 09 Computing

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:

Page 47: SEC 09 Computing

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.

Page 48: SEC 09 Computing

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.

Page 49: SEC 09 Computing

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.

Page 50: SEC 09 Computing

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.

Page 51: SEC 09 Computing

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.

Page 52: SEC 09 Computing

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.

Page 53: SEC 09 Computing

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.

Page 54: SEC 09 Computing

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

Page 55: SEC 09 Computing

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.

Page 56: SEC 09 Computing

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.

Page 57: SEC 09 Computing

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

Page 58: SEC 09 Computing

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.

Page 59: SEC 09 Computing

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);

Page 60: SEC 09 Computing

SEC 09 SYLLABUS (2025): COMPUTING

Page 59 of 171

Sample Circuits

LED

RGB LED

BUZZER

MICRO PUSH SWITCH

Page 61: SEC 09 Computing

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

Page 62: SEC 09 Computing

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)

Page 63: SEC 09 Computing

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

Page 64: SEC 09 Computing

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)

Page 65: SEC 09 Computing

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);

}

Page 66: SEC 09 Computing

SEC 09 SYLLABUS (2025): COMPUTING

Page 65 of 171

Sample Circuits

LED

RGB LED

BUZZER

MICRO PUSH SWITCH

POTENTIOMETER

PHOTOCELL SENSOR

SERVO

Page 67: SEC 09 Computing

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

Page 68: SEC 09 Computing

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)

Page 69: SEC 09 Computing

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)

Page 70: SEC 09 Computing

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)

Page 71: SEC 09 Computing

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

Page 72: SEC 09 Computing

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")

Page 73: SEC 09 Computing

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.

Page 74: SEC 09 Computing

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.

Page 75: SEC 09 Computing

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’).

Page 76: SEC 09 Computing

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’).

Page 77: SEC 09 Computing

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);

}

Page 78: SEC 09 Computing

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)

}

Page 79: SEC 09 Computing

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)

}

}

Page 80: SEC 09 Computing

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.

Page 81: SEC 09 Computing

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.

Page 82: SEC 09 Computing

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.

Page 83: SEC 09 Computing

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’)

Page 84: SEC 09 Computing

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")

Page 85: SEC 09 Computing

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

Page 86: SEC 09 Computing

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 |")

Page 87: SEC 09 Computing

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);

Page 88: SEC 09 Computing

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.

Page 89: SEC 09 Computing

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.

Page 90: SEC 09 Computing

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’).

Page 91: SEC 09 Computing

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

Page 92: SEC 09 Computing

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')

Page 93: SEC 09 Computing

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

Page 94: SEC 09 Computing

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.

Page 95: SEC 09 Computing

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.

Page 96: SEC 09 Computing

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).

Page 97: SEC 09 Computing

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.

Page 98: SEC 09 Computing

SEC 09 SYLLABUS (2025): COMPUTING

Page 97 of 171

Sample Solution to

Research Work

Exemplar

Page 99: SEC 09 Computing

SEC 09 SYLLABUS (2025): COMPUTING

Page 98 of 171

Page 100: SEC 09 Computing

SEC 09 SYLLABUS (2025): COMPUTING

Page 99 of 171

Page 101: SEC 09 Computing

SEC 09 SYLLABUS (2025): COMPUTING

Page 100 of 171

Page 102: SEC 09 Computing

SEC 09 SYLLABUS (2025): COMPUTING

Page 101 of 171

Page 103: SEC 09 Computing

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.

Page 104: SEC 09 Computing

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.

Page 105: SEC 09 Computing

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.

Page 106: SEC 09 Computing

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/

Page 107: SEC 09 Computing

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)

Page 108: SEC 09 Computing

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)

Page 109: SEC 09 Computing

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)

Page 110: SEC 09 Computing

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)

Page 111: SEC 09 Computing

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)

Page 112: SEC 09 Computing

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)

Page 113: SEC 09 Computing

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)

Page 114: SEC 09 Computing

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)

Page 115: SEC 09 Computing

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)

Page 116: SEC 09 Computing

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)

Page 117: SEC 09 Computing

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)

Page 118: SEC 09 Computing

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)

Page 119: SEC 09 Computing

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

Page 120: SEC 09 Computing

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.

Page 121: SEC 09 Computing

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

Page 122: SEC 09 Computing

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.

Page 123: SEC 09 Computing

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.

Page 124: SEC 09 Computing

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

Page 125: SEC 09 Computing

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)

Page 126: SEC 09 Computing

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)

Page 127: SEC 09 Computing

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)

Page 128: SEC 09 Computing

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)

Page 129: SEC 09 Computing

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)

Page 130: SEC 09 Computing

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)

Page 131: SEC 09 Computing

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)

Page 132: SEC 09 Computing

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)

Page 133: SEC 09 Computing

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)

Page 134: SEC 09 Computing

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)

Page 135: SEC 09 Computing

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)

Page 136: SEC 09 Computing

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

Page 137: SEC 09 Computing

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.

Page 138: SEC 09 Computing

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

Page 139: SEC 09 Computing

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.

Page 140: SEC 09 Computing

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

Page 141: SEC 09 Computing

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

Page 142: SEC 09 Computing

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)

Page 143: SEC 09 Computing

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)

Page 144: SEC 09 Computing

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)

Page 145: SEC 09 Computing

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:

Page 146: SEC 09 Computing

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);

}

}

Page 147: SEC 09 Computing

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)

Page 148: SEC 09 Computing

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)

Page 149: SEC 09 Computing

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)

Page 150: SEC 09 Computing

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)

Page 151: SEC 09 Computing

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

Page 152: SEC 09 Computing

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.

Page 153: SEC 09 Computing

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

Page 154: SEC 09 Computing

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.

Page 155: SEC 09 Computing

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

Page 156: SEC 09 Computing

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

Page 157: SEC 09 Computing

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

Page 158: SEC 09 Computing

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.

Page 159: SEC 09 Computing

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)

Page 160: SEC 09 Computing

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)

Page 161: SEC 09 Computing

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

Page 162: SEC 09 Computing

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;

}

Page 163: SEC 09 Computing

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)

Page 164: SEC 09 Computing

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)

Page 165: SEC 09 Computing

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)

Page 166: SEC 09 Computing

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

Page 167: SEC 09 Computing

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.

Page 168: SEC 09 Computing

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

Page 169: SEC 09 Computing

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.

Page 170: SEC 09 Computing

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

Page 171: SEC 09 Computing

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.

Page 172: SEC 09 Computing

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