Appendices Appendix D ICT specialisation Unit SP1 - Introduction to programming
Previous TOC Next


Overall Objective of the Unit

Students should be able to design, program and evaluate simple algorithms for elementary task oriented problems. (The term «algorithm» to be interpreted in its broadest sense.)


Programming at this level is not a technical subject; by and large it means changing a task you can «do for your yourself» into one which can be «done by others». This means describing the task as a procedure in sufficient and complete detail so that it can be performed precisely and repetitively by another person or a device.

This «automation» of a task is that what is called programming, sometimes algorithmic programming – one of the main features of informatics. An algorithmic way of thinking and problem solving is needed when using complex or sophisticated tools such as a spreadsheet, a database management system, an operating system or even a word-processor.

Programming is a rapid, specific and suitable way for students to gain experience of solving problems. The objective is not to train «mini-programmers», but to bring students into contact with the programmer’s way of thinking. With this aim in mind, the syntactical and other specific features of a programming language are of no importance and have only to be learned on a «need-to-know» basis. Teachers should stress the methodological aspects of problem solving; programming is just a means to an end rather than a goal in itself.

Summary of Content of Unit

The unit contains three main activities: designing a task-oriented algorithm (algorithmic problem solving), translating the design into a program (programming), and bringing the program to life (implementation). These three activities will always be successive and closely tied together. Although the following descriptions treat each activity separately, the order of presentation does not necessarily dictate the order of teaching.



Students should be able to:

  1. describe and specify the task to be realised;
  2. develop an effective and efficient algorithm which realises the identified task, applying a simple, given standard method.


Students have to experiment and identify the steps involved in the process of problem solving, applying simple problem solving strategies in a given format to specify solutions to simple problems drawn from their everyday lives. Examples of suitable problems are: simple simulations of dice throwing, tossing of coins, calculations such as the formulas for areas and volumes or the interest on money loans and deposits, turtle movements in a plane.

When students have built up some expertise, they should learn to subdivide the tasks to be automated into major sub-tasks and into fundamental tasks which are given suitable, meaningful names.



Students should be able to:

  1. transform their simple algorithms into computer programs in a (procedural) language;
  2. produce a readable, understandable and user-interactive program.


Teachers should choose simple problems which only require students to use elementary input, output, and assignment operations of a programming language. Where applicable, students should determine proper types and uses of variables; and select suitable and meaningful variable names which represent the functions of the variables in the program.

Examples of possible programming environments are: Visual Basic, Pascal, Java Script or an environment for controlling a physical device (e.g. a robot).

Students should not be forced to use a separate editor or text processor for entering their program.



Students should be able to:

  1. use a given programming environment to enter, edit, compile, debug, update and run the constructed programs;
  2. give a meaningful and useful written description of the internal and external behaviour of their program.


Students should store and retrieve programs on and from disks, for further use and modification. They should learn to differentiate between syntax errors and execution errors; and identify possible causes for each type of error. Students should test their programs with given or created test data to determine correctness and limitations and should learn how to obtain printed output and a hard copy of source code.

Teachers should ensure that clear and adequate documentation is produced of all programs so that other users are able to understand the operation of the programs and make further modifications.


Minimum necessary resources:

One computer between two students (one may plan, while the other enters code or tests);

A simple programming language, preferably with a graphical interface.


This Unit, together with Unit SP2, are essential preparation for the General and Vocational Specialisation Modules.