Sparklabs Learning / Digital Technology
SS 3 First Term
Week 1: Senior Review and Computational Problem Solving
- School
- Creative Brains Academy
- Subject
- Digital Technology
- Pack
- Learner notes
- Prepared
- 7 November 2026
Week index
- 01Senior Review and Computational Problem Solving
- 02Advanced Programming
- 03Functions, Arrays and Data Structures
- 04Object-Oriented Programming
- 05Database Systems
- 06Computer Networks and Internet Technologies
- 07Web Development and Web Design
- 08Software Development Life Cycle
- 09Electronic Commerce
- 10Cyber Security and Emerging Digital Technologies
- 11Revision
- 12Examination
Week 1 / First Term
Senior Review and Computational Problem Solving
Monday 7 September 2026 to Friday 11 September 2026
Lesson notes
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).
| Pillar | Meaning | Everyday example |
|---|---|---|
| Decomposition | Breaking a big problem into smaller parts | Planning a birthday party, venue, guests, food, games |
| Pattern recognition | Spotting similarities or repeated patterns | Noticing that monthly bills follow the same steps |
| Abstraction | Focusing on what matters, ignoring the rest | A map ignoring trees but keeping roads |
| Algorithmic thinking | Designing step-by-step instructions | Writing down the steps to make a cup of tea |
| Element | Definition | Example |
|---|---|---|
| Problem statement | A clear description of the problem | Farmers cannot quickly learn current crop prices |
| Users and stakeholders | Who is affected or will use the solution | Farmers, market traders, extension officers |
| Requirements | What the solution must do | Show current prices, alert on price changes |
| Inputs | Data the solution receives | Crop type, location, market, current price |
| Processing | What is done to the data | Match crop to market, detect price changes |
| Outputs | The result produced | A price alert or price list |
| Data | What is stored | Crops, markets, prices, user alerts |
Practical Work
- Decompose a school problem into smaller parts.
- Draft a short requirements document for a small system.
- Give one example each of confidentiality, integrity and availability.
- Explain how abstraction helps solve a problem.
Scenario-Based Questions
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.