Friday, January 30, 2015

COMPUTER SYLLABUS FOR O LEVEL STUDENTS




Syllabus content

1.1 Data representation
Candidates should be able to:

1.1.1 Binary systems
• recognise the use of binary numbers in computer systems
• convert denary numbers into binary and binary numbers into denary
• show understanding of the concept of a byte and how the byte is used to measure memory size
• use binary in computer registers for a given application (such as in robotics, digital instruments
and counting systems)

1.1.2 Hexadecimal
• represent integers as hexadecimal numbers
• show understanding of the reasons for choosing hexadecimal to represent numbers
• convert positive hexadecimal integers to and from denary
• convert positive hexadecimal integers to and from binary
• represent numbers stored in registers and main memory as hexadecimal
• identify current uses of hexadecimal numbers in computing, such as defining colours in Hypertext
Markup Language (HTML), Media Access Control (MAC) addresses, assembly languages and
machine code, debugging

1.1.3 Data storage
• show understanding that sound (music), pictures, video, text and numbers are stored in different
formats
• identify and describe methods of error detection and correction, such as parity checks, check
digits, checksums and Automatic Repeat reQuests (ARQ)
• show understanding of the concept of Musical Instrument Digital Interface (MIDI) files, jpeg files,
MP3 and MP4 files
• show understanding of the principles of data compression (lossless and lossy compression
algorithms) applied to music/video, photos and text files


1.2 Communication and Internet technologies
Candidates should be able to:

1.2.1 Serial and parallel data transmission
• show understanding of what is meant by transmission of data
• distinguish between serial and parallel data transmission
• show understanding of the reasons for choosing serial or parallel data transmission
• show understanding of the need to check for errors
• explain how parity bits are used for error detection
• identify current uses of serial and parallel data transmission, such as Integrated Circuits (IC) and
Universal Serial Bus (USB)

1.2.2 Security aspects
• show understanding of the security aspects of using the Internet and understand what methods
are available to help minimise the risks
• show understanding of the Internet risks associated with malware, including viruses, spyware and
hacking
• explain how anti-virus and other protection software helps to protect the user from security risks
(this also links into section 1.4 of the syllabus)

1.2.3 Internet principles of operation
• show understanding of the role of the browser and Internet server
• show understanding of what is meant by hypertext transfer protocol (http) and HTML
• distinguish between HTML structure and presentation
• show understanding of the concept of MAC address, Internet Protocol (IP) address and cookies

1.3 Hardware and software
Candidates should be able to:

1.3.1 Logic gates
• use logic gates to create electronic circuits
• understand and define the functions of NOT, AND, OR, NAND, NOR and XOR (EOR) gates,
including the binary output produced from all the possible binary inputs (all gates, except the NOT
gate, will have 2 inputs only)
• draw truth tables and recognise a logic gate from its truth table
• recognise and use the following standard symbols used to represent logic gates:
NOT AND OR NAND NOR XOR
• produce truth tables for given logic circuits, for example:
a b c out
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
• produce a logic circuit to solve a given problem or to implement a given written logic statement,
such as IF (switch A is NOT on) OR (switch B is on AND switch C is NOT on) then alarm, X,
sounds

1.3.2 Computer architecture and the fetch-execute cycle
• show understanding of the basic Von Neumann model for a computer system and the stored
program concept (program instructions and data are stored in main memory and instructions are
fetched and executed one after another)
• describe the stages of the fetch-execute cycle

1.3.3 Input devices
• describe the principles of operation (how each device works) of a range of input devices
including 2D and 3D scanners, barcode readers, digital cameras, keyboards, mice, touch screens,
microphones
• describe how these principles are applied to real-life scenarios, for example: scanning of
passports at airports, barcode readers at supermarket checkouts, and touch screens on mobile
devices
• describe how a range of sensors can be used to input data into a computer system, including
light, temperature, magnetic field, gas, pressure, moisture, humidity, pH/acidity/alkalinity and
motion/infra-red
• describe how these sensors are used in real-life scenarios, for example: street lights, security
devices, pollution control, games, and household and industrial applications

1.3.4 Output devices

• describe the principles of operation of a range of output devices, including: inkjet, laser and 3D
printers; 2D and 3D cutters; speakers and headphones; actuators; flat-panel display screens,
including Liquid Crystal Display (LCD) and Light-Emitting Diodes (LED); and LCD projectors and
Digital Light Projectors (DLP)
• describe how these principles are applied to real-life scenarios for example: printing single items
on demand or in large volumes; banks of digital displays; use of small screens on mobile devices;
smart boards
1.3.5 Memory, storage devices and media
• show understanding of the difference between: primary, secondary and off-line storage and
provide examples of each, such as, primary: Read Only Memory (ROM), Random Access Memory
(RAM) and DVD-RAM; secondary: hard disk drive (HDD) and Solid State Drives (SSDs); off-line:
Digital Versatile Disks (DVDs), Compact Disks (CDs), Blu-ray, USB flash memory and removable
disks
• describe the principles of operation of a range of types of storage devices and media including
magnetic, optical and solid state
• describe how these principles are applied to currently available storage solutions, such as SSDs,
hard disk drives, USB flash memory, DVDs, CDs and Blu-ray
• calculate the storage requirement of a file

1.3.6 Operating systems
• describe the purpose of an operating system
• show understanding of the need for interrupts

1.3.7 High- and low-level languages and their translators
• show understanding of the need for both high-level and low-level languages
• show understanding of the need for compilers when translating programs written in a high-level
language
• show understanding of the use of interpreters with high-level language programs
• show understanding of the need for assemblers when translating programs written in assembly
language

1.4 Security

Candidates should be able to:
1.4.1
• show understanding of the need to keep data safe from accidental damage, including corruption
and human errors
• show understanding of the need to keep data safe from malicious actions, including unauthorised
viewing, deleting, copying and corruption

1.4.2
• show understanding of how data are kept safe when stored and transmitted, including:
use of passwords, both entered at a keyboard and biometric
use of firewalls, both software and hardware, including proxy servers
use of Secure Socket Layer (SSL)
use of symmetric encryption (plain text, cypher text and use of a key) showing understanding
that increasing the length of a key increases the strength of the encryption

1.4.3
• show understanding of the need to keep online systems safe from attacks including denial of
service attacks, phishing, pharming

1.4.4
• describe how the knowledge from 1.4.1, 1.4.2 and 1.4.3 can be applied to real-life scenarios
including, for example, online banking, shopping

1.5 Ethics

Candidates should be able to:
• show understanding of computer ethics, including copyright issues and plagiarism
• distinguish between free software, freeware and shareware
• show understanding of the ethical issues raised by the spread of electronic communication and
computer systems, including hacking, cracking and production of malware






Section 2 Practical Problem-solving and Programming
2.1 Algorithm design and problem-solving

Candidates should be able to:

2.1.1 Problem-solving and design
• show understanding that every computer system is made up of sub-systems, which in turn are
made up of further sub-systems
• use top-down design, structure diagrams, flowcharts, pseudocode, library routines and sub-
routines
• work out the purpose of a given algorithm
• explain standard methods of solution
• suggest and apply suitable test data
• understand the need for validation and verification checks to be made on input data (validation
could include range checks, length checks, type checks and check digits)
• use trace tables to find the value of variables at each step in an algorithm
• identify errors in given algorithms and suggest ways of removing these errors
• produce an algorithm for a given problem (either in the form of pseudocode or flowchart)
• comment on the effectiveness of a given solution

2.1.2 Pseudocode
• understand and use pseudocode for assignment, using
• understand and use pseudocode, using the following conditional statements:
IF ... THEN ... ELSE ... ENDIF
CASE ... OF ... OTHERWISE ... ENDCASE
• understand and use pseudocode, using the following loop structures:
FOR ... TO ... NEXT
REPEAT ... UNTIL
WHILE ... DO ... ENDWHILE
• understand and use pseudocode, using the following commands and statements:
INPUT
and
OUTPUT
(e.g.
READ
and
PRINT
)
totalling (e.g.
Sum
Sum
+
Number
)
counting (e.g.
Count
Count
+
1
)
(Candidates are advised to try out solutions to a variety of different problems on a computer using a
language of their choice; no particular programming language will be assumed in this syllabus.)

Section 2 Practical Problem-solving and Programming
2.1 Algorithm design and problem-solving
Candidates should be able to:
2.1.1 Problem-solving and design
• show understanding that every computer system is made up of sub-systems, which in turn are
made up of further sub-systems
• use top-down design, structure diagrams, flowcharts, pseudocode, library routines and sub-
routines
• work out the purpose of a given algorithm
• explain standard methods of solution
• suggest and apply suitable test data
• understand the need for validation and verification checks to be made on input data (validation
could include range checks, length checks, type checks and check digits)
• use trace tables to find the value of variables at each step in an algorithm
• identify errors in given algorithms and suggest ways of removing these errors
• produce an algorithm for a given problem (either in the form of pseudocode or flowchart)
• comment on the effectiveness of a given solution
2.1.2 Pseudocode
• understand and use pseudocode for assignment, using
• understand and use pseudocode, using the following conditional statements:
IF ... THEN ... ELSE ... ENDIF
CASE ... OF ... OTHERWISE ... ENDCASE
• understand and use pseudocode, using the following loop structures:
FOR ... TO ... NEXT
REPEAT ... UNTIL
WHILE ... DO ... ENDWHILE
• understand and use pseudocode, using the following commands and statements:
INPUT
and
OUTPUT
(e.g.
READ
and
PRINT
)
totalling (e.g.
Sum
Sum
+
Number
)
counting (e.g.
Count
Count
+
1
)
(Candidates are advised to try out solutions to a variety of different problems on a computer using a
language of their choice; no particular programming language will be assumed in this syllabus.)

2.2 Programming
Candidates should be able to:

2.2.1 Programming concepts
• declare and use variables and constants
• understand and use basic data types: Integer, Real, Char, String and Boolean
• understand and use the concepts of sequence, selection, repetition, totalling and counting
• use predefined procedures/functions

2.2.2 Data structures; arrays
• declare the size of one-dimensional arrays, for example: A[1:n]
• show understanding of the use of a variable as an index in an array
• read values into an array using a
FOR ... TO ... NEXT
loop

2.3 Databases
Candidates should be able to:
• define a single-table database from given data storage requirements
• choose a suitable primary key for a database table
• perform a query-by-example from given search criteria


7. Description of components

7.1 Scheme of assessment
All candidates need to demonstrate basic levels of knowledge and understanding. To do this, they need to
recall information and either apply that information or explain it. All candidates also need to demonstrate
some level of problem-solving and practical skills. This will require them to show their ability to comprehend
and analyse computational tasks and design, implement, test and evaluate solutions using a variety of
methods.
Component 1: Paper 1 Theory
This is a compulsory question paper, consisting of short-answer and structured questions set on Section 1
of the syllabus. Candidates must answer all questions. Candidates will answer on the question paper.
Component 2: Paper 2 Problem-solving and Programming
This is a compulsory question paper, consisting of short-answer and structured questions set on Section 2
of the syllabus. Candidates must answer all questions. Candidates will answer on the question paper.
20 of the marks in this paper are from questions set on tasks provided in the Paper 2 Problem-solving and
Programming pre-release materials.
Centres should spend approximately 50% of the total time studying this section of the syllabus. Centres
should ensure that candidates are taught the contents of this section in a largely practical way. Candidates
will be expected to be able to program in a high-level programming language to be chosen by the Centre.
The programming language should be procedural. There will be some examining of knowledge with
understanding, but the bulk of the credit will be for using techniques and skills to solve problems. In all
cases the logic will be of more importance than the syntax.

7.2
Paper 2 Problem-solving and Programming pre-release
materials
The Paper 2 Problem-solving and Programming pre-release materials will be made available to Centres six
months before the exam. Centres are advised to encourage their candidates to develop solutions to tasks
using a high-level programming language, such as Visual Basic, Pascal/Delphi or Python. The purpose of the
pre-release material tasks is to direct candidates to some of the topics which will be examined in Paper 2.
Teachers are expected to incorporate these tasks into their lessons and give support in finding methods and
reaching solutions. 20 of the marks in this paper will be from questions testing candidates’ understanding
gained from developing programmed solutions to these tasks. The tasks will be appropriate for all ability
levels.
The exam questions will require candidates to have practical programming experience including writing their
own programs, executing (running), testing and debugging them. Knowledge of programming language
syntax will not be examined. The higher ability candidates are to be encouraged to extend their practical
programming beyond the scope of these tasks


No comments:

Post a Comment