Week 1First TermMonday 7 September 2026 to Friday 11 September 2026

Senior Review and Computational Problem Solving

Senior-Level Review; Computational Thinking and the Four Pillars; Problem Analysis and Drafting a Requirements Document; CIA Triad: Confidentiality, Integrity and Availability

Print lesson pack
On this page7 sections
  1. 01Learning Objectives
  2. 02Senior-Level Review
  3. 03Computational Thinking and the Four Pillars
  4. 04Problem Analysis and Drafting a Requirements Document
  5. 05CIA Triad: Confidentiality, Integrity and Availability
  6. 06Practical Work
  7. 07Scenario-Based Questions

Learning Objectives

  • Describe computational thinking and its four pillars.
  • Analyse a problem and draft a requirements document.
  • Explain the CIA triad in a digital system.
  • Apply a structured approach to a senior-level problem.

Senior-Level Review

Before coding, engineers analyse the problem and the users. SS3 is a capstone year that combines SS1 and SS2 skills into one goal, engineering a secure digital solution.

SS2 skills feed problem solving. Programming and algorithms write the logic that turns inputs into outputs. Productivity tools handle documentation and data. HTML/CSS and web build user interfaces. Networking and cloud deliver and host the solution. Cybersecurity keeps data safe. Databases store and retrieve data.

An algorithm is a clear, step-by-step set of instructions, represented with pseudocode or flowcharts. A data model describes input, processing and output.

Computational Thinking and the Four Pillars

Computational thinking solves problems by drawing on concepts fundamental to computer science. It is a thinking skill, not just a coding skill.

Decomposition splits a problem into smaller, easier parts. Pattern recognition lets us reuse solutions for similar problems. Abstraction removes unnecessary detail. Algorithmic thinking designs a reliable sequence of steps.

Problem Analysis and Drafting a Requirements Document

A problem is the difficulty to overcome. A requirement states what the solution must do. A solution is the actual product. Jumping to a solution before defining the problem is a serious mistake.

A requirements document records the problem, users, requirements, inputs, processing, outputs, constraints and security. Its standard sections are title, problem statement, users, functional and non-functional requirements, data flow, constraints, and security and data protection.

CIA Triad: Confidentiality, Integrity and Availability

When engineering a secure digital solution, security must be designed in from the start, not added later. The CIA triad is a model used by security professionals to ensure that digital systems protect data properly. It stands for Confidentiality, Integrity and Availability. Every requirement document should consider all three.

Confidentiality means ensuring that only authorised people can access specific data or systems. Unauthorised access must be prevented. Controls include passwords, encryption, access control lists, multi-factor authentication and the principle of least privilege (users get only the minimum access they need). A breach of confidentiality is when private data is exposed to unauthorised people - for example, a student's grades being visible to all students instead of only the student and teacher.

Integrity means ensuring that data is accurate, complete and trustworthy. Data must not be altered by unauthorised people or by system errors. Controls include checksums and hashing (to detect tampering), version control, audit logs that record who changed what, and regular backups. A breach of integrity is when data is silently corrupted or modified - for example, a grade being changed from 85 to 90 without anyone authorising the change.

Availability means ensuring that authorised users can access the data and systems they need when they need them. Systems must be reliable and resilient. Controls include redundant servers and power supplies, regular maintenance and updates, backup systems, and protection against denial-of-service attacks. A breach of availability is when a system goes down and users cannot access it - for example, a school exam portal crashing on exam day.

The three elements sometimes trade off against each other. For example, making a system very secure (strong confidentiality) might slow down access (reducing availability). A good engineer balances all three based on the needs of the system - a hospital database needs all three at high levels, while a public news site prioritises availability.

When drafting a requirements document, the engineer should include security requirements that address confidentiality, integrity and availability. For example, "student grades must be visible only to the student and their teachers" (confidentiality), "grades must not be changeable without administrative approval" (integrity), and "the system must be accessible 99% of school hours" (availability).

PillarMeaningEveryday example
DecompositionBreaking a big problem into smaller partsPlanning a birthday party, venue, guests, food, games
Pattern recognitionSpotting similarities or repeated patternsNoticing that monthly bills follow the same steps
AbstractionFocusing on what matters, ignoring the restA map ignoring trees but keeping roads
Algorithmic thinkingDesigning step-by-step instructionsWriting down the steps to make a cup of tea
ElementDefinitionExample
Problem statementA clear description of the problemFarmers cannot quickly learn current crop prices
Users and stakeholdersWho is affected or will use the solutionFarmers, market traders, extension officers
RequirementsWhat the solution must doShow current prices, alert on price changes
InputsData the solution receivesCrop type, location, market, current price
ProcessingWhat is done to the dataMatch crop to market, detect price changes
OutputsThe result producedA price alert or price list
DataWhat is storedCrops, markets, prices, user alerts

Practical Work

  1. Decompose a school problem into smaller parts.
  2. Draft a short requirements document for a small system.
  3. Give one example each of confidentiality, integrity and availability.
  4. Explain how abstraction helps solve a problem.

Scenario-Based Questions

  1. A teaching hospital wants to build a system that tracks patient records, appointment schedules and drug inventory. Before writing any code, the project team must produce a requirements document. Identify the users, state the problem, list five functional requirements and explain how the CIA triad (confidentiality, integrity, availability) applies to patient records.
  2. A school principal asks a programmer to build a lost-and-found web app. The programmer starts writing HTML forms immediately without analysing the problem. Using the concept of problem analysis and systems thinking, explain why jumping to code is a mistake and describe three steps the programmer should take first.
  3. A farmer needs a mobile app that shows current crop prices across several markets. Decompose this problem into at least four smaller sub-problems and describe how pattern recognition and abstraction help the programmer design the app efficiently.
  4. An online examination portal must guarantee that only registered students can log in, that answers cannot be changed after submission, and that the portal remains accessible during the exam. For each of the three CIA properties, explain what it means for this system and give one concrete safeguard.
  5. A bank wants to automate its loan approval process. The manager provides a vague request: 'Make it faster.' Explain how the difference between a problem statement, a requirement and a solution prevents misunderstandings, and draft a one-sentence problem statement for this project.
  6. A programmer is designing a timetable generator for a school with 20 classes, 50 teachers and 30 classrooms. Show how algorithmic thinking turns this into a clear sequence of steps, and explain why abstraction is necessary when many real-world constraints (teacher breaks, room sizes) must be simplified.
  7. Two schools in different states want the same student database system but with different grading scales. Explain how decomposition lets one programmer build a reusable solution for both schools rather than starting from scratch twice.