Você está na página 1de 12

COMPUTING

HIGHER 2 (Syllabus 9754)


[For School Candidates Only]

CONTENTS
Page

PREAMBLE AIMS OF SYLLABUS STRUCTURE OF SYLLABUS OBJECTIVES OF ASSESSMENT SCHEME OF ASSESSMENT WEIGHTING OF ASSESSMENT PRACTICAL COURSEWORK SUGGESTED SCHEDULE SYLLABUS CONTENT AND LEARNING OUTCOMES

1 1 2 2 3 3 3 4 5

9754 H2 COMPUTING (2012)

PREAMBLE
This syllabus defines in five modules all the topics to be taught at H2 level. It is intended for the candidate who desires to learn problem-solving techniques and the design of computer solutions in a rigorous way, and is self-motivated and capable of working with less direct supervision. The syllabus emphasises problem-solving methodologies, algorithm designs and developments, data structures and computer-programming skills. The intention is to provide sufficient depth in these topics to enable candidates to achieve better understanding of problem solving using computers, and to prepare candidates for entry into the computer science courses in the universities. Besides the written papers, lab-based examinations are included as part of the assessment requirements for the study. The lab-based examinations will test the candidates ability to develop computer-programming solutions for a series of programming tasks of varying complexity. The modules in the syllabus are grouped to reflect two main categories: the first on problem solving via a programming solution and the second on general computer science concepts and applications. Thus, Modules 13 collectively focus on programming concepts, strategies and techniques; and the application of these toward the development of programming solutions. An integrated approach is encouraged in the teaching and learning of these modules. Modules 45 focus on a foundational study of general computer science concepts and applications; and offer the flexibility of encompassing awareness of the state-of-the-art technological developments in the respective areas of learning. The syllabus is about developing skills to learn new technology, grasping the concepts and issues behind its use; and the use of computers in commercial and data processing applications, monitoring and control, and the Internet, as well as solving engineering and scientific problems. It aims to provide technology-oriented students with the knowledge and ability to develop creative solutions, and better understand the effects of future developments of computer systems and technology on people and society.

AIMS OF SYLLABUS
This course of study aims to: 1. develop an understanding of the methods of problem formulation, and the planning of solutions, including practical skills in applying these methods; 2. develop an understanding and practical experience of the principles and techniques of algorithm selection and design; 3. promote an understanding of the use of computers in a variety of disciplines and contexts; 4. provide the basic concepts and skills of computer science that would serve as a basis for understanding, integrating and utilising new technologies; 5. develop an awareness, of the limitations and misuse of computer technology, that would enable appropriate decisions in solving problems and assessing the impact on society.

9754 H2 COMPUTING (2012)

STRUCTURE OF SYLLABUS
The syllabus consists of the following modules: Module 1 Development of Computer Solutions This module covers the principles, strategies, techniques and tools relating to the formulation of a programming problem and the planning of its solution. The study of these topics is reinforced through practical work. Module 2 Programming Concepts This module covers analytical and computer-programming skills required to use computers for problem solving. Candidates should be able to explain the importance of reliability, clarity and efficiency in software development. Module 3 Algorithms and Design This module covers the principles and techniques of algorithm design and development through the study of standard and advanced algorithms. Practical work will illustrate the importance of adopting a systematic approach to algorithm design and programming. Module 4 Data Management This module covers the principles and standard methods of organising and representing data for storage and processing by computers to suit the needs of applications. The emphasis of this module will be on the concepts, skills and processes necessary when using databases or files in a problem situation or application. Module 5 Computer Systems This module provides a fundamental coverage of the major software and hardware elements of computer systems, as well as a variety of computer applications. Candidates should be able to comment sensibly on any suggested application, the benefits and economic reasons for its use, and its limitations.

OBJECTIVES OF ASSESSMENT
1. Knowledge with understanding Candidates should be able to demonstrate knowledge and understanding of 1.1 1.2 1.3 1.4 1.5 2. problem solving methodology concepts and techniques in programming principles and techniques of algorithm design definition, representation and manipulation of basic data structures applications of computers and their impact on people and organisations

Practical skills and experience Candidates should be able to demonstrate practical skills and experience in 2.1 2.2 2.3 2.4 problem analysis and formulation problem solving through computer programming designing, testing and evaluating computer solutions organising and presenting ideas/solutions clearly

9754 H2 COMPUTING (2012)

SCHEME OF ASSESSMENT
Candidates will offer three papers as follows: 1 Paper 1 (Written, 3 hours) The Paper comprises 68 compulsory questions to cover the entire syllabus and assess objectives 1.1 to 1.5. Questions are structured and involve problem solving. These are based on basic concepts and skills, as well as application of these concepts and skills. The Paper carries 40% of the total marks. Paper 2 (Written, 2 hours) The Paper comprises 68 compulsory questions to cover the entire syllabus, through one or more applications or scenarios described in the question paper. Questions are structured and involve problem solving besides basic concepts and skills; and application of knowledge and skills. The Paper carries 35% of the total marks and assesses objectives 1.1 to 1.5. Paper 3 (Practical coursework, 12 hours) The Paper consists of 1 programming assignment to be completed in 12 hours over 46 weeks of curriculum time. The coursework is divided into 3 parts. Part A (2 hours, 20 marks) begins with a description of the problem situation or application and the required tasks to be performed. Candidates could be tested on their ability to either plan and design a solution for a described problem situation or application, prepare and justify the use of test data, or write programs to create/read data from input files and generate output. Part B (8 hours, 40 marks) tests the candidates ability to produce program codes necessary to solve the problems and in accordance with the task specifications. The program codes could include object-oriented features and candidates are allowed to complete this part over a few lab sessions. Part C (2 hours, 20 marks) could test the candidates ability to enhance his own work done in earlier lab sessions, make changes to the program codes due to a given change in the problem situation or application, or prepare a technical document on the solution to the described problem or application. The Paper carries 80 marks, contributes to 25% of the total marks for the subject, and assesses objectives 2.1 to 2.4.

WEIGHTING OF ASSESSMENT
The scheme of examination papers is summarised below: Paper 1 2 3 Mode Written Written Practical coursework Duration 3h 2 h 12 h Weighting 40% 35% 25% Marks 120 100 80 No of Questions 68 68 1 Modules Assessed 15 15 14

PRACTICAL COURSEWORK
The practical coursework assessment consists of one programming assignment based on a described problem situation or application. The rationale of conducting the programming assignment over a period of 46 weeks is to give sufficient emphasis to the development of computer programs to solve problems or parts of problems, a skill fundamental and integral to the study of Computing. Programming language software will be used for the representation and execution of the computerprogramming solutions. The programming assignment also emphasises the design issues that make program codes understandable and reusable (where appropriate), so that program codes could be easily maintained and enhanced.

9754 H2 COMPUTING (2012)

Candidates will be required to apply concepts and skills covered in Syllabus Modules 14. The assessment is conducted in the computer laboratories, under the supervision of subject teachers. Candidates will be allowed to refer to the on-line help feature of the programming language software as well as an approved reference guide on the syntax of the programming language used. Each candidate will require access to a microcomputer system comprising a keyboard, mouse, processor, visual display unit, hard disk and disk drive. The examination centres will ensure that the programming language software in which the candidates have been trained is properly installed in the computer ready for use. Candidates will be required to save their work and to submit both softcopies and hardcopies of their work.

SUGGESTED SCHEDULE
The course of study and assessment covers 300 hours of lectures, tutorials and practical work over 2 years. Teachers may use the following table as a guide for implementing the course. The number of hours for coding, executing and testing of programs and the planning, designing and writing of algorithms is fixed at about 40% of the total curriculum hours for the syllabus. This should work out to 2 hours per week of working in the lab. Module 1 2 3 4 5 Topic Lecture Development of Computer Solutions Programming Concepts Algorithms and Design Data Management Computer Systems Coursework TOTAL 141 69 27 30 30 27 27 Number of hours Tutorial 12 15 18 12 12 Practical -30 30 18 -12 90

9754 H2 COMPUTING (2012)

SYLLABUS CONTENT
Module 1 Development of Computer Solutions This module covers the principles, strategies, techniques and tools relating to the formulation of a programming problem and the planning of its solution. The module is sub-divided into 4 topics and the study of these topics is reinforced through practical work: Problem identification and analysis Formulation of programming solution Development of programming solution Execution and evaluation of programming solution LEARNING OUTCOMES 1.1 Problem Identification and Analysis Students should be able to demonstrate the skills of background analysis and investigation of a problem demonstrate the skills of identifying a problem and giving a clear and systematic statement of the problem demonstrate an understanding of the importance of formulating a problem precisely define data involved in a program define the processes involved in a programming solution specify input and output requirements give specification of appropriate interface and user interaction discuss computer solutions for different aspects of a problem situation Formulation of Programming Solution Students should be able to set the scope of the solution demonstrate the use of top-down analysis and modular approach in formulating a solution determine the flow of information and data in the solution use appropriate forms (data flow diagrams, block diagrams, decision tables, decision trees or pseudocodes) to describe solutions select appropriate programming strategies and techniques, data structures, file organisations and access, software tools and hardware, and programming support environments explain design advantages in structured and modular programming Development of Programming Solution Students should be able to use clearly documented subprograms to effectively organise large programs develop a program systematically using the techniques of top-down design and modular programming

1.1.1 1.1.2

1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.2

1.2.1 1.2.2 1.2.3 1.2.4

1.2.5

1.2.6 1.3

1.3.1 1.3.2

9754 H2 COMPUTING (2012)

1.3.3

demonstrate skills in enhancing the clarity of the programming solution through the efficient use of modules, comments, indentation, and meaningful variable, parameter and procedure names explain the importance of reliability, clarity and efficiency in program development Execution and Evaluation of Programming Solution Students should be able to give a reasoned and critical evaluation of the solution to a problem describe the types of program errors: semantic, syntax, logic and arithmetic explain why these errors occur design a test plan using different testing strategies such as bottom-up testing, top-down testing, white box testing, black box testing, alpha and beta testing design test data: normal, extreme and erroneous; and explain the purpose of the test data show knowledge of debugging techniques

1.3.4 1.4

1.4.1 1.4.2 1.4.3 1.4.4

1.4.5 1.4.6

Module 2 Programming Concepts This module covers analytical and computer-programming skills required to use computers for problem solving. Candidates should be able to explain the importance of reliability, clarity and efficiency in software development. The necessary programming concepts and skills are to be covered under: Fundamental language elements Object-oriented elements LEARNING OUTCOMES 2.1 Fundamental Language Elements Students should be able to demonstrate an understanding of the definition of a programming language using syntax diagrams and Backus-Naur Form (BNF) show an understanding of elementary data types: integer, real number (floating point and fixed point), character and logical (Boolean), and their associated operations (arithmetic, concatenation, relational and logical) demonstrate an understanding of ASCII character codes declare appropriate data types for variables in programming explain the need for a variety of data types use assignments in programming use constants, variables, operators, relational and logical expressions and annotation in programming demonstrate ability to define and use new data types use input, output, conditional (if-then-else), selection (case-of-endcase), and iteration (for-to-next, while-do, and repeat-until) constructs in programming

2.1.1

2.1.2

2.1.3 2.1.4 2.1.5 2.1.6 2.1.7

2.1.8 2.1.9

9754 H2 COMPUTING (2012)

2.1.10 effectively use subroutines, procedures, functions and library routines in programming 2.1.11 show an understanding of local and global variables, and the need for passing parameters (pass-by-value and pass-by-reference) 2.1.12 use composite data types: array and record; and input/output files in programming 2.1.13 use pointers and dynamic structures such as lists 2.2 Object-Oriented Elements Students should be able to give a specification of a class implement classes given their class specifications show an understanding of the concept of classes and objects, and their use in programming define new classes by giving a class specification show an understanding of the concept of inheritance (that is, creating new classes from existing classes) explain the difference between classes and elementary data types show an understanding of the concept of encapsulation and information/data hiding demonstrate an understanding of the notation for data abstraction demonstrate how classes support information hiding and implementation independence

2.2.1 2.2.2 2.2.3 2.2.4 2.2.5

2.2.6 2.2.7 2.2.8 2.2.9

2.2.10 use inheritance in object design and implementation 2.2.11 explain how inheritance promotes software reuse 2.2.12 show an understanding of the basic concept of polymorphic data types 2.2.13 use method and operator overloading in polymorphic data types

Module 3 Algorithms and Design This module covers the principles and techniques of algorithm design and development through the study of standard and advanced algorithms. Practical work will illustrate the importance of adopting a systematic approach to algorithm design and programming. The topics to be covered are: Algorithm design Fundamental algorithms Advanced algorithms and abstract data types LEARNING OUTCOMES 3.1 Algorithm Design Students should be able to use a suitable pseudocode notation to describe algorithms translate a solution specification into an algorithm expressed in pseudocode notation trace (walk through), test and evaluate an algorithm expressed in pseudocode notation

3.1.1 3.1.2 3.1.3

9754 H2 COMPUTING (2012)

3.1.4

translate an algorithm expressed in pseudocode notation into programs in an appropriate programming language Fundamental Algorithms Students should be able to understand and implement algorithms for solving simple problems that involve summing, counting, finding the minimum and maximum of an array, and random number generation understand and implement algorithms for bubble sort, insertion sort and quick sort discuss the efficiency of these sort algorithms and appropriate circumstances for their use understand and implement algorithms for sequential search, binary search and hash table search discuss the efficiency of these search algorithms and appropriate circumstances for their use understand and implement common algorithms such as check digit calculation, date validation, and range and type checks explain the difference between data verification and data validation show an understanding of the concept of recursion understand and explain simple recursive algorithms Advanced Algorithms and Abstract Data Types Students should be able to show an understanding of homogeneous data type (e.g. array) and heterogeneous data type (e.g. record) and relate the choice of type to given application requirements demonstrate an ability to implement and maintain common data structures: array, linked list (with pointers) and binary tree show an understanding of static and dynamic implementation of data structures, and relate the choice of implementation to given application requirements describe algorithms for the insertion and deletion of data items in linked list, stack, queue and binary tree understand and implement algorithms for pre-order, in-order, and post-order traversals of binary trees show an understanding of the abstract data types (ADT) consisting of both data types and associated operations demonstrate an ability to specify commonly used ADTs: list, stack, queue, and binary tree; and write out the data definition and the specification of the operations/methods demonstrate an understanding of the independence of implementation decisions from specification of ADTs implement a given ADT using common data structures

3.2

3.2.1

3.2.2 3.2.3 3.2.4

3.2.5 3.2.6

3.2.7 3.2.8 3.2.9 3.3

3.3.1

3.3.2

3.3.3

3.3.4

3.3.5

3.3.6

3.3.7

3.3.8

3.3.9

3.3.10 implement a stack and a queue ADT by reusing a list ADT, as an example of software reuse 3.3.11 use ADTs appropriately in their programs

9754 H2 COMPUTING (2012)

Module 4 Data Management This module covers the principles and standard methods of organising and representing data for storage and processing by computers to suit the needs of applications. The emphasis of this module will be on the concepts, skills and processes necessary when using databases or files in a problem situation or application. This module is thus sub-divided into 2 areas: Relational databases File organisation and access LEARNING OUTCOMES 4.1 Relational Databases Students should be able to explain data consistency, data redundancy, and data independence demonstrate an understanding of a database as a set of files related through common fields and the use of ER diagrams query a database based on a given set of criteria explain the purpose of a database management system (DBMS), query languages, report generators, and generators for input and display screens demonstrate an awareness of the need to avoid replication of data and the advantages that using a database gives over flat files File Organisation and File Access Students should be able to demonstrate knowledge of fixed- and variable-length records with counts or terminators demonstrate an understanding of the nature of files and their uses demonstrate knowledge of various methods of organising records in files: serial, sequential, random; and the use of overflow areas relate the choice of particular methods to given applications demonstrate knowledge of different methods of file access: serial, sequential, direct, and by use of hashing create files; add items to, amend items in, and delete items from files demonstrate knowledge of merging sequential files

4.1.1 4.1.2

4.1.3 4.1.4

4.1.5

4.2

4.2.1 4.2.2 4.2.3

4.2.4 4.2.5

4.2.6 4.2.7

9754 H2 COMPUTING (2012)

Module 5 Computer Systems This module provides a fundamental coverage of the major software and hardware elements of computer systems, as well as a variety of computer applications. Candidates should be able to comment sensibly on any suggested application, the benefits and economic reasons for its use, and its limitations. The following topics are covered in this module: Computer system fundamentals Network fundamentals Impact and implications LEARNING OUTCOMES 5.1 Computer System Fundamentals Students should be able to demonstrate an understanding of the purpose of the elements (a central processor unit, a control unit, an arithmetic and logic unit, a memory data register, a memory address register, an instruction register, a program counter and an accumulator) involved with/in a computer processor show an awareness of the characteristics and roles of a central processor unit, a control unit, an arithmetic and logic unit, buses, and the microprocessor show awareness of more than one type of processor (processors in computers and other devices) and the meaning of cycle time show an awareness of the general characteristics and uses of primary memory, secondary storage, and cache memory relate the choice of input devices (e.g. keyboard/keypad, optical-character reader, magneticink-character reader, plotter, scanner, bar-code reader, touch screen, mouse, tablet, data logger, automatic sensors that respond to changes in light intensity, pressure, resistance and temperature), output devices (e.g. visual display unit/monitor and printer) and processors to given applications understand that an operating system is software; and explain its role in process management, memory management, file management and resource management (Only general descriptions of the functions and purposes are expected. Detailed explanations of technical operations and algorithms are not required.) explain the need for and describe the main characteristics of different operating systems (batch, single-user, multi-user, single-tasking, multi-tasking, standalone and distributed) for different environments explain the need for and use of some common software utilities such as data compressors and virus checkers Network Fundamentals Students should be able to show an awareness of the hardware and software for a network explain the different purposes of servers, clients, switches, routers, and bridges explain the need for standard protocols within a network and among networks describe the characteristics of a local area network (LAN) and wide area network (WAN) describe basic network topologies (bus, star and ring) and explain the advantages and disadvantages of each topology

5.1.1

5.1.2

5.1.3

5.1.4

5.1.5

5.1.6

5.1.7

5.1.8

5.2

5.2.1 5.2.2 5.2.3 5.2.4 5.2.5

10

9754 H2 COMPUTING (2012)

5.2.6 5.2.7 5.2.8 5.2.9

demonstrate an understanding that errors can occur in data transmission explain the use of parity checks and check sums in detecting and correcting these errors know that the Internet is a large network made up of a number of smaller networks use and describe the applications available on the Internet

5.2.10 describe and explain the use of intranets by organisations 5.3 Impact and Implications Students should be able to explain the social, ethical and economic effects of the use of computers on people and organisations demonstrate an understanding of computer applications and types of systems (batch, on-line, and real-time) involved in commercial and data processing, monitoring and control, and the Internet show awareness of the need for privacy and integrity of data show awareness of computer crimes and viruses describe methods of ensuring security of computer systems explain the difference between backups and archives explain the consequences of system failure describe measures to limit the effects of failure on computer systems demonstrate knowledge of network security for net-based applications

5.3.1

5.3.2

5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.3.8 5.3.9

11

Você também pode gostar