SQA Higher Computing Science · Course code C816 76

The official course specification, made readable.

This page turns the official SQA specification into a parent and pupil friendly checklist: what is taught, what can be assessed, and how the final grade is built.

Source and copyright

Content is based on the SQA Higher Computing Science Course Specification, May 2023, version 3.0.

SQA is acknowledged as the source. This page is for non-commercial learning and teaching support.

View the official SQA PDF

At a glance

Level
6
SCQF level 6, worth 24 SCQF credit points.
Total marks
120
80 from the question paper and 40 from the assignment.
Exam time
2h
The question paper is sat under SQA exam conditions.
Assignment
6h
Open-book, supervised work completed after the course content is taught.

Higher Computing Science is about using computational thinking to understand problems, design digital solutions, build them, test them, and explain clearly how they work. Pupils learn core Software Design and Development and Computer Systems content, then answer either Database Design and Development or Web Design and Development in the option section of the exam and assignment.

Assessment

Question paper
80 marks · 67% of the course award · 2 hours
55
Section 1: Software Design and Development plus Computer Systems. This section is mandatory.
25
Section 2: Database Design and Development. Pupils answer this if they choose the database option.
25
Section 3: Web Design and Development. Pupils answer this if they choose the web option.

The paper uses short stand-alone questions and longer context questions. Pupils are expected to apply knowledge, explain decisions, design solutions, read code, write code, and evaluate solutions.

Assignment
40 marks · 33% of the course award · 6 supervised hours
25
Task 1: Software Design and Development. This task is mandatory.
15
Task 2: Database Design and Development, if the database option is chosen.
15
Task 3: Web Design and Development, if the web option is chosen.

The assignment is open book, but supervised. Pupils may use notes, textbooks, manuals and programs they have written during the course. Once submitted, it cannot be returned for improvement.

Plain English version

The final grade comes from the total mark across both assessments. A strong pupil needs secure theory knowledge, practical coding skill, and the ability to explain choices clearly.

Software Design and Development

Python, problem solving, program design and testing

This is the largest part of the course. Pupils learn how software is planned, written, tested, debugged and evaluated.

Mandatory

Development methodologies

How software projects are organised and improved over time.

  • Describe and compare the iterative development process.
  • Describe and compare agile methodologies.

Analysis

Working out what the problem is before trying to solve it.

  • Identify the purpose of a problem.
  • Identify the scope and boundaries of a problem.
  • Identify functional requirements.
  • Analyse inputs, processes and outputs for problems at this level.

Design

Planning a solution so that the program can be built sensibly.

  • Identify the data types and data structures needed for a problem.
  • Read and understand structure diagrams.
  • Read and understand pseudocode.
  • Create efficient designs showing top-level design, data flow and refinements.
  • Describe, exemplify and implement user-interface design using wireframes for input and output.

Implementation: data structures

The ways programs store and organise data.

  • Parallel one-dimensional arrays.
  • Records.
  • Arrays of records.

Implementation: constructs

The programming techniques pupils must be able to use and explain.

  • Parameter passing, including formal and actual parameters.
  • Scope of local and global variables.
  • Sub-programs or routines identified by name and arguments.
  • Functions and procedures.
  • Pre-defined functions for substrings.
  • Pre-defined functions for character-to-ASCII and ASCII-to-character conversion.
  • Pre-defined functions for converting floating-point numbers to integers.
  • Modulus.
  • Sequential CSV and text file handling: open, create, read, write and close.
  • Read and explain code that uses these constructs.

Standard algorithms

Common patterns that solve repeated programming problems.

  • Linear search using one-dimensional arrays or arrays of records.
  • Find minimum and maximum values.
  • Count occurrences.

Testing and debugging

Checking that a program works and finding the cause when it does not.

  • Describe, exemplify and implement a comprehensive final test plan.
  • Show that functional requirements are met.
  • Identify syntax errors, execution errors and logic errors.
  • Use dry runs.
  • Use trace tables or trace tools.
  • Use breakpoints.
  • Use watchpoints.

Evaluation

Judging the quality of the finished solution.

  • Evaluate fitness for purpose.
  • Evaluate efficient use of coding constructs.
  • Evaluate usability.
  • Evaluate maintainability.
  • Evaluate robustness.

Computer Systems

Data representation, hardware, security and impact

This unit explains how computers store data, how processors work, what affects performance, and how systems are protected.

Mandatory

Data representation

How different kinds of information are stored by a computer.

  • Use binary to represent positive integers.
  • Use two's complement to represent negative integers.
  • Explain the range of values available with a fixed number of bits.
  • Convert two's complement numbers from binary to denary.
  • Convert denary numbers to two's complement binary.
  • Explain floating-point representation of positive and negative real numbers.
  • Use the terms mantissa and exponent.
  • Explain how mantissa bits and exponent bits affect range and precision.
  • Explain Unicode and its advantage over 8-bit extended ASCII in terms of number of characters.
  • Compare the advantages and disadvantages of bitmap graphics and vector graphics.

Computer structure

How the processor carries out instructions and what affects speed.

  • Describe the fetch-execute cycle.
  • Explain how the number of processors or cores affects performance.
  • Explain how data bus width affects performance.
  • Explain how cache memory affects performance.
  • Explain how clock speed affects performance.

Environmental impact

How intelligent systems can affect energy use and the wider environment.

  • Describe environmental impacts of intelligent heating systems.
  • Describe environmental impacts of intelligent traffic control.
  • Describe environmental impacts of car management systems.

Security risks and precautions

Legal responsibilities, common attacks and methods used to secure data.

  • Describe implications of unauthorised access to computer material under the Computer Misuse Act 1990.
  • Describe implications of unauthorised access with intent to commit a further offence.
  • Describe implications of unauthorised modification of programs or data.
  • Describe and identify security risks from tracking cookies.
  • Describe Denial of Service attack symptoms, including slow performance and inability to access services.
  • Describe Denial of Service effects, including disruption to users and businesses.
  • Describe Denial of Service costs, including lost revenue and labour in rectifying faults.
  • Describe Denial of Service fault types: bandwidth consumption, resource starvation and DNS attacks.
  • Describe reasons for Denial of Service attacks: financial, political and personal.
  • Explain how encryption secures data transmission.
  • Explain public and private keys.
  • Explain digital certificates.
  • Explain digital signatures.

Database Design and Development

Relational database design and SQL

Pupils work with relational databases of at least three linked tables, designing structures and writing SQL.

Option section

Analysis

Understanding what the database is for and what users need it to do.

  • Identify the end-user requirements of a database problem.
  • Identify the functional requirements of a database problem.

Design: ER modelling

Planning database tables and the relationships between them.

  • Describe and exemplify entity-relationship diagrams with three or more entities.
  • Show entity names.
  • Show attributes.
  • Show relationship names.
  • Show cardinality: one-to-one, one-to-many and many-to-many.
  • Describe and exemplify an instance using an entity-occurrence diagram.
  • Describe and exemplify a compound key.

Design: data dictionaries

Documenting database tables clearly enough to build and test them.

  • Create data dictionaries with three or more entities.
  • Record entity names and attribute names.
  • Identify primary keys and foreign keys.
  • Use attribute types: text, number, date, time and Boolean.
  • Record attribute size.
  • Use validation: presence check, restricted choice, field length and range.

Design: queries

Planning what information should be retrieved or calculated.

  • Design a solution to a query using tables and queries.
  • Identify fields.
  • Set search criteria.
  • Set sort order.
  • Use calculations.
  • Use grouping.

Implementation: SQL

Writing and understanding SQL for pre-populated relational databases.

  • Use SELECT statements.
  • Use INSERT statements.
  • Use UPDATE statements.
  • Use DELETE statements.
  • Use wildcards.
  • Use aggregate functions: MIN, MAX, AVG, SUM and COUNT.
  • Use computed values and aliases.
  • Use GROUP BY.
  • Use ORDER BY.
  • Use WHERE.
  • Read and explain SQL code using these features.

Testing and evaluation

Checking SQL works and judging the quality of database outputs.

  • Describe and exemplify testing that SQL operations work correctly at this level.
  • Evaluate fitness for purpose.
  • Evaluate accuracy of output.

Web Design and Development

Multi-level websites using HTML, CSS and JavaScript

Pupils analyse, design, prototype, build, test and evaluate websites using the specific web technologies in the Higher course.

Option section

Analysis

Understanding the user and the purpose of the website.

  • Identify end-user requirements of a website problem.
  • Identify functional requirements of a website problem.

Design

Planning site structure, layout and user interaction before building.

  • Describe and exemplify the structure of a multi-level website.
  • Use a home page and two additional levels.
  • Use no more than four pages per level.
  • Design user interfaces using wireframes.
  • Take account of end-user requirements and device type.
  • Design horizontal navigation bars.
  • Design relative horizontal and vertical positioning of media.
  • Design form inputs.
  • Choose suitable file formats for text, graphics, video and audio.
  • Describe, exemplify and implement low-fidelity prototyping from a wireframe design.

Implementation: CSS

Controlling appearance and positioning with the CSS required by the course.

  • Use inline, internal and external CSS.
  • Use grouping selectors.
  • Use descendant selectors.
  • Control display: block, inline and none.
  • Use float: left and right.
  • Use clear: both.
  • Control margins and padding.
  • Control height and width.
  • Create horizontal navigation bars.
  • Use list-style-type: none.
  • Use hover.
  • Read and explain code using these CSS features.

Implementation: HTML

Building the structure of pages and forms.

  • Use nav.
  • Use header.
  • Use footer.
  • Use section.
  • Use main.
  • Use form.
  • Use the id attribute.
  • Use input form elements: text, number, textarea, radio and submit.
  • Use select form elements.
  • Implement form validation for length, presence and range.
  • Read and explain code using these HTML features.

Implementation: JavaScript

Adding simple interaction using functions and mouse events.

  • Describe, exemplify and implement JavaScript functions.
  • Use onmouseover.
  • Use onmouseout.
  • Use onclick.

Testing and evaluation

Checking that the website works for users, devices and browsers.

  • Implement usability testing using personas, test cases and scenarios based on low-fidelity prototypes.
  • Test input validation.
  • Test that the navigation bar works.
  • Test that media content displays correctly.
  • Test compatibility with tablets, smartphones and desktops.
  • Test compatibility with browsers.
  • Evaluate fitness for purpose.
  • Evaluate usability.

Wider skills

The specification also highlights broader skills that are developed through the course. These matter because Computing Science is not just about knowing facts: pupils have to apply ideas, solve problems and explain decisions.

  • Computational thinking across a range of contexts.
  • Analysis of problems with some complex aspects.
  • Designing, implementing, testing and evaluating digital solutions.
  • Programming skill and the ability to read and interpret code.
  • Clear communication using appropriate technical terminology.
  • Understanding legal and environmental impacts of computing technology.
  • Numeracy: number processes and information handling.
  • Employability, enterprise and citizenship through ICT.
  • Thinking skills: applying, analysing and evaluating.