Madras College

Computing - Higher


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):

Implementation (CSS): inline, internal and external stylesheets, grouping and descendant selectors to control appearance and positioning: display(block, inline, none), float (left, right), clear (both), margins/padding and horizontal navigation bars (list-style-type:none, hover).

Implementation (JavaScript): JavaScript functions related to mouse events: onmouseover, onmouseout, onclick.

Testing: Usability testing using personas, test cases and scenarios based on low-fidelity prototypes. Testing of the following: input validation works, navigational bar works, media content displays correctly. Compatibility testing on devices: tablet, smartphone, desktop, browsers.

Evaluation of fitness for purpose and usability.

Entry Requirements

A pass in National 5 Computing at A or B. Anyone wishing to 'crash' the Higher must have a track record as an accomplished learner and should first consult with a Computing teacher.


Pupils have 4 (60 minute) periods of Computing Studies per week.



Homework is issued regularly - typically once a week. This will be less when pupils are undertaking practical assessments and project work in class. Pupils should expect to set aside at least 1 hour minutes for each homework exercise. Most homework will take the form of written exercises to test knowledge and skills and consolidate all learning, including literacy and numeracy.



Pupils will be assessed in the following ways:

Assignment set by SQA (31%)

A set of tasks worth 50 marks in total covering aspects of Design, Analysis, Implementation, Testing and Evaluation in Software Development, Database Development and Web Development. The tasks will be undertaken over 8 periods in class time in March. It will be under exam conditions in class and sent off for marking at SQA.

Question Paper set by SQA (69%)

A written exam is set by the SQA. The paper will consist of 110 marks: 25 marks will consist of short answer questions; 85 marks will consist of extended response questions.



Pupils who pass the Higher course at level A or B can progress to Advanced Higher Computing Science.


Possible career routes

Games Developer, Digital Photographer, Web Designer, Database Designer, Forensic Analysis, Electrical Engineer Programmer, Computer Technician, Systems Analyst, Social Network Manager, Computer Animator, Microprocessor Designer, AntiVirus/Malware Designer, Computer Security Consultant (Ethical Hacker).