Information and Communication Technology

Issues The parties agree the key issues to be addressed are: Current dialogue/relationships between Government, Industry and the University needs to influence policy and training to better support the IT Industry of the NT; There has been a fragmented approach between agencies, industry and educational institutions to attract funds to support major IT infrastructure development in the Territory; Exploitation of Australian Research and Education Network to the benefit of the Territory can only occur if there is a joint strategy, developed by the University and Government, presented to the Federal Government (Dept Education Science and Technology); That equity of access to information and communication technologies by people in remote communities is a Territory and national priority; To find culturally appropriate solutions to managing remoteness through telecommunications applications, To improve the engagement of ICT users and increase outcomes from human computer interactions. o Independent planning, development and resourcing of network infrastructure to remote education centres by DEET and the University o Provision of improved bandwidth through pooling of resources to regional training centres for lab based teaching and research including access to the Internet. o Potential use of these laboratories by local communities when not booked for face-to-face teaching. o Providing network access to NTG and Charles Darwin University staff for administrative applications. Security requirements of these applications restrict the use of some of these applications across both networks under current Security Policies. Support Charles Darwin University objective to provide educational resources to regions using common resources.


The Compulsory Part (144 hours)
A.
Computer System Fundamentals (20 hours) C.
Internet and its Applications (31 hours) D.
Computational Thinking and Programming (48 hours) E.
Social Implications (8 hours) Information processes include data collection, organisation, analysis, storage, processing, transmission and presentation. Examples from daily life, both computer and non-computer-based processes, should be used to consolidate and enhance students' understanding of the activities involved.
• Realise the difference between data and information, and identify different types of data as image, audio, video and text.
• Define Information Age and discuss the importance of information literacy in a knowledge-based society.
How the development of technologies leads to the emergence of the Information Age, and how information can be flexibly and analytically converted into knowledge in modern society should be discussed. 4

Topic Learning Outcomes Remarks b. Data Organisation and Data Control
(4 hours) • Identify data, records, fields, files and databases in the hierarchical organisation of data.
• Explain how records can be organised, stored and retrieved. State the advantages, disadvantages and applications of the two types of file access: direct access and sequential access.
• Discuss the needs of data control.
• Describe how errors can be detected by using validation and parity checking, and prevented by verification and validation.

c. Data Representation (10 hours)
• Distinguish between analog and digital data. State applications or situations where conversion of analog to digital data is required, or vice versa.
• Explain why IT uses digital data The relationship between the number of bits and number of patterns/combinations available should be mentioned (e.g. three bits can be used to represent eight colours). 5

Topic Learning Outcomes Remarks
• Convert integers from denary numbers to binary numbers or hexadecimal numbers, or vice versa.
Adopt two's complement for the representation of negative integers.
• Perform simple calculations (addition and subtraction only) on binary numbers and analyse overflow errors.
In understanding errors, minimum and maximum numbers an n-bit can hold (maximum 2 bytes) should be considered.
• Know how characters are represented by using common international standards such as American Standard Code for Information Interchange (ASCII), the Big-5 code, the Guobiao (GB) code and the Unicode.
The relationship between the size of the character set and the representation should be explained. Recall of specific codes is not required.
• Know briefly how different multimedia elements are digitised. Convert them into different file formats and compare them for storing the same data.

d. Data Manipulation and Analysis
(20 hours) • Describe and use basic features of spreadsheets to solve problems.
The use of cell references in formulas, and functions, together with mathematical, logical and relational operators should form part of the content.
• Demonstrate data manipulation techniques in spreadsheets.
This includes filtering, searching and sorting data using single or multiple criteria. The manipulation of data dynamically in multiple worksheets should also be introduced. 6

Topic Learning Outcomes Remarks
• Apply spreadsheets as a data analysis tool by using a pivot table (and pivot  chart), and "what-if" scenarios.
Through task-based activities, apart from the basic features and functions (sum, sub-total and average) of a pivot table, students should be led to observe and analyse the interdependency of data by varying the fields in a pivot table.
Together with charting, simulating real-life situations and "what-if" scenarios, students should learn to identify trends, to make informed judgments, and to produce meaningful predictions which are required as critical thinkers throughout their careers.
• Apply the concepts of data organisation to create and maintain a simple database using a Database Management Systems (DBMS) tool.
• Create and use a form for data entry.
• Practise data extraction and manipulation by querying a database and create reports.
This includes the selection, filtering and sorting of data using query in a single database table. Students should be able to trace and interpret simple Structured Query Language (SQL) statements. Though sophisticated reports are not required, they should create and format reports for intended users / audience.

Introduction
This module provides students with a basic understanding of how the different components of a computer system work together to perform computational tasks. This includes the learning of the functional units of a computer, the system software, and the different modes of operation for different applications.

Learning Objectives
Students will learn about:  the functions and properties of the major components of a computer system and how these components interact together to perform tasks;  the functions and properties of major peripheral devices, and their uses in specific situations;  the use of different utility programs in managing systems and files;  the capabilities of different operating systems, and the basic concepts of a computer network and its applications; and  different modes of operation.
The time allocation for the module is about 20 hours.

Details
This module comprises two topics: "Basic Machine Organisation" and "System Software". Details of the two topics are summarised below: 8

Topic
Learning Outcomes Remarks a. Basic Machine Organisation (14 hours) • Explain the functions of hardware within a computer system, namely input and output devices, processing units, bus system and storage devices (both primary and secondary).
Processing units include central processing unit (CPU) and graphics processing unit (GPU).
• Explain the structure and functions of a CPU and its components.
Students should know how CPU is measured in terms of frequency. Units such as microsecond, nanosecond and picosecond should also be introduced.
• Outline the steps in the fetch-decode-execute cycle and store using a single processor, and describe the roles of and the interdependence among components, registers and buses in the machine cycle.

Topic Learning Outcomes Remarks
• Describe the functions and characteristics of Random Access Memory (RAM), Read Only Memory (ROM) and memory cache. Realise the relationship among the size of the memory, the memory address, word length and the performance of the computer.
Students' understanding of main memory should be extended to the current version / technologies in RAM and ROM in terms of capacity and data access rate.
The meanings of units such as terabytes, gigabytes, megabytes and kilobytes should be introduced. Also, the distinction between prefixes used in computer and the Système International (SI) notation should also be made (e.g. 1KB = 1024 Bytes, not 1000 Bytes).
• Describe the features, advantages, disadvantages and applications of the input and output devices. Select and justify the use of appropriate devices for collecting and displaying information in a given context.
Students should know the various hardware devices used for collecting and displaying different types of data such as image, audio, video and text. The technical details on how each device operates are not required.
• Describe the functional characteristics of storage devices in terms of random or sequential access, volatile or non-volatile, data transfer rate and storage capacity.
Examples of storage devices are magnetic disk, optical disk, flash memory, magnetic tape and network storage. In understanding the characteristics of storage devices, students should be made aware of the trend to faster and greater storage capacity but smaller physical size over time.

Topic Learning Outcomes Remarks
• Outline the latest developments in computer systems including processor capabilities, primary memory technologies, secondary storage devices and data communications.
Technical details are not required.

b. System Software (6 hours)
• Know the functions of system software and applications software, and the relationship between hardware, system software, applications software and users.
• Outline the basic functions of an operating system and describe some common operating systems, and their differences and applications.
• State the functions and needs of utility programs and driver programs.
Examples of the utilities are data compressors, virus checkers, file managers, defragmentation software and system monitoring software. Technical details of these programs are not required but demonstration or practice on their use should be given.
• Distinguish the characteristics and applications of various modes of operation.

Introduction
This module is designed to acquaint students with Internet fundamentals. It encompasses the concepts of Internet access, services and applications of the Internet, and elementary web page design. Students will also be given the opportunity to critically analyse the reliability of the information retrieved from the Web and appreciate the impact of the Internet on various activities in society.

Learning Objectives
Students will learn about:  how to connect to the Internet, and the hardware, software and Internet Service Provider (ISP) involved in accessing the Internet;  the personal, social and commercial activities that are available on the Internet;  how to participate in various Internet activities such as searching for information, sharing opinions, and exchanging messages and files;  the technologies involved in transmitting and displaying multimedia elements on the Internet;  the design and construction of simple web pages for an intended audience;  the potential threats on the Internet and measures to reduce them; and  the need to use ICT safely, sensibly, legally and ethically.
The time allocation for the module is about 31 hours.

Details
This module comprises four topics: "The Networking and Internet Basics", "Internet Services and Applications", "Elementary Web Authoring and "Threats and Security on the Internet". Details of the four topics are summarised below:

Topic
Learning Outcomes Remarks a. Networking and Internet Basics (9 hours) • Define and compare Local Area Network (LAN) and Wide Area Network (WAN).
• Know the formats and functions of IPv4 and IPv6.
Technical details are not required.
• Discuss the common services available in a networked environment.
Services include internal communications, conferencing and resources sharing.
• Explain the functions of the hardware required for a network.
The common industry standards for wireless computer networks should be introduced to students. Relevant concepts including frequency, bandwidth, interference and roaming, etc. are required.
• Compare common methods for Internet access in terms of speed, cost, security and availability.
This includes connections in wireless and broadband etc.
• Understand the need for communications software and communication protocols.
This includes simple concepts of TCP/IP.

Topic Learning Outcomes Remarks
• Describe how data is transmitted over the Internet and understand concepts of Uniform Resource Locator (URL), Domain Name System (DNS), Hypertext Transfer Protocol (HTTP) and Hypertext Transfer Protocol Secure (HTTPS).

b. Internet Services and Applications (5 hours)
• Formulate an effective strategy for searching for specific information on the Web by using search-engines, and critically analyse the sources of information.
• Identify various graphics, audio, video file formats suitable for web pages. Use plug-ins and players for the multimedia elements found on the Internet.
• Apply various services such as file transfer, remote logon, online chat, discussion forum and email on the Internet.
• Describe the concepts of streaming technology and its applications in voice mail, videoconferencing, and webcasting etc. on the Internet.
Technical details of streaming technology are not required.

Learning Outcomes Remarks
• Value the significance of the development and expansion of the Internet for various activities in society.
Appreciation of the use of Internet applications for the improvement of human life should be fostered among students. For instance, smart city can be achieved with Internet of things (IoT) and cloud services.

c. Elementary Web Authoring (3 hours) • Recognise the basic constructs of
Hypertext Markup Language (HTML) which is a means to address cross-platform issues.
• Discuss the organisation of web pages for an intended audience and upload them onto the World Wide Web.
The organisation of information includes ease of navigation, appropriate placement of links, tables, frames and multimedia elements, colour combinations, background design, font size and style, for an intended audience.
Students are not required to memorise HTML codes. d.

Threats and Security on the Internet (14 hours)
• Describe the potential risks caused by the common network security threats.
The threats include virus, worm and Trojan programs, spyware, ransomware, unauthorised access, interception, intrusion via dynamic web pages and Denial of Service (DoS) attack, etc.

Topic Learning Outcomes Remarks
• Propose effective measures to improve network security.
The measures include browser setting, anti-virus software, authentication, access and user right control, firewall, wireless security protocol such as WPA, and Virtual Private Network (VPN), etc.
• Discuss the possible privacy threats on the Internet, and suggest ways to maintain privacy.
Supported by crimes reported in the news, violation of the secrecy of data as a result of eavesdropping, hacking, phishing, spamming and junk mails etc. should all be considered and discussed with students.
The ways to maintain privacy, such as anonymity and passwords, should be stressed.
Teachers can quote some of the legal consequences related to unauthorised access to computers.
• Be aware of information encryption technologies so as to prevent eavesdropping and interception.
This includes the basic concepts of data encryption, public and private key encryption systems (e.g. Hong Kong Public Key Infrastructure (PKI)), and the relationship between the size of the key used and the degree of security.

Topic Learning Outcomes Remarks
• Explain authentication and authorisation as a means to control access of information on the Internet.
Basic concepts include the authentication methods for individuals, types of tokens used in authentication processes, and the procedures of authenticating a digitally signed document by obtaining a digital certificate of the signed body.
• Know about security used in electronic transactions.
The concepts of Secure Sockets Layer (SSL) in secured transmission in e-commerce should be introduced.
Other security measures in online transaction such as smart cards, security tokens, digital certificates and mobile Short Message Service (SMS) should also be introduced.
• Be aware of the latest developments in security measures.

Introduction
Computational Thinking (CT) is an approach to solving problems in a way that can be implemented with a computer. Students become tool builders instead of tool users through a set of concepts such as abstraction, algorithm and automation. This module is designed to teach students how to go through a systematic process of thinking when solving problem (abstraction), formulating steps for solutions (algorithmic thinking) and writing computer program (programming/coding) to produce the solution. Advanced programming concepts are introduced in Algorithm and Programming.

Learning Objectives
Students will learn about:  the systematic approach to problem-solving;  the application of concepts of systematic problem-solving to real-life problems;  the use of pseudocode and/or a program flowchart to represent the algorithm;  creative design and development of computer program;  how to illustrate different programming paradigms with appropriate programming languages;  how to identify the objectives of an algorithm, trace the logical flow and examine values of variables during execution; and  various ways of solving the same problem, and the differences between them.
The time allocation for the module is about 48 hours.

Details
This module comprises four topics: "Problem-Formulation and Analysis", "Algorithm Design", "Program Development " and "Program Testing and Debugging". Details of the four topics are summarised below:

Topic
Learning Outcomes Remarks a. Problem-Formulation and Analysis (5 hours) • Define a problem and its scope.
• Analyse a problem by identifying required inputs and outputs as well as stating the processes required. Examples: • Calculate interest on mortgages and list the instalments • Find the Body Mass Index (BMI) to monitor for healthy weight • Program a robot to detect and trace lines • Solve a problem by decomposing them into smaller and manageable sub-problem.
The sub-problems, for instance, may represent the input, process and output of the solution to the problem.
• Identify common elements across similar problems.
Example: • Identify the patterns of methods for sorting the height of a group of students in ascending order and then modify the methods to sort the weight of a group of students in descending order. • Identify the patterns of methods for programming a robot to move in a square and then modify the programs to let the robot move in other polygons.

b. Algorithm Design (12 hours)
• Perform a dry run of a set of steps to determine its purpose and/or output.

Topic Learning Outcomes Remarks
• Define algorithm. Use pseudocode and program flowchart as methods for representing algorithms.
• Outline and discuss the input and output requirements of a problem, and design an appropriate user interface.
• Recognise the uses and nature of simple data types and data structures in solving a problem.
Simple data types are restricted to integer, real, character and Boolean while simple data structures are limited to string and one-dimensional array. Boolean logic (AND, OR, NOT) and truth tables should be introduced.
• Select appropriate data types for the solution to a particular problem and discuss the merit of the chosen types.
• Design and construct standard algorithms involving basic control structures.
The control structures are sequence, selection (binary and multi-way) and iteration (pre-test, post-test and for loops).
• Create and examine algorithms such as to load and print an array, and to add or delete an item from an array.
• Produce trace table to show value of variables at each stage in set of steps. 20

Topic Learning Outcomes Remarks
• Locate logic error in an algorithm, and correct or modify an algorithm to remove the errors or for changes in task specification.
• Describe the advantages of modularity in designing computer solutions.
When designing a solution to a complex problem, students should be encouraged habitually to use the modular approach to structure the algorithm.

c. Program Development (20 hours)
• Understand and use variables, constants, and simple lists (1-D array) in different problem contexts.
• Use operators, expressions, assignment statements, input and output statements.
Examples of arithmetic operators include addition, subtraction, multiplication, division, and modulus.
Examples of relational operators include equal to, not equal to, greater than, greater than or equal to, less than and less than or equal to.

Topic Learning Outcomes Remarks
• Understand and use sequence, selection and iteration (nested loop is not required) constructs to create a program • Produce programming solution for a given problem. • Apply data validation check to design appropriate test data.
Students need to identify boundary cases.
• Understand and describe types of program errors: syntax, logic and run-time; explain why they occur and debug.
• Compare different solutions to the same problem.
Comparison of the steps of operation and resource usage of different programs to solve the same problem should be encouraged.

Introduction
This module provides students with an understanding, and ethical analysis, of various issues arising from the use of ICT. These issues have economic, legal, social, ethical and security consequences. Students should be given experience in discussing and debating these issues to develop the analytical and interpretive skills required to construct their own normative practices in the use of ICT. This module encourages students to act in a socially responsible, ethical and legal way in using the technologies throughout their studies, careers and other areas of their lives.
Although these issues are introduced specifically in this module, they should also be re-considered and re-addressed in various other parts of the course as a means to strengthen students' awareness of them.

Learning Objectives
Students will learn about:  basic concepts of technological innovations;  equity issues relating to access to ICT;  ethical considerations on the use of ICT;  health hazards and preventive measures in using ICT; and  major issues regarding intellectual property and privacy.
The time allocation for the module is about 8 hours.

Details
This module comprises three topics: "Technological Innovations", "Health and Ethical Issues" and "Intellectual Property". Details of the three topics are summarised below: Examples include pattern recognition through artificial intelligence (AI) and data science, 3D printing technologies, augmented reality (AR) and virtual reality (VR).
Students should have practical experience with these technologies.

b. Health and Ethical Issues (3 hours)
• Identify health hazards associated with the use of ICT, and propose good ergonomic practices when using them.
In ergonomics, consideration includes the reduction of injuries which arise from repetitive strain injury (RSI), the suitable design and placement of the furniture, the design of the software (with user-friendliness features such as ease of use and a consistent user interface) and work environment.
• Realise the importance of equity of access. Students should state the pros and cons of freedom of information on the Internet. They should also know equity issues in terms of the digital divide, gender equity and access for the disabled from local and global perspectives.
• Discuss the ethical considerations on the use of ICT.
24 Topic Learning Outcomes Remarks c. Intellectual Property (2 hours) • Understand the basic ideas of intellectual property and copyright.
• Understand the benefits and risks of different licensing schemes such as freeware, shareware, open source software and copyrighted software from the perspectives of users and software developers.
• Relate acts of possible infringement of copyright in software and Internet piracy.
Students should discuss the social, legal and economic implications of acts of infringement of copyright. They should also develop the habit of acknowledging the source of information and be aware of the appropriate use of multimedia materials, and the possible crimes and consequences of illegal uses and broadcasting of these materials.
• Be aware of ways to reduce intellectual property theft on digital property.
Examples of measures are the use of a digital watermark and digital signature.
• Know some of the legal consequences, especially in education, related to the infringement of copyright in Hong Kong.
Teachers can quote some of the legal consequences related to infringement of copyright.

The Elective Part
The Elective Part comprises three options.

Introduction
This option is designed to provide students with the fundamental concepts of databases and relational database design. Students will learn how to construct simple data models using Entity Relationship (ER) diagrams and to appreciate the importance of good database design. They will also learn to use SQL to construct, manipulate and retrieve information from a relational database. In addition, students will be exposed to database security, integrity, and data privacy issues. Through studying this option, students will acquire a basic understanding of the concepts, skills and applications of databases, and elementary data modelling concepts.
Students should have acquired the necessary knowledge and skills in the Compulsory Partmodule A Information Processing before progressing to this option.
The sub-topics under topic (a) "Relational Databases Concepts" in the present option are designed as extensions of topic (b) "Data Organisation and Data Control" in the Compulsory Partmodule A Information Processing.

Learning Objectives
Students will learn about:  concepts and applications related to databases and the DBMS;  the basic concepts of a relational database, and the construction, manipulation and extraction of information from a relational database using SQL;   the construction of simple data models using the ER diagrams methodology;  the importance of good database design as a blueprint for the development of a database management system; and  the importance of data privacy and measures for its improvement.
The time allocation for the option is about 38 hours.

Details
The option Databases comprises three topics: "Relational Databases Concepts", "SQL", and "Database Design Methodology". Details of the three topics are summarised below:

Topic
Learning Outcomes Remarks a. Relational Databases Concepts (6 hours) • Describe the basic concepts of relational databases.
It includes entity, relationship, attribute, domain, index, key (such as primary key, foreign key and candidate key), and integrity (such as entity integrity, referential integrity and domain integrity). Students should be able to identify these basic elements in examples taken from everyday applications.
• Create a simple relational database. Students should know how to organise data differently but sensibly in a relational database and be able to establish the required relationships among the tables.
• Describe the purposes of rollback.
27 Topic Learning Outcomes Remarks b. SQL (18 hours) • Use SQL to maintain a simple relational database, and manipulate its data or retrieve the required information in at most three tables.

Skills involved include:
• modify the structure of the tables • add, delete and modify the data in the tables • view, sort, and select contents by filtering, and create different views • use appropriate operators and expressions such as arithmetic operators and expressions, comparison operators, logical operators and the in, between and like operators. to perform specific operations • use simple built-in functions such as aggregate and string functions • perform queries on multiple tables, including the use of equi-join, natural join and outer join • perform sub-queries (for one sub-level only)

c. Database Design Methodology (14 hours)
• Be aware of the different types of relationships among entities in a relational database.
• Analyse simple scenarios in business, education or other fields and create simple ER diagrams involving binary relationship only in designing databases.
The resolution of many-to-many relationship into multiple one-to-many relationships should also be introduced. 28

Topic Learning Outcomes Remarks
• Explain the concepts of data redundancy and discuss the methods or measures used to reduce data redundancy.
Students should be able to reduce data redundancy through normalisation up to Third Normal Form (3NF).
• Describe the needs and procedures of denormalisation.
• Transform the ER diagrams to tables in relational databases.
• Use access rights to achieve data privacy.

Introduction
This option is designed to provide students an understanding of the basic concepts network services and client-server communications, and the knowledge and skills associated with the set up and implementation of a simple network with different services. It provides them with useful and practical knowledge related to web authoring and web application development. This includes the learning of writing scripts on client-side and server-side, and developing simple web applications.
Students should have acquired the necessary knowledge and skills in the Compulsory Partmodule C Internet and its Applications before progressing to this option.
All the sub-topics under topics (a) "Network Services and Implementation" and (b) "Web Programming and Applications" in the present option are designed as extensions of topics (a) "Networking and Internet Basics" and (c) Elementary Web Authoring" in the Compulsory Partmodule C Internet and its Applications.

Learning Objectives
Students will learn about:  the basic concepts of network services;  the implementation of a simple computer network;  web authoring and publishing;   writing client-side and server-side scripts; and  developing simple web applications.
The time allocation for the option is about 38 hours.

Details
The option Web Application Development comprises two topics: "Network Services and Implementation" and "Web Programming and Applications". Details of the two topics are summarised below: • Know the roles of client and server as two network programs in a network.
• Describe common network services. The common network servers include the Dynamic Host Configuration Protocol (DHCP) server, domain controller, file server, proxy server, web server and database server, gateway, etc.

ii. Basic network implementation
• Set up simple Ethernet and wireless networks.
Examples of simple networks include home networks and ad hoc networks in small exhibitions and special events.
• Share various resources among the networked computers/stations.
The resources include files, printers and Internet connection, etc.
• Set folder/ file-sharing permissions, including read, write and execute rights, etc. 32

Topic Learning Outcomes Remarks
• Set up simple network services. Examples of network services include web service and database service.

b. Web Programming and Applications (24 hours)
i. Web authoring and publishing • Edit web pages. Students should be able to edit HTML code of web pages and apply a consistent look and style across a set of web pages through Cascading Style Sheets (CSS).
• Publish content on web. Students should know different ways for publishing content on the web. For example, building a website and posting content through a web-based content management system.
ii. Web programming and applications • Understand the difference between server-side and client-side technologies.
• Create client interface. Students should be able to create client interface in form of web page and application.

Topic Learning Outcomes Remarks
• Demonstrate simple client-side and server-side scripts.

Introduction
This option is designed to provide students with the further programming concepts, and to develop their problem-solving skills through a systematic approach to algorithm design and programming, as well as to improve their logical thinking and critical thinking skills. They will be able to design and develop computer programs independently for solving problems and interacting with physical devices. Students will also be exposed to various principles and techniques of algorithm design. This understanding will offer students a wider choice from which to think and select an appropriate approach to solve a specific problem in future.
Students should have acquired the necessary knowledge and skills in the Compulsory Partmodule D Computational Thinking and Programming Concepts before progressing to this option.
The sub-topics "Design of solution and Implementation" and "Testing and debugging" under topic (a) "Programming" in the present option are designed as extensions of sub-topics "Problem Formulation and Problem-Solving", "Algorithm design", "Program Development" and "Program Testing and Debugging" in module D Concepts Computational Thinking and Programming Concepts.

Learning Objectives
Students will learn about:  the importance of good programming skills and good programming styles;  the importance of formulating appropriate algorithms in solving problems;  creative design and development of computer programs; and  how to write programs to solve real-life problems.  The time allocation for the option is about 38 hours.

Details
The option Algorithm and Programming comprises two topics: "Programming" and "Applications of Programming in Real Life". Details of the two topics are summarised below:

Topic
Learning Outcomes Remarks a. Programming (32 hours) i.

Design of solution and implementation (28 hours)
• Select appropriate data types for a solution.
The data types include simple data types, structured data types and user-defined data types. Simple data types have been discussed in the Compulsory Part.
• Review algorithms with flowcharts or pseudocode.
• Apply algorithms of counting, accumulating, swapping, searching, sorting and merging in writing programs.
The search algorithms include linear search and binary search. The sorting algorithms include bubble sort, insertion sort and selection sort. Students should realise that there are other faster sorting algorithms, say merge sort and quick sort. Merging involves only two arrays of data at one time.
• Choose an appropriate algorithm for a task.
Students should be aware that a problem may be solved by several different algorithms. The selection of algorithms sometimes depends on their complexities and data structures as well as their trade-off. Students should evaluate the algorithm with respect to efficiency, correctness and appropriateness for a task. 36

Topic Learning Outcomes Remarks
• Apply various basic constructs in a solution.
Students should be able to use global variables, local variables, constants, assignment statements, input statements, output statements, arithmetic operators, string operators, Boolean operators and Boolean logic, and operations of the operators including precedence and association.
• Apply control structures in a solution. Sequence, selection and iteration have been introduced in the Compulsory Part. Nested loop is required.
• Construct lists, stacks and queues in terms of arrays.
Students should be able to create and manipulate linear linked lists, stacks and queues in terms of arrays.
• Manipulate text files through filehandling statements.
The manipulation involves file updating statements to delete, insert, append and amend records.
• Implement parameters passing in manipulating sub-programs.
The sub-programs are called by two parameters passing methods: call by value and call by reference.
• Realise the importance of good programming styles.
Students should develop the habit of using meaningful variable names, comments, annotations, space and indentation.

Topic Learning Outcomes Remarks
• Appraise the use of structured programming to design, implement, and debug errors.
ii. Testing and debugging (4 hours) • Interpret errors. The numerical errors included are rounding errors, truncation errors, overflow errors and underflow errors. Other errors are syntax errors, logical errors and run-time errors.
• Apply both manual methods and software debugging tools to program debugging.
Use stubs, flags, break points and program traces with test data set for debugging.

b. Applications of Programming in Real Life (6 hours)
• Use extended programming modules or libraries in writing programs to interact with physical devices.
Students should be able to use extended modules or libraries for capturing data from sensors (e.g. light sensor and accelerometer) and controlling specific devices (e.g. motor).
Details of extended modules or libraries are not required.

Topic Learning Outcomes Remarks
• Use event handlers in writing event-driven programs.
Specific events include user actions (e.g. pressing a button) and sensor values (e.g. the reading from the light sensor is over a defined value).
Details of event handlers are not required.
• Construct simple programs on physical devices by using features/components of physical devices like speech recognition and accelerometer.
Examples include generating a text display by speech recognition, controlling the movement of motors and detecting motion by accelerometer.