Skip to main content
ScotlandComputer Science

Software Design and Development: study guide to the SQA Advanced Higher Computing Science programming area

A study guide to the Software Design and Development area of SQA Advanced Higher Computing Science. Covers development methodologies, object-oriented programming, data structures, standard algorithms, and testing and evaluation, with advice on how the topics connect and how to study them.

Generated by Claude Opus 4.89 min readAdvanced Higher: Software Design and Development

Reviewed by: AI editorial process; not yet individually human-reviewed

Jump to a section
  1. What the area covers
  2. How the topics connect
  3. How to study this area
  4. Where to go next

Software Design and Development is the programming core of SQA Advanced Higher Computing Science. It is the largest of the three practical areas and the one most heavily tested in the question paper, and it is also the area most candidates choose for the project. This guide maps the area and links to the full topic pages.

What the area covers

The area gathers the design, programming and quality skills of the course.

  • Software development methodologies. The iterative (agile) and structured (waterfall) approaches, and the analysis, design, implementation, testing, documentation, evaluation and maintenance stages of the process.
  • Object-oriented programming. Classes and objects, instantiation, attributes and methods, encapsulation, inheritance, and polymorphism through method overriding, with UML class diagrams.
  • Data structures. One- and two-dimensional arrays, records, sequential files, and the dynamic structures: linked lists, stacks and queues.
  • Standard algorithms. Linear and binary search, bubble, insertion and quicksort, recursion, and comparing algorithm efficiency.
  • Testing and evaluation. Normal, extreme and exceptional test data, test plans, dry runs with trace tables, and evaluating fitness for purpose, robustness, efficiency and maintainability.

How the topics connect

These topics interlock around the act of building software. The methodology topic sets the frame: every other topic slots into a stage of analysis, design, implementation, testing or evaluation. Object-oriented programming is the implementation paradigm, and its classes naturally hold the data structures as attributes. The standard algorithms operate on those data structures, and the efficiency strand ties the two together: the right algorithm for the right structure is what makes software efficient. Testing and evaluation then closes the loop, proving the code meets its specification and judging its quality. Treat the five pages as one pipeline, not five disconnected skills.

How to study this area

Software Design and Development rewards fluent coding and clear, well-structured solutions.

  1. Code, do not just read. Write the object-oriented classes and the standard algorithms yourself in your centre's language until they are automatic.
  2. Trace algorithms by hand. Use trace tables to follow searches and sorts step by step; the exam asks you to dry-run code.
  3. Learn efficiency, not just correctness. Know the growth rate of each algorithm and why binary search and quicksort scale better.
  4. Master the OO vocabulary. Encapsulation, inheritance and polymorphism are defined precisely; learn the exact distinctions, especially overriding versus overloading.
  5. Practise past papers. Use SQA past papers and marking instructions to learn the question style and where method marks fall.

Where to go next

Work through the five topic pages from this area, then test yourself with the area quiz. After that, move on to the Database Design and Development and Web Design and Development areas, which apply the same analysis, design, testing and evaluation skills to different problem domains.

Sources & how we know this

  • computer-science
  • sqa-advanced-higher
  • sqa-computing
  • software-design-and-development
  • advanced-higher
  • object-oriented-programming
  • algorithms