Madras College

Computing - Higher

Overview

The Course enables pupils to develop and extend knowledge and understanding of key computing concepts, processes and computing technologies. It also enables pupils to develop a range of computational thinking skills, including skills in analysis and problem-solving, design and modelling, developing, implementing and testing digital solutions, across a range of contemporary contexts. The theory of the course is extensively supported through practical tasks which are designed to exemplify the key concepts.

 

Course Content 

There are four units in this course and these articulate with and develop on the units studied in National 5:


Software Design and Development

Pupils develop knowledge and understanding of advanced concepts and practical problem-solving skills in software design and development. They do this by using appropriate modular software development environments. Pupils develop modular programming and computational-thinking skills by analysing, designing, implementing, testing, and evaluating practical solutions and explaining how these programs work. They use their knowledge of data types and constructs to create efficient programs to solve advanced problems. In Madras, our main programming language is Python. Unit Content includes:


Development process: analysis, design, implementation, testing, documentation, evaluation, maintenance.

Design methodologies: Traditional Waterfall method versus Agile.

Analyse the requirements of a problem in terms of purpose, scope, boundaries, functional requirements in terms of: inputs, processes, outputs.

Design notations: Design of user interfaces using annotated wireframes. Top down design of program structure using pseudocode and structure diagrams and showing data flow.

Data structures: parallel arrays, records and arrays of records.

Computational constructs: sub-programs, built-in functions for string handling and modulus, user-defined functions, scope - local and global variables, parameter passing and sequential files (open/create, read, write, close, delete).

Standard Algorithms: linear search, find maximum and minimum, count occurrences.

Testing: dry runs, trace tables, break points, watchpoints and constructing test cases.

Error types: syntax, execution and logic errors.

Evaluation: fitness for purpose, efficiency of coding constructs, usability, robustness, maintainability.


Computer Systems

Pupils develop their understanding of how data and instructions are stored in binary form and factors affecting system performance. They gain an awareness of the environmental impact of intelligent systems, as well as the security risks, precautions and laws that can protect computer systems. Unit Content includes:

Data Representation: binary for positive and negative integers using two's complement, converting decimal numbers to floating point representation with sign bit, mantissa and twos complement exponent, ASCII and UNICODE, vector graphic versus bit mapped graphic - relative advantages/disadvantages.

Computer Structure: Describe the concept of the fetch-execute cycle referring to processor (registers, ALU, control unit), memory addresses and buses (data, address and control).

Describe the factors affecting computer system performance: number of processors (cores), width of data bus , cache memory and clock speed.

Environmental Impact of intelligent systems: heating systems, traffic control, car management systems

Security Precautions: Implications of Computer Misuse Act, security risks - Cookies and Denial of Service and Encryption - use of public and private keys, digital certificates, digital signatures.

 
Database Design and Development

Pupils develop knowledge, understanding and advanced practical problem-solving skills in database design and development. They do this through a range of practical tasks, using a minimum of three linked tables and implemented in SQL. Pupils apply computational- thinking skills to analyse, design, implement, test, and evaluate practical solutions, using a range of development tools. Pupils apply interpretation skills to tasks involving some complex features in both familiar and new contexts. Unit Content includes:

Analysis: Identify the end-user and functional requirements of a database problem.

Design: Entity-relationship diagrams and data dictionaries with three or more entities, entity occurrence diagrams, compound keys and design of queries with grouping and calculations.

Implementation: SQL operations for relational databases, with three or more linked tables: UPDATE, SELECT, DELETE and INSERT statement. SQL statements that use wildcards, aggregate functions (MIN, MAX, AVG, SUM, COUNT), computed values and aliases, clauses using GROUP BY, ORDER BY, WHERE

relational databases with two linked tables, SQL code to access and manipulate database.

Testing: Check SQL operations work correctly.

Evaluating: Evaluate solution in terms of fitness for purpose and accuracy of output.


Web Design and Development

Pupils develop knowledge, understanding and advanced practical problem-solving skills in web design and development. They do this through a range of practical and investigative tasks. Pupils apply computational-thinking skills to analyse, design, implement, test, and evaluate practical solutions to web-based problems, using a range of development tools including HTML, Cascading Style Sheets (CSS) and JavaScript. Pupils apply interpretation skills to tasks involving some complex features in both familiar and new contexts. Unit Content includes:

Analysis: Identify the end-user and functional requirements of a website problem.

Design: Effective user-interface design using wire-framing showing horizontal navigational bar, relative horizontal and vertical positioning of the media, form inputs, file formats of the media.

Implementation (HTML):