Sparklabs Learning / Digital Technology
SS 3 First Term
12-week term pack
- 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.
Week 2 / First Term
Advanced Programming
Monday 14 September 2026 to Friday 18 September 2026
Lesson notes
Learning Objectives
- Turn a clear problem statement into a working program.
- Use the control structures of sequence, selection and iteration.
- Write functions and modules with a consistent coding style.
- Build and test a small working program.
From a Clear Problem to a Working Program
Every program is built to solve a problem, so the work of writing code must begin by understanding exactly what the problem is, who faces it and what a good solution must do. A problem is the difficulty to be overcome, such as students being unable to report lost items quickly or a teacher not knowing which pupils have paid fees. A requirement is a precise statement of what the solution must do, for example pupils must be able to submit a lost item report from a phone or the system must show only fully paid students. A solution is the actual product, such as a web app, that meets those requirements. These three ideas are not the same, and jumping to a solution before clearly defining the problem and its requirements is a serious mistake, because the code will solve the wrong thing.
To set requirements properly the engineer analyses the scene and identifies the stakeholders, the people served by the solution, for a school app these might be students, teachers and the office staff. The engineer then records what data goes in, what processing must happen and what results come out. Consider a school assignment-submission reminder app, the inputs are the assignment title, the class and the due date, the processing checks the current date against the due date and flags tasks that are due soon or overdue, and the outputs are reminders and a summary of outstanding work. All of this is written into a requirements document, a short written record that guides both building and testing, with sections such as a title, a problem statement, the users, functional requirements, which state what the system does, non-functional requirements, which state how well it performs, the inputs, processing and outputs, any constraints such as a limited budget, and a security and data-protection plan for keeping user data safe.
Thinking about the problem as a system of connected parts keeps the requirements complete. Systems thinking views the problem as a whole, so a lost-and-found app is not a single form but a chain of reporting, storing, searching, matching and notifying, and each link depends on the others. Computational thinking supplies the tools to manage that complexity, decomposition breaks the whole problem into smaller parts such as reporting, searching, matching and notifying, pattern recognition spots repeated operations that only need to be solved once, abstraction keeps only the details that matter, such as the item type, colour and location, and ignores irrelevant ones, and algorithmic thinking designs a clear sequence of steps to solve each part. These ideas are the bridge between a written requirement and the code that will satisfy it.
An algorithm turns the analysis into plain steps. For example, to compute a class average the steps are to set a total to zero and a count to zero, then for each score add the score to the total and increase the count, then compute the average by dividing the total by the count, and finally display the average. An algorithm is a clear, step-by-step set of instructions, and it can be written as pseudocode or drawn as a flowchart before any programming language is chosen. Writing the algorithm first confirms that the logic is correct and complete before attention turns to the syntax of a particular language, which is why strong programs begin with strong analysis and clear algorithms.
The solution must also be secure from the first design. The three core security principles are confidentiality, keeping data private and visible only to authorised people, integrity, keeping data correct and unchanged by accident or by attackers, and availability, keeping the service up so authorised users can reach it whenever needed. These three are often called the CIA triad. A school app that stores names and grades must protect that data, so passwords are never stored in plain text, logins are required, and personal details are shared only with authorised users. Security is not an afterthought, it is a requirement that constrains the design from the very beginning.
Once the problem, the requirements and the algorithm are clear, the next question is how to write the code in a way that is reliable, readable and easy to maintain. That is the job of structured programming, which organises the logic we just designed into a small set of powerful building blocks. The analysis and the algorithm decide what the program must do; the control structures and functions we study now decide how the code is composed so that it matches that plan exactly and can be tested with confidence.
Control Structures and Structured Programming
Structured programming is a disciplined way of writing programs that relies on three basic control structures, sequence, selection and iteration, together with functions and modules. Its purpose is to produce code that is clear, easy to read, easy to test and easy to maintain. Before structured programming was introduced, programmers used unpredictable jumps (goto statements) that scattered control through a program and made it confusing and costly to fix. Structured programming replaced that chaos with order, and it is the foundation of virtually all modern software engineering.
Sequence means that instructions run one after another from top to bottom. For example, to compute a class average the program reads three scores, adds them and divides by three, each step following the previous one. Selection means the program checks a condition and chooses one of two paths, using if and else. The condition is a Boolean expression that evaluates to true or false. For example, if a student's average is above 75, display Distinction, otherwise display Try harder. Iteration means that a block of instructions repeats, either for a set number of times or while a condition stays true. A for loop is used when the number of repeats is known, such as stepping through a list of thirty students to check each one's fee status. A while loop is used when repetition must continue until a condition changes, such as asking for a password until the correct one is entered. These three structures alone can express any computable task.
Selection in code is written with the if and else keywords. The program evaluates the Boolean expression and runs the matching block of code between curly braces in JavaScript. The double ampersand (&&) combines two conditions so that both must be true. In Python the same idea uses the same keywords, but each header line ends with a colon and the body is indented. Iteration with a for loop underlines how a loop visits each element exactly once, adding it to a running total, after which the final average is computed. Iteration with a while loop shows how a program can keep asking for input until the correct value is given, counting the attempts as it goes.
Functions, Modules and Coding Style
A function is a named block of code that performs a specific task and can be reused. In real software a school app might have functions for calculating averages, checking fee status, sending notifications and formatting reports. Writing logic once as a function and calling it many times reduces repetition and makes a program easier to understand and to fix. A function is defined with the keyword function, a name, parameters in parentheses and a body between curly braces. Parameters are placeholders listed in the definition; arguments are the actual values supplied when the function is called. A function returns a result with the return keyword, or it may simply perform an action and return nothing. In Python the defining keyword is def, followed by the function name, parameters and a colon.
A module is a file containing functions and code that can be imported into other programs. Modules let programmers share and reuse tested code without rewriting it. Python ships with many built-in modules; the math module provides square roots, rounding and constants, while the random module generates random numbers and choices. JavaScript offers a Math object with min, max, round and random methods. Programmers can also build their own modules by saving related functions in one file and importing that file wherever the functions are needed.
Good coding style is as important as correct code, because bad style makes programs hard to understand, debug and maintain. Meaningful names such as studentAverage describe the data, whereas a single letter such as x hides it. Consistent indentation and braces make the structure of blocks obvious. Short, focused functions each carry out one task instead of five. A short comment explains complex logic. Consistent naming such as classLevel and totalScore avoids confusion. These are not decorations; they save real time when debugging and when several people work on the same code.
Debugging is the process of finding and fixing errors. A syntax error stops the program from running because a rule of the language is broken, such as a missing closing brace; the fix is to read the error message, find the line and correct it. A runtime error crashes the program during execution, for example dividing by zero; the fix is to trace the execution step by step and check the values. A logic error allows the program to run but produces the wrong answer, for example using the wrong formula; the fix is to add log or print statements that reveal the intermediate values and compare them with expected results.
Building Small Working Programs
A good small program combines sequence, selection and iteration, organised into functions and written with a clear style. A worked example is a score-analysis program that reads five scores, computes the average and prints the overall grade. Two functions carry the work, computeAverage sums a list with a loop and returns total divided by length, while getGrade uses selection to return Distinction for 75 and above, Credit for 60 and above, and Pass otherwise. A clean main section calls both functions and prints the results. When the program prints a wrong average, the debugging steps are to add a console.log inside computeAverage to inspect the running total, to check that the list really holds the values entered, and to confirm that the length is five before fixing the error and re-running.
The identical logic can be written in Python for a school context, since the ideas transfer directly. JavaScript encloses every block in curly braces and prints with console.log, while Python uses indentation and the print function. A Python function starts with def instead of function; a conditional header ends with a colon; a repeat-over-list uses for x in list. Learners who master the concepts in one language can move to the other with confidence, because structured thinking is the same in both.
This week is the bridge between the analysis of Week 1 and real coding. Decomposition from Week 1 breaks a problem into the exact functions that Week 2 writes. Pattern recognition identifies the repeated operations that become loops. Abstraction hides details that do not matter, and algorithmic thinking designs the step-by-step logic that the code implements. Scenario question, a school teacher wants a program that reads five scores, computes the average and prints whether each student is above or below that average. The inputs are the five scores, the processing is summing, averaging and comparing, and the outputs are the average and the comparison. This is exactly what the score-analysis program delivers.
| Structure | How it works | Example |
|---|---|---|
| Sequence | Instructions run one after another | Read three scores, add them, divide by three |
| Selection (if-else) | Checks a condition and chooses one path | If average is above 75 show Distinction, otherwise show Try harder |
| Iteration (for/while) | Instructions repeat while a condition is true or for a set count | Loop through 30 students and check each fee status |
| Error type | What happens | How to fix |
|---|---|---|
| Syntax error | Program fails to run because of a typing mistake | Read the message, find the line, correct the syntax |
| Runtime error | Program crashes during execution (e.g. dividing by zero) | Trace the execution step by step |
| Logic error | Program runs but gives the wrong answer | Use print statements to check intermediate values |
| Concept | JavaScript | Python |
|---|---|---|
| Function | function name(a, b) { } | def name(a, b) followed by a colon |
| Block of code | Curly braces enclose the body | Indentation defines the body |
| Print output | console.log(value) | print(value) |
| Conditional | if (age >= 18) {. } | if age >= 18 followed by colon |
Practical Work
- Write a program that uses an if statement and a loop.
- Write a function that takes input and returns a result.
- Test the program with normal and unusual input.
- Comment the program so another learner can follow it.
Scenario-Based Questions
- A school portal must read 30 student scores, compute each student's average and print Distinction for an average of 75 or above and Credit for 60 to 74. Write the pseudocode using sequence, selection and iteration, then explain which control structure handles which part of the task.
- A programmer writes a Python function that divides two numbers but forgets to check for zero in the denominator. Describe the type of error this produces, what happens when the program runs, and how to fix it using selection.
- A team is building a JavaScript attendance system. One developer writes all the logic inside a single main() function with no other functions. Explain why this violates structured programming principles and describe two benefits of splitting the logic into separate functions.
- During testing, a student attendance app always counts every student present even when some are absent. The program runs without errors. Identify the error type and describe a debugging strategy using print statements to find the wrong condition.
- A programmer is comparing Python and JavaScript for a school project. Using the differences in function syntax, block definition and output commands shown in the notes, rewrite the following Python code in equivalent JavaScript: def greet(name): print('Hello ' + name).
- A banking application calculates interest using sequence: it reads the balance, multiplies by the rate and prints the result. A junior programmer adds the interest back to the balance before recalculating, producing wrong totals. Explain why the order of sequence matters and show the correct sequence.
- A shop owner wants a stock program. A function checkStock(item, quantity) must return True if quantity is available and False otherwise. Write this function in Python, explain the role of the parameter and the return value, and describe how the main program would use it inside a loop to check multiple items.
Week 3 / First Term
Functions, Arrays and Data Structures
Monday 21 September 2026 to Friday 25 September 2026
Lesson notes
Learning Objectives
- Use arrays and lists to store many values.
- Write functions that process lists.
- Explain searching and sorting algorithms.
- Use structured programming and the SDLC in overview.
Arrays and Lists in Detail
Real-world data is almost always a collection. A school holds lists of students, subjects, fees and scores; a bank holds lists of transactions; a clinic holds lists of patients. Without lists a program could only handle one value at a time. An array or list is an ordered collection of values stored under one variable name. Each value is an element, and each element is identified by its index, the position number. In JavaScript, lists are written with square brackets and indexing starts at zero, so in the list [78, 85, 92, 60, 74] the first element (index 0) is 78 and scores[2] returns 92. The list name, scores, is a single variable that silently holds five values, which is far more practical than writing five separate variables for forty-five students.
Common list operations make the idea concrete. Creating a list uses square brackets and commas. Reading an element uses the index inside brackets such as names[0]. Changing an element assigns a new value such as names[1] = Obinna. Adding to the end uses the push method. The length property returns how many elements the list holds, and a for loop can visit every element in order. The natural way to process a whole list is iteration. A for loop runs the index i from 0 to one less than the length, and inside the loop scores[i] reaches each element in turn, adding it to a running total. After the loop ends, dividing by the length gives the average. This one pattern, loop through a list and accumulate, powers most real data-processing programs.
Functions That Process Lists
A function can receive a list as a parameter, just like any other value, and can loop through the list to compute a result. A function such as computeAverage(scores) sums every element with a for loop and returns total divided by scores.length. Parameters are the names in the definition; arguments are the actual values passed when the function is called. A function may also be given a default value, so a caller can omit the argument when the default is acceptable. A function can return a list containing several results, which the caller unpacks, and this is how one function provides the average, the highest and the lowest score at once.
Reuse is the power of functions. Once computeAverage or analyzeScores is written, it can be called with any suitable list. For three classes the same function runs three times with different data, once per class, without copying or changing the code. The same logic is written once and executes for every class, every term and every dataset the school will ever feed to it. This is why functions are the natural unit of decomposition, each one small, named and reusable, directly continuing the computational thinking of Week 1.
Searching, Sorting and Why Data Structures Matter
A data structure is a way of organising data so that operations on it are efficient. The same data can be stored in different structures, and the choice affects how fast a program can search, sort or update it. For small lists in school exercises the difference is negligible, but for a bank holding millions of transactions or a clinic holding thousands of patient records the choice can mean seconds instead of hours. Linear search is the simplest search method. It checks each element one by one from the beginning until it finds the target or reaches the end. Its main limitation is that for a very large list it may have to examine every element, which becomes slow; but for small lists it is perfectly adequate and easy to write.
A compare-and-swap sort, often called bubble sort, steps through the list repeatedly, compares neighbouring elements and swaps them whenever they are in the wrong order. Each full pass settles one more value into its final position, so the next pass can ignore it. Tracing, also called dry-running, is how learners truly understand an algorithm, writing down the list after every pass by hand. For [5, 3, 8, 1] the first pass carries 8 to the end to give [3, 5, 1, 8], the second pass gives [3, 1, 5, 8], the third pass gives [1, 3, 5, 8], and the final pass finds no swaps because the list is already sorted.
Bubble sort is not the fastest algorithm for large lists, but it is easy to understand and it demonstrates the core idea that sorting means repeatedly correcting the order until neighbour pairs are all in position. The choice of data structure and algorithm is deeply connected to the four pillars of computational thinking. Abstraction keeps only the attributes that matter, such as name and score. Pattern recognition sees the same compare-and-swap action repeated, which becomes the loop. Decomposition splits the overall task into separate functions for computing averages, sorting and searching. Algorithmic thinking designs the exact steps each function follows. In a school that must rank students by total score and then find where a specific student placed, a list of paired name-and-score records, a compare-and-swap sort and linear search work together to produce the ranked report.
Core Coding Styles and Structured Programming Principles
Good programs are not only correct; they are also easy to read, understand and change. Structured programming builds a program from clear, well-organised blocks instead of tangled jumps. Its core idea is that every program can be expressed using only three control structures: sequence (running statements one after another), selection (choosing between alternatives) and iteration (repeating a block of statements).
Clean code follows simple practices. Indentation shows which statements belong inside a loop or a decision. Descriptive names explain what a variable or function does, for example calling a variable classAverage instead of x. Short, focused functions do one job well, and comments explain why a tricky block exists rather than restating the code line by line.
Naming conventions keep a project consistent. JavaScript code in this course uses camelCase for variables and functions (computeAverage, totalScore), and CAPITAL_SNAKE_CASE for constants that never change. These habits make the difference between code that a learner can return to after a month and code that is impossible to trace. Structured, clean code is the foundation of every larger topic that follows, including functions, arrays and algorithms.
Sequence: run statements in order.
Selection: choose a path with if and else.
Iteration: repeat work with loops.
Use indentation and descriptive names.
Keep functions small and comments meaningful.
camelCase for variables; CAPITAL_SNAKE_CASE for constants.
Control Structures: Sequence, Selection and Iteration
Control structures decide the order in which statements run, and no program can be written without them. Sequence is the default: the program runs line by line from top to bottom, as when a program collects a student name, collects the score, then computes the average. Almost every block of real code begins with a sequence.
Selection lets a program choose between paths using conditions. The if statement checks a condition and runs its block only when the condition is true, while if else decides between two branches. Selection is what lets a search report Found or Not found, or a grading program award pass or fail based on a score.
Iteration repeats a block of statements, which is how a program processes every element of a list. A for loop with a counter visits each index, while a while loop repeats as long as a condition holds, such as reading scores until the user stops entering them. Because sequences, selections and iterations nest inside one another, tracing the control flow of a program predicts exactly what it will do.
Sequence: statements run in order.
if and if else: selection by condition.
for and while: iteration over a known or unknown number of runs.
Nesting lets small structures build complex behaviour.
Tracing control flow prevents logic errors.
The Software Development Life Cycle in Overview
Building real software is a project, not just typing code. The Software Development Life Cycle (SDLC) structures that project into phases. Planning defines the problem, the users and the goals, including budget and deadlines. Analysis studies the current situation and gathers detailed requirements, turning vague requests into a clear specification of what the software must do.
Design turns the requirements into a blueprint: the system architecture, the data structures, the modules and the user interface. Implementation is where the design becomes working code. Testing checks the software against the requirements and finds defects before the users do. Deployment releases the finished system, and maintenance keeps it working by fixing errors, adding features and adapting the software as needs change.
The SDLC is not always strictly linear. Many teams use agile approaches that repeat short cycles of plan, build, test and review, but the same activities always appear. The algorithms of this week, searching, sorting and data structures, feed directly into the analysis and design phases, because decisions about how data is organised are made before the implementation phase begins.
Planning: define the problem, users, budget and deadlines.
Analysis: gather and document the requirements.
Design: produce the architecture and data model.
Implementation: write and integrate the code.
Testing: verify the software against its requirements.
Deployment: release the working system.
Maintenance: fix, enhance and adapt the software over time.
| Pass | Comparisons and swaps | List after pass |
|---|---|---|
| 1 | 5 over 3 swap, 5 under 8 no swap, 8 over 1 swap | [3, 5, 1, 8] |
| 2 | 3 under 5 no swap, 5 over 1 swap, 5 under 8 no swap | [3, 1, 5, 8] |
| 3 | 3 over 1 swap, 3 under 5 no swap | [1, 3, 5, 8] |
| 4 | No swaps needed, list is sorted | [1, 3, 5, 8] |
Practical Work
- Write a function that finds the largest value in a list.
- Trace a linear search through a list of numbers.
- Sort a short list of numbers by hand using a sorting method.
- State one reason data structures matter.
Scenario-Based Questions
- A teacher stores the scores of five students in a list called scores = [72, 85, 61, 90, 54]. Write a Python function computeAverage that accepts this list, loops through it to find the sum and returns the average. Explain how 0-based indexing is used and why scores[0] gives 72.
- A bank stores the day's transactions in a queue. The first customer to arrive should be served first. Explain why a queue is more appropriate than a stack for this situation and describe what happens if the bank accidentally uses a stack instead.
- A librarian has 500 books sorted by catalogue number and needs to find whether number 347 exists. Compare linear search and binary search for this task: state the best-case and worst-case number of comparisons for each and explain why binary search is faster on sorted data.
- Trace the first two passes of bubble sort on the list [4, 1, 3, 2]. Show the list after each pass and state which swaps occur. Explain why bubble sort is described as a compare-and-swap algorithm.
- A developer has three different data storage needs: (a) the last 10 error messages displayed in reverse order, (b) a list of registered users that grows as people sign up, (c) a print queue where the longest job was submitted first. Choose a stack, a list or a queue for each case and justify each choice.
- A hospital records patient temperatures every hour for 24 hours in a list. Write a short Python function that finds the highest and lowest temperatures. Explain how the function processes the list and why passing the list as a parameter (rather than hard-coding values) makes the function reusable for any patient.
- A student implements bubble sort but the list [8, 3, 5, 1] is not sorted after one pass. Explain why multiple passes are needed and describe the condition that tells the algorithm the list is finally sorted.
Week 4 / First Term
Object-Oriented Programming
Monday 28 September 2026 to Friday 2 October 2026
Lesson notes
Learning Objectives
- Describe classes, objects, attributes and methods.
- Explain encapsulation and inheritance.
- Explain polymorphism and compare OOP with procedural programming.
- Describe arrays, records, trees and graphs.
Classes, Objects, Attributes and Methods
Object-oriented programming (OOP) organises code into classes and objects. A class is a blueprint or template that describes what data and behaviour every object of that type will have. It defines the attributes, the data each object holds, and the methods, the behaviour each object can perform. The class does not hold specific data itself; it is the drawing of the house, while each object is an actual house built from that drawing. In JavaScript a class is defined with the class keyword and a constructor that runs when an object is created, setting the initial values of the attributes with the keyword this. A Student class, for example, has a constructor receiving name, admissionNo and score, and two methods, isPassing, which returns true when the score is 50 or above, and display, which prints the student's name and score.
An object is a specific instance of a class, created with the new keyword. Each object carries its own copy of the attributes, so student1.name is Chidinma Okoro while student2.name is Emeka Nwosu, even though both come from the same class blueprint. This is how one class models many real things of the same type, all the students of a school, all the accounts of a bank or all the books of a library. Practical work for this part is to design a BankAccount class with attributes for holder, account number and balance, and methods to deposit, withdraw and display the balance, then to create two accounts and perform several operations on each. The same class is used twice, but the balances remain separate.
Encapsulation and Inheritance
Encapsulation is the principle of bundling data and methods inside a class and restricting direct access to some attributes from outside the class. This protects the data from being changed in unexpected ways. In a bank app the balance must not be changed directly from outside the account object; it should only be changed through deposit and withdraw methods, which check that the values are valid. In JavaScript a private field is declared with a hash symbol, such as #balance, and can only be changed from inside the class through controlled methods. A deposit method adds only when the amount is positive; a withdraw method subtracts only when sufficient funds exist and otherwise reports insufficient funds. Encapsulation prevents accidental or malicious changes, makes debugging easier because every change flows through defined methods, and allows the internal design to evolve without breaking external code. In a school system grades should only be changed through proper processes, and encapsulation enforces that discipline in code.
Inheritance is a mechanism where a new class, called the child or derived class, inherits all the attributes and methods of an existing class, called the parent or base class. The child can use everything from the parent and can also add new features or change existing ones. This promotes code reuse, because the child does not rewrite what the parent already provides. A Person parent class might hold name and age and provide a display method. A Student child class extends Person with the super call to invoke the parent constructor, adds admissionNo and score, and extends the display method to show the extra data. The super call is how the child connects to its parent, both for construction and for reusing a parent method.
Polymorphism and Comparing OOP with Procedural Programming
Polymorphism means many forms. In OOP it means that different classes can implement the same method name in different ways, and the correct version runs automatically according to the object's type. A Circle class and a Rectangle class can both have an area method, but Circle returns pi times radius squared while Rectangle returns length times width. A loop that calls area on a list of mixed shapes does not need to know which shape it holds, because each object answers in its own way. In a school context a Teacher, a Cleaner and a SecurityOfficer each have a work method with different behaviour, and one loop can call work on all three. Adding a new staff type later does not change the loop, which is exactly the flexibility real projects need.
Procedural programming organises a program as functions that act on data stored separately, so data must be passed explicitly between functions and any part of the program can reach it. Object-oriented programming bundles related data and behaviour together in classes, so objects carry their own data and protect it through encapsulation. For large projects, OOP is easier to maintain because related code is grouped; for small simple programs, procedures remain perfectly appropriate. The two approaches are not enemies. Many real systems use procedures for simple logic inside objects.
A complete OOP example brings the ideas together. An Animal class holds a name and a sound method returning some sound. A Dog child class overrides sound to return Woof, and a Cat child class overrides it to return Meow. A list holding a Dog and a Cat, processed by one loop that calls sound, demonstrates inheritance, because both children reuse the parent name attribute, and polymorphism, because each answers the same method name in its own way. Scenario question for the systems work, a school library system needs a Book class holding title, author and ISBN, a Member parent class with borrowBook and returnBook, and StudentMember and TeacherMember children with different borrowing limits, naturally modelled with inheritance, encapsulation and polymorphism.
Advanced Data Structures: Arrays and Records
A single value, such as the name of one learner, is stored in a simple variable, but real programs handle many values at once, such as the names of all learners in a class. Data structures are the ways a program arranges collections of values so they can be stored, searched and processed efficiently. An array holds many values of the same type under one name with numbered positions, such as a list of term scores. A record groups different fields about a single item, such as name, admission number, class and score for one learner.
A simple variable holds one value; a data structure holds many related values.
An array stores many values of the same type with numbered positions.
Arrays suit lists such as class scores, phone contacts or product prices.
A record groups different fields about one item, such as name, score and class.
Programmers often combine the two: an array of records holds the whole class, and each record holds one learner details. This leads naturally into classes and objects, where each object groups its own data and behaviour.
Non-Linear Data Structures: Trees and Graphs
Arrays and records arrange data in a straight order, but many relationships branch or connect in many directions. A tree is a data structure with a single root whose branches spread downward into children and leaves with no loops. The folders in a computer form a tree, and a school directory of departments, classes and learners is also a tree. A graph is more general: nodes connected by edges, possibly with loops, like a road network or the connections between computers on the internet.
Tree: one root whose branches spread into children and leaves.
Graph: nodes connected by edges, possibly with loops, like roads or the internet.
File folders and school directories behave like trees.
The internet, road maps and friendships on social media behave like graphs.
A phone network uses graphs to route calls between cities, a bank uses a tree to organise branches, and navigation apps use graphs of streets to find the quickest route. Different problems call for different structures.
File Type Classifications
Every file belongs to a type that tells the computer what it contains and which program should open it. The most common way to identify a file type is by its extension, the letters after the final dot in the file name. Types are also grouped by content: text files hold characters, image files hold pictures, audio files hold sound and video files hold moving pictures.
Text files (.txt,.docx) hold letters, words and documents.
Image files (.jpg,.png) hold photographs and graphics.
Audio files (.mp3,.wav) hold music, speech and sound.
Video files (.mp4) hold moving pictures.
Data files (.xlsx,.csv) hold organised tables of values.
In a school office, the secretary keeps lesson notes as Word files, exam results as spreadsheets, the school logo as an image and assembly music as an audio file. The extension tells the computer which application to open, so knowing file classifications helps learners manage their work and supports the data organisation skills needed for the OOP capstone project.
| Feature | Procedural programming | Object-oriented programming |
|---|---|---|
| Organisation | Functions act on data kept separately | Classes bundle data and methods together |
| Data handling | Data passed between functions | Data held as attributes inside objects |
| Reusability | Functions reusable, data passed explicitly | Objects carry their own data and behaviour |
| Large projects | Harder to maintain as code grows | Easier to maintain with related code grouped |
| Real-world modelling | Less natural for entities | Natural for students, accounts, vehicles |
| Security | Data reachable from anywhere | Encapsulation restricts direct access |
Practical Work
- Write a class with attributes and a method.
- Explain how a subclass inherits from a parent class.
- Give one example each of a tree and a graph.
- Compare OOP and procedural programming in a table.
Scenario-Based Questions
- A school management system has classes Student, Teacher and Course. Student has attributes name and scores, and a method average(). Teacher has attributes name and department. Course has attributes title and a list of Student objects. Design these three classes by writing their attribute lists and method names. Explain how encapsulation protects student scores from being changed by unrelated code.
- A bank has a base class Account with attributes owner and balance and methods deposit and withdraw. It creates two child classes SavingsAccount (which adds an interest rate and a method applyInterest) and CurrentAccount (which adds an overdraft limit). Write the class hierarchy and explain how inheritance avoids rewriting deposit and withdraw.
- A school project simulates different vehicles. A base class Vehicle has a method move(). A Car child class overrides move to print 'Driving on road', a Boat child class overrides move to print 'Sailing on water' and a Plane child class overrides move to print 'Flying in air'. Explain how polymorphism allows one function driveAll that takes any Vehicle object and calls move() without knowing the exact type.
- Compare procedural and object-oriented approaches for building a school grading system. List two advantages of OOP over procedural programming when the system must later add new features such as attendance tracking and fee management.
- A programmer creates two Student objects: student1 = Student('Ada', 88) and student2 = Student('Ada', 88). Explain whether these are the same object in memory. Then describe what the constructor (__init__) does and why it is essential for setting initial attribute values.
- An online game has a base class Character with health and attack power. A Warrior child class adds a shield attribute, and a Mage child class adds a spellPower attribute. Both override an attack() method differently. Explain how inheritance and polymorphism together allow the game to process a list of characters of mixed types in a single loop.
- A programmer has an existing Animal class with a sound() method returning 'Some sound'. They create Dog, Cat and Cow child classes, each overriding sound(). Write the three child class definitions and explain why adding a new Animal type later requires no changes to code that already processes Animal objects.
Week 5 / First Term
Database Systems
Monday 5 October 2026 to Friday 9 October 2026
Lesson notes
Learning Objectives
- Describe databases and the role of a DBMS.
- Use SQL to read and write data.
- Use SQL to update and delete records and design tables.
- Explain primary keys, foreign keys and entity relationship diagrams.
Introduction to Databases and DBMS
A database is an organised collection of structured data stored electronically. Unlike a set of separate files, a database keeps related data together so that storage, retrieval and updating are efficient and safe. A school database might hold tables for students, teachers, subjects, grades, fees and attendance, all linked so that one query can cross-reference them. If 800 students, 60 teachers and all fee and grade records were kept in separate spreadsheets, the same student would appear in many files with different information, specific records would be hard to find, data could be lost or corrupted, and no link would connect a student's grades to their fee record. A database solves all of these problems.
The components of a database work together as a structured whole. A table is a collection of related data arranged in rows and columns, like a spreadsheet. A record, or row, is one complete entry in the table, such as one student's full information. A field, or column, is a single piece of information such as name or score. A primary key uniquely identifies each record, so no two students can share the same admission number. A foreign key is a field in one table that refers to the primary key of another table, creating the link between them, for example a student_id in a Grades table pointing back to the Students table.
A Database Management System (DBMS) is the software that allows users to create, read, update and delete data in a database. It handles storage, security, backup and concurrent access, so that many users can work with the same data safely at the same time. Widely used systems include MySQL, an open source server-based system popular for web applications and school management; SQLite, a lightweight file-based system ideal for mobile apps, small desktop programs and learning, because the whole database lives in a single file; PostgreSQL, an advanced open source system for large enterprises; and commercial systems such as Microsoft SQL Server and Oracle Database used by businesses and banks. For learning, SQLite is the simplest to set up because it needs no server, while MySQL is the typical choice in real-world applications.
SQL Fundamentals
SQL (Structured Query Language) is the standard language for creating and managing databases. Keywords such as CREATE, INSERT, SELECT, UPDATE and DELETE are conventionally written in uppercase, though SQL is not case-sensitive. The CREATE TABLE statement defines a new table by naming the fields and their data types, including TEXT for text, INTEGER for whole numbers and DATE for dates, and by declaring which field is the primary key. The NOT NULL constraint marks a field that cannot be left empty. The INSERT INTO statement adds a new record; its values must match the order and data types of the fields. The SELECT statement retrieves data, using an asterisk for all fields, naming specific fields when only some are wanted, adding a WHERE clause to filter records and an ORDER BY clause to sort them, with DESC for descending and ASC for ascending.
Filtering and sorting are the everyday work of database queries. One typical query finds all SS3A students, another names scores above 80, a third lists students alphabetically, a fourth counts records, and a fifth computes an average score. The COUNT and AVG functions summarise a whole table. These patterns are used again and again in real database work and in the capstone project. Practical exercise, a school Fees table holds student_id, amount_paid, amount_due and payment_date. Write the CREATE statement with student_id as primary key, insert three records, select the fully paid records where amount_paid equals amount_due, and select student_id and amount_due sorted by amount_due in descending order.
SQL UPDATE, DELETE and Database Design
The UPDATE statement modifies existing records. Because it changes every record that matches its condition, it must always include a WHERE clause; without it, every record in the table is changed, which is almost always an accident. UPDATE Students SET score =88 WHERE admission_no = 'a given number' raises one student's score, while UPDATE Students SET class =' SS3C' WHERE class = 'SS3B' moves an entire group at once. The DELETE statement removes records and must also use a WHERE clause, because DELETE without WHERE empties the whole table. Destructive operations like deleting every score below 40 should be confirmed and preceded by a backup in any real system. Collectively these four operations, INSERT, SELECT, UPDATE and DELETE, are known as CRUD, Create, Read, Update and Delete, and every data-driven application performs them.
Database design, or schema design, plans the tables, fields, data types and relationships before any SQL is written. Good design prevents duplication and protects data integrity. For a school management system the designer first identifies the entities, Students, Subjects and Grades. Next come the primary keys, admission_no for Students, subject_code for Subjects, and for Grades a combination of student_id and subject_code. Then come the foreign keys, Grades.student_id references Students.admission_no, and Grades.subject_code references Subjects.subject_code. Finally the CREATE TABLE statements are written with all keys in place. Once tables are linked by foreign keys, a JOIN combines data across them, for example producing a report of each student's name, subject and score. Scenario question, a school library needs Books, Borrowers and Loans tables, where Loans carries book_isbn and borrower_id as foreign keys, and a loan is recorded, returned and reported through INSERT, UPDATE and SELECT queries.
Primary Keys, Foreign Keys and Entity Relationship Diagrams
In a relational database, keys link tables together and ensure every record can be uniquely identified. A primary key uniquely identifies each record in a table. No two records can share the same primary key value, and it cannot be left empty. For example, admission_no is the primary key of the Students table. A foreign key in one table refers to the primary key of another table. It creates a link and enforces referential integrity. In the Grades table, student_id references Students.admission_no, ensuring every grade belongs to a real student.
Primary key: uniquely identifies each record (e.g. admission_no)
Foreign key: links tables by referencing a primary key (e.g. student_id in Grades)
An entity relationship diagram (ERD) is a visual diagram showing tables and their relationships. A one-to-many line from Students to Grades means one student can have many grade records. Drawing an ERD before writing SQL helps catch design problems early.
| Component | Meaning | School example |
|---|---|---|
| Table | Related data in rows and columns | Students, Grades and Fees tables |
| Record (row) | One entry in the table | One student's complete record |
| Field (column) | A single piece of information | Student name, admission number, class |
| Primary key | Unique identifier for each record | Admission number |
| Foreign key | Links to another table's primary key | student_id in Grades linking to Students |
| Query goal | SQL statement |
|---|---|
| Find all SS3A students | SELECT * FROM Students WHERE class = 'SS3A'; |
| Find scores above 80 | SELECT name, score FROM Students WHERE score > 80; |
| Sort alphabetically | SELECT name, class FROM Students ORDER BY name ASC; |
| Count students | SELECT COUNT(*) FROM Students; |
| Average score | SELECT AVG(score) FROM Students; |
| Operation | SQL keyword | What it does |
|---|---|---|
| Create | INSERT INTO | Adds a new record |
| Read | SELECT | Retrieves data |
| Update | UPDATE | Modifies existing records |
| Delete | DELETE FROM | Removes records |
Practical Work
- Name the main objects of a database.
- Write a SELECT statement with a WHERE clause.
- Write an UPDATE statement to change one record.
- Draw a simple entity relationship diagram for two tables.
Scenario-Based Questions
- A school database has a Students table with columns admission_number, name, class and a Fees table with columns fee_id, admission_number, amount_paid and total_fee. Explain what a primary key is and why admission_number is a suitable primary key for Students. Then explain what a foreign key is and how the admission_number in Fees links the two tables.
- Write the SQL statement to create a Students table with admission_number as INTEGER PRIMARY KEY, name as TEXT NOT NULL, class as TEXT and score as INTEGER. Then write an INSERT statement to add one student: admission_number 1024, name 'Chioma Eze', class 'SS3A', score 82.
- A school admin accidentally runs UPDATE Students SET score = 0 without a WHERE clause. Explain what happens, how many records are affected, and why the WHERE clause is essential in UPDATE and DELETE statements.
- A school needs to list all SS3A students with scores above 75, sorted by score descending. Write the complete SQL query and explain the role of each clause (SELECT, FROM, WHERE, ORDER BY).
- Compare a database with flat files (separate text or spreadsheet files for each type of data). List two advantages of a DBMS over flat files for a school managing students, grades and fees.
- A programmer designs a school database and creates three tables: Students, Subjects and Enrolments. Enrolments links Students to Subjects. Explain the purpose of this linking table and describe the primary and foreign keys it should contain.
- A clinic stores patient records in a database. Write SQL queries to: (a) find all patients aged above 60, (b) count the total number of patients, (c) delete a patient whose patient_id is 205. Explain the danger of running query (c) without confirming the correct patient_id.
Week 6 / First Term
Computer Networks and Internet Technologies
Monday 12 October 2026 to Friday 16 October 2026
Lesson notes
Learning Objectives
- Describe network types and how IP addressing and DNS work.
- Explain network topologies and the devices used in networks.
- Explain protocols and the TCP/IP and HTTP families.
- Describe internet infrastructure and network security.
Network Types, IP Addressing and DNS
A computer network is two or more devices connected to share data and resources. Networks let devices share printers, files, applications and internet access, allow people to communicate and collaborate, and make data available from anywhere, so almost every digital solution is eventually delivered over a network. Networks are described by their scale. A LAN, or Local Area Network, covers one building or small campus and is typically owned by a school, office or home. A MAN, or Metropolitan Area Network, spans a city or town and is used by companies or city authorities. A WAN, or Wide Area Network, spans a country, a continent or the whole world and is provided by telecoms and internet providers. The internet is the largest WAN, a worldwide network of networks joined by routers.
Every device on a network needs a unique address so data can be delivered to the right place, and this is the IP (Internet Protocol) address. Just as a home has a house address, a device has an IP address. Two formats are in use. IPv4 uses 32 bits, written as four numbers separated by dots such as 192.168.1.10, and offers about 4.3 billion addresses. IPv6 uses 128 bits, written in hexadecimal groups separated by colons, for example 2001:db8::1, and offers an astronomically larger number of addresses. An IPv4 address is often split into a network part and a host part so devices on the same local network are grouped. Public IP addresses are visible on the internet, while private addresses such as 192.168.x.x are used inside a home or office network.
People cannot remember long numbers, so the internet uses names such as a school's web address. The Domain Name System (DNS) is the address book of the internet, translating these domain names into the IP addresses that computers use. When a browser is given a name, it asks a DNS server for the matching IP address, the DNS server returns it, and the browser connects to that address to reach the website. The whole translation happens in a fraction of a second and is essential to everyday use of the internet.
Protocols, TCP/IP and HTTP/HTTPS
A protocol is a set of agreed rules that govern how data is transmitted across a network. Protocols guarantee that different devices and programs can understand each other, no matter who made them, rather like the rules of a conversation, who speaks first, how a message is acknowledged and what happens when a message is lost. TCP/IP is the fundamental protocol suite of the internet. IP, the Internet Protocol, handles addressing and routing, moving packets from the source device to the destination across many networks. TCP, the Transmission Control Protocol, breaks the data into packets, sends them, checks that they arrive in order and asks for retransmission of any packet that is lost.
The internet does not send a whole message in one stream. It uses packet switching, splitting data into small packets, each sent independently over whatever route is best, then reassembling them at the destination. Strictly, data is broken up, routers forward each packet toward its destination, TCP reassembles the packets in the correct order and checks for losses, and the receiver acknowledges receipt so lost packets can be sent again. Packet switching is what keeps the internet reliable even when individual paths fail. HTTP, the Hypertext Transfer Protocol, is the protocol that requests and delivers web pages, with the browser issuing an HTTP request and the server responding with the page data. HTTPS is HTTP secured with TLS/SSL encryption, so data exchanged between browser and server is scrambled and unreadable to anyone who intercepts it.
For any site that handles personal data, such as school portals or payment pages, HTTPS is essential. Other protocols fill specific jobs. FTP moves files between computers over a network, SMTP sends outgoing email, POP and IMAP receive email, and DHCP assigns IP addresses to devices automatically. Each protocol has one clear job, and together they make the internet work smoothly. Scenario question, a student opens the school portal at home on her phone, a LAN connects her phone to the internet, DNS resolves the address, HTTPS encrypts the connection, and TCP reassembles the packets that the routers delivered.
Internet Infrastructure and Network Security
The internet looks simple from a browser, but it is built from many physical parts, fibre-optic and copper cables, underground and undersea, that carry most data; routers and switches that direct data between networks; servers and data centres that store websites and services and respond to requests; and network interface cards in every connected device. Logically, the internet connects networks in a hierarchy, home and office networks join local internet service providers, which connect through regional networks to large backbone providers. Because data can take many paths, the internet keeps working even if one path fails. In the client-server model, a client such as a browser requests a service, and a server such as a web server provides it, which is the model behind most of the web and the model used for building websites.
Networks face serious threats, including interception, where a third party reads data as it travels; phishing, which tricks users into revealing passwords or personal data; malware and viruses that infect devices; ransomware that locks files and demands payment; and denial-of-service attacks that overwhelm a server with traffic. Essential safeguards are encryption through HTTPS and VPNs, firewalls that filter traffic in and out of a network, strong passwords and multi-factor authentication, regular software updates and antivirus protection, and backups plus access controls for stored data. These measures serve the security triad of confidentiality, keeping data private, integrity, keeping data unchanged, and availability, keeping services up. When a network is secure, all three hold. Scenario work traces a secure payment over HTTPS, naming the encryption on the network, the firewall on the server and the strong login, each protecting a different part of the journey.
Transmission media means the paths over which data travels.
Network Topologies and Devices Review
A network topology is the physical or logical layout of how devices are connected. Common topologies include the bus, star and ring arrangements, each with different strengths in cost, speed and fault tolerance.
Four devices appear regularly in a working network. A router connects different networks and chooses the best path for data travelling between them. A switch connects devices within the same network and delivers data to the right device on that network.
A modem converts digital signals to analogue signals and back, allowing a home or office network to use telephone, fibre or cable lines. A wireless access point allows devices such as phones and laptops to join the network without cables. In the Creative Brains Academy laboratory, computers link to a switch, the switch connects to a router, and the router reaches the wider internet.
Topologies describe how nodes are arranged in a network.
Routers move data between different networks.
Switches deliver data within one network.
Modems and wireless access points connect the network to the outside world.
Internet Technologies, Protocols and the World Wide Web
The internet and the World Wide Web are often confused but are not the same. The internet is the physical and logical infrastructure of interconnected networks, while the web is a service running on top of it that delivers pages, images and videos.
Protocols make this possible. TCP/IP is the fundamental protocol suite: IP handles addressing and routing of packets, and TCP breaks data into packets, checks their arrival, and reassembles them in order. HTTP and HTTPS carry web requests and responses, with HTTPS adding encryption.
IP addressing is the postal system of the network. IPv4 uses 32-bit addresses such as 192.168.1.10, while IPv6 uses 128-bit addresses written in hexadecimal, for example 2001:db8::1, to provide far more addresses. DNS converts human-friendly names such as www.school.ng into the IP addresses the network can route to.
The internet is the infrastructure; the web is a service on top of it.
TCP/IP, HTTP and HTTPS are the core internet protocols.
DNS converts human-friendly names into IP addresses.
IPv4 and IPv6 provide unique addresses for every connected device.
Network Security in the Workplace
Network security protects data, devices and services from attack while they are connected to a network. Every organisation, from a bank in Lagos to a school in Abuja, must defend its systems against interception, phishing, malware and denial-of-service attacks.
A firewall is a security device or software that filters traffic entering and leaving a network. It blocks unauthorised access while allowing normal traffic. A VPN (virtual private network) creates an encrypted tunnel, so remote workers can use the company network securely from anywhere.
Encryption scrambles data so only the intended receiver can read it. HTTPS encrypts web traffic, and VPNs encrypt whole connections. Multi-factor authentication and staff training guard against human error, which is often the weakest link in security.
Firewalls filter incoming and outgoing traffic at the network boundary.
VPNs create encrypted tunnels for remote and secure access.
Encryption such as HTTPS protects data in transit.
Multi-factor authentication and training guard against human error.
Meaning and Benefits of Networking
A computer network is two or more computers joined so that they can exchange data and share resources. The joining may be by cable or by radio. What is shared includes data, printers, storage space, software licences and an internet connection.
The benefits are cost, speed and reliability. Sharing one printer instead of buying one per desk saves money. Sharing an internet connection across a laboratory costs less than separate connections. Sharing files removes the need to pass a pen drive around, and central storage allows a backup of every file in one place.
Networking also allows collaboration. Several people can work on the same file at the same time, and a resource such as a database can be used by many departments at once. A network introduces risks, so access is controlled by permissions and passwords.
Classes of Network
A personal area network covers a very small area, usually a few metres, and connects a device such as a phone to a headset. A local area network covers one building or a small group of buildings, such as a school or an office, and it is owned by one organisation.
A metropolitan area network covers a town or a city, joining several local area networks, such as the branches of a bank across a city. A wide area network covers a country or the world and is formed by joining many networks together. A virtual private network gives a user a secure connection to an organisation's own network from anywhere.
The classification is by area, and the area decides the equipment. The larger the area, the more expensive the equipment and the slower the data becomes, because the signal travels further and passes through more devices.
Transmission Media and Modes
The media are guided and unguided. Guided media carry the signal inside a physical path, such as twisted pair copper cable, coaxial cable and fibre optic cable. Unguided media carry the signal through the air, such as radio waves, microwaves and infrared.
Fibre optic cable carries data as light, so it is not affected by electrical interference, it travels much further than copper without loss of strength, and it carries a very large bandwidth. This makes it the preferred medium for long distances and for the backbone of a network.
Twisted pair copper cable is cheap and is used for connections to a desk. Coaxial cable is thicker and is used where interference is a problem, such as the connection between a television set and a dish.
Data travels in two modes. In simplex, data travels in one direction only. In half duplex, data travels in both directions but not at the same time. In full duplex, data travels in both directions at the same time, which is how a telephone conversation works.
Network Devices
A modem converts a signal from the provider into a signal the computer can use, and back again. A network interface card allows a computer to join a network, by cable or by radio. A repeater regenerates a weakened signal so that it can travel further.
A hub is a simple device that repeats an incoming signal to every other port, so every device receives every frame and the network wastes bandwidth. A switch learns the addresses of the devices on each port and forwards each frame only to the port it is meant for. This makes a switch the standard device in a modern local area network.
A router joins two or more different networks and decides the route for the data travelling between them. A bridge joins two networks of the same type. A gateway joins two networks of different types and may translate between their protocols. An access point provides a wireless connection for devices within its range.
A proxy server acts on behalf of the computers on a network, so that one internet connection can be shared and the addresses of the individual computers are not exposed to the internet.
Topologies and Network Design
Topology is the shape in which the devices are connected. In a bus topology all the devices share one central cable. It is cheap and uses little cable, but a break in the main cable stops the whole network.
In a star topology each device has its own cable to a central switch. A break affects only one device, which is why this is the common layout in schools and offices. In a ring topology the devices are joined in a closed loop and the data travels in one direction around the loop, so a break stops the network.
In a mesh topology each device is connected to several others, so there is more than one route for the data. It is the most reliable and the most expensive. A hybrid topology combines more than one shape, such as a star of stars across the floors of a building.
Topology may be physical, showing the actual cables, or logical, showing the path the data takes. The two may differ. A practical design chooses the topology first, then places the devices, then decides on the media and the addressing scheme.
| Network | Size | Example |
|---|---|---|
| LAN | One building or small campus | Lab computers sharing a printer |
| MAN | A city or town | Bank branches across Abuja |
| WAN | A country, continent or the world | The internet itself |
| Feature | HTTP | HTTPS |
|---|---|---|
| Encryption | None, data sent in plain text | Encrypted with TLS/SSL |
| Port | 80 | 443 |
| Security | Can be intercepted | Protects privacy and trust |
| Type | Full Name | Area Covered | Ownership | Example |
|---|---|---|---|---|
| PAN | Personal area network | A few metres | One person | Phone to headset |
| LAN | Local area network | One building | One organisation | School computer laboratory |
| MAN | Metropolitan area network | A town or city | One or more organisations | Bank branches across a city |
| WAN | Wide area network | A country or the world | Many organisations | The internet |
| VPN | Virtual private network | Any distance over a public network | One organisation | Staff working from home |
| Media | Type | Carried As | Notes |
|---|---|---|---|
| Twisted pair copper | Guided | Electrical signal | Cheap, used to a desk |
| Coaxial cable | Guided | Electrical signal | Resists interference |
| Fibre optic cable | Guided | Light | Fast, long distance, immune to interference |
| Radio waves | Unguided | Radio signal | Mobile and wireless networks |
| Microwaves | Unguided | Radio signal | Between tall buildings |
| Satellite | Unguided | Radio signal | Very long distance, higher delay |
| Mode | Direction Of Data | Both At The Same Time |
|---|---|---|
| Simplex | One way only | Not applicable |
| Half duplex | Both ways | No |
| Full duplex | Both ways | Yes |
| Device | Function | Note |
|---|---|---|
| Modem | Converts the signal between the provider and the computer | Needed for a telephone or cable line |
| Network interface card | Allows a computer to join a network | Wired or wireless |
| Repeater | Regenerates a weakened signal | Extends the distance |
| Hub | Repeats a signal to every port | Wastes bandwidth, rarely used now |
| Switch | Forwards a frame only to the port it is meant for | Standard in a local area network |
| Router | Joins different networks and chooses the route | Connects a network to the internet |
| Bridge | Joins two networks of the same type | Also called a switch in older texts |
| Gateway | Joins two networks of different types | May translate between protocols |
| Access point | Provides a wireless connection | Bridges wireless devices to a wired network |
| Proxy server | Acts on behalf of the computers on a network | Shares one connection and hides addresses |
| Topology | Shape | Advantage | Disadvantage |
|---|---|---|---|
| Bus | One central cable | Cheap, little cable | A break stops the whole network |
| Star | Each device to a central switch | A break affects one device only | More cable is needed |
| Ring | A closed loop | Data travels in one direction | A break stops the network |
| Mesh | Several links per device | Most reliable | Most expensive |
| Hybrid | A combination | Suitable for large sites | Complex to manage |
Practical Work
- Draw a labelled star and mesh network and name each device.
- Name three network devices and one job of each.
- Explain what an IP address and a domain name each do.
- Explain how a firewall protects a network.
Scenario-Based Questions
- A school is expanding and needs a reliable network for three buildings. Recommend a topology and the devices.
- Explain why a switch is used instead of a hub in a busy office.
- Explain why DNS is needed when people use domain names.
- Explain how a firewall and a strong password work together.
Week 7 / First Term
Web Development and Web Design
Monday 19 October 2026 to Friday 23 October 2026
Lesson notes
Learning Objectives
- Explain how websites work.
- Use HTML structure and CSS styling.
- Apply good web design principles.
- Describe the client side, the server side and web hosting.
How Websites Work
When a user types a web address and presses Enter, a chain of events delivers the page. The browser asks DNS to translate the domain name into an IP address, sends an HTTP or HTTPS request to the web server, the server decides what content to return and fetches data from a database if needed, the server sends back HTML, CSS and other resources, and the browser renders the page using the HTML structure and CSS styles. The same flow applies to every website, whether a school notice board or an online marketplace. A web server is a computer that stores web files and responds to browser requests. Hosting means storing the pages on a server connected to the internet and reachable at a domain name, on a shared server, a dedicated server or in the cloud.
A website is built from clearly separated layers. HTML provides the structure, the headings, paragraphs, lists, images and links. CSS controls the presentation, the colours, fonts, spacing and layout. JavaScript adds behaviour and interactions in the browser. Server-side code and a database provide the stored data and the processing behind the page. Keeping these layers separate is a good engineering habit, because the same stylesheet can style many pages, keeping a whole site consistent and easy to update, an example of reuse through pattern recognition.
HTML Structure and CSS Styling
HTML, the HyperText Markup Language, describes the structure of a page using tags, markers wrapped in angle brackets. Most tags come in pairs, an opening tag and a closing tag, and the browser reads the tags to display the content correctly. Core tags are h1 to h6 for headings of decreasing size, p for paragraphs, ul and ol for lists with li for each item, img for images, a for links, and table, tr, th and td for tables. A basic page begins with a doctype declaration, then an html element containing a head, which holds the page title, and a body, which holds the visible content. For example, a school coding club page uses an h1 for the main heading, a p for the meeting details and an a tag for a link to the club page, each tag opening and closing so the browser lays the page out correctly.
CSS, the Cascading Style Sheets, controls how the page looks, its colours, fonts, spacing and layout. A CSS rule selects an element and applies properties to it. One simple set of rules sets the body font to Arial, the body text to a soft grey, the main heading green and centered. CSS can be written inside the HTML file in a style block or in a separate stylesheet file linked to the page. Separating structure from style means the content, HTML, can change without touching the appearance, CSS, and vice versa. Practical work is to write the HTML for a short school home page with a heading, two paragraphs and one link, then add three CSS rules for background colour, heading colour and paragraph font.
Client-Side, Server-Side, Databases and Building a Page
Web work splits into two sides. Client-side work happens in the user's browser, rendering HTML, applying CSS and running simple JavaScript interactions. Server-side work happens on the server, processing data, checking logins and querying a database. Sensitive tasks such as storing passwords or computing totals are done server-side, because the client can be modified by anyone, and the browser only ever sees what the server sends it. A dynamic website stores its data in a database and reads from it each time a page is requested. When a form is submitted, the browser sends an HTTP or HTTPS request carrying the data, the server validates the input and runs a SQL statement against the database, the database stores or returns the data, and the server builds an updated HTML page and sends it back.
This is why a school result portal shows a different result for each student, the page is built fresh from the database rather than being a fixed file. A teacher enters a score on a form; the server-side code stores it with SQL; a second page reads the stored scores and prints a table; and the same page handles every student because the data lives in the database, not inside the HTML. Even without a full server in class, learners can build and run the static page and trace exactly where the server and database would fit, the page and stylesheet first, then the server-side code and the SQL. The essential skill is knowing which part of the stack, HTML, CSS, server logic or database, handles each task.
Security and data protection are part of every step. A login form without HTTPS exposes the password as it travels the network, so HTTPS is mandatory. Building a SQL query by joining user input directly into the statement invites SQL injection, so all input must be validated and queries must use parameters. Publishing parents' phone numbers on a public page violates data protection, so personal data is kept private and shown only to authorised users. Borrowing another school's stylesheet and images without asking raises copyright issues, so content is created or licensed properly. Scenario work traces a student submitting a request to join the coding club through the school website, from the browser to the server, into the database with a validated SQL insert, and back to the list the secretary later reads.
Client side means code that runs in the browser.
Foundations of Web Development
Web development is the craft of creating websites and web applications. It unites everything studied in Week 8, because a website is simply files and programmes served over the networks and protocols already covered. Developers working on a site fall into two broad groups depending on where their code runs.
Front-end development produces everything the user sees and touches in the browser, the layout, colours, buttons and text. It is built with HTML for structure, CSS for styling and JavaScript for behaviour, and it runs on the user's own device. Back-end development produces the code that runs on the server, checking logins, storing data and preparing the content that is sent to the browser. It uses languages such as Python, PHP and JavaScript on Node.js, together with databases such as MySQL and PostgreSQL.
The dividing line is simple in principle, the front end is what runs in the browser, the back end is what runs on the server. A school result portal shows the line clearly, the front end paints the page and the form, while the back end verifies the student, reads the score from the database and returns it safely.
Front end, HTML, CSS and JavaScript running in the browser.
Back end, server-side programmes and databases that supply the data.
A full website needs both sides working together over HTTP or HTTPS.
This foundation frames the whole week, since Period 2 builds the HTML and CSS that form the front end, and Period 3 shows the server side and database behind a dynamic page.
HTML Structure and Tags in Depth
An HTML document is a nested tree of elements. The element that contains everything is the html element, which holds two children, the head and the body. The head carries information about the page, such as the title shown on the browser tab and links to CSS files. The body carries the visible content, headings, paragraphs, images, lists and links.
Tags are written in angle brackets, and most come in pairs, an opening tag such as p and a closing tag with a slash such as p. The content sits between the two. Some elements, such as the image tag img, do not wrap content and stand alone. Attributes add information inside the opening tag, for example the src attribute of an image gives the file's address, and the href attribute of a link gives the destination.
Two simple rules keep a page well formed. Elements must nest correctly, so an element opened inside another must close before the outer one closes, and every page should declare its doctype and its language attribute. A well-formed page renders predictably in every browser and is much easier to style with CSS.
html wraps the whole document and holds a head and a body.
The head holds the title and links to stylesheets; the body holds the visible content.
Most tags come in opening and closing pairs; a few, such as img, stand alone.
Attributes such as src and href live inside the opening tag.
Hyperlink means a link that opens another page.
Simple CSS Styling in Practice
CSS styles elements by matching selectors to rules. A selector names which element to style, and the declaration block lists the properties, such as color, font-size and background-color, with their values. A simple rule for the body element sets the page font, and the browser applies it to every matching element.
Selectors can target whole element types, specific classes or single ids. Because styles inherit, setting the font on the body element styles the whole page, and a later rule for a specific element can override it. Keeping structure in HTML and appearance in CSS means one stylesheet can restyle an entire school site by changing a few values.
A CSS rule pairs a selector with a declaration block of properties and values.
Class and id selectors target specific elements rather than whole types.
One external stylesheet can control the look of every page on a site.
In the practical exercise, learners write the HTML first, check that it is well formed, and then add CSS rules to change the heading colour, the text font and the page background.
Domains and Web Hosting
Publishing a website makes it available to the whole internet, and it requires two things, a domain name and web hosting. The domain name is the address users type, such as creativebrainsacademy.edu.ng, while hosting is the server space where the site's files live. The two are usually registered with different companies and then connected.
A domain name is leased from a domain registrar for a year or more, and the registrar sets the DNS records that point the name to the hosting server's IP address, the exact DNS mechanism studied in Week 8. Hosting companies in Nigeria, such as those offering shared, VPS and dedicated plans, provide storage, bandwidth and an always-on internet connection for the server.
Shared hosting puts many websites on one server and is cheap and suitable for small school sites. VPS hosting gives a private slice of a server with more control, and dedicated hosting rents a whole machine for heavy traffic. Free options such as Netlify and GitHub Pages host small static sites with no cost, which is ideal for learners practising at school.
Domain name, the address users type, leased from a registrar.
Shared hosting, several sites on one server, cheap for small sites.
VPS and dedicated hosting, more power and control for busy sites.
Free hosts such as GitHub Pages suit learner projects and simple static pages.
Publishing and Uploading a Website
Uploading is the step that copies the finished files from a local computer to the web server. The common methods are FTP, an older file transfer protocol, and SFTP, its secure version, used with a client such as FileZilla, or the web-based file manager provided by the hosting panel such as cPanel. Some hosts also offer one-click publishing from a code editor.
The upload workflow follows one sequence. First the site is tested locally in a browser. Then the files are connected to the host through an FTP or SFTP client, the files are placed in the public folder, usually called public_html, and finally the domain is visited to confirm the pages load. After publishing, changes are made locally and re-uploaded, and the live site updates immediately.
Publishing brings the whole front-end and back-end story together. The domain gives the address, the server holds the files, and the DNS records studied earlier join the two, so that when a user anywhere types the domain, the browser fetches the hosted page and renders it.
Test the site locally before uploading.
Upload files to the public_html folder with FTP, SFTP or the hosting file manager.
Visit the domain to confirm the live site works.
Update pages by editing locally and re-uploading the changed files.
The Web and How a Page is Delivered
The world wide web is a service that runs on the internet. A web page is a document written in a markup language that gives the browser instructions on how to display it. The browser sends a request to a server, the server returns the page, and the browser renders it on the screen.
Every page has a unique address, called a uniform resource locator, and this is why pages can be linked. A site is a collection of pages on one subject that are published together and reached from a common home page.
A website is stored on a web server, which may be run by the organisation itself or rented from a hosting provider. The domain name is the name people type, and it is resolved to the address of the server.
Planning a Website
A site map shows the pages of a website and the links between them. It is drawn before any page is built, because it prevents a page being created that nothing links to and a link being created that leads to no page.
A storyboard shows the content of each page in order, giving the heading, the text and the images for every screen. This makes it clear that the content is planned before the design, and it shows any page that is thin on material.
The audience and the purpose are decided first. A site for a school needs the staff, the subjects, the calendar and the contact details, and it needs to work on a small screen because many visitors will use a phone.
HTML and Basic Tags
HTML is the markup language of a web page. A tag is written between angle brackets, and most tags come in a pair, an opening tag and a closing tag. Tags are not case sensitive in practice, but they are written in lower case by convention.
The page structure is given by the head section, which holds the title and the settings, and the body section, which holds what the visitor sees. Headings are given by h1 to h6, where h1 is the main heading and the numbers below it are smaller.
Text is marked with p for a paragraph and b or strong for bold, and u for underline and i or em for italics. A list is given by ul or ol with li for each item. A picture is inserted with img and src, and a link is made with a and href.
An image should carry alt text, which is read aloud when the image cannot be seen. A link should describe its destination rather than say click here, so that the sentence still makes sense when it is read aloud.
Building and Testing a Website
A site is built in a folder structure, with an images folder for pictures, so that the files are easy to find and move. The home page is named index, because that is the name the server looks for when no page is named.
Testing is done in more than one browser and at more than one screen size. Each link is followed to confirm that it reaches a page that exists, and each image is checked for correct spelling and size, because a large image makes the page slow to load.
Validation checks the code against the standard, which reports a missing closing tag or an error in the structure. Valid code loads faster and is easier to correct, since the browser can find the position of the fault.
| Layer | What it controls | Language |
|---|---|---|
| Structure | Headings, paragraphs, lists, images, links | HTML |
| Presentation | Colours, fonts, spacing, layout | CSS |
| Behaviour | Interactions and logic in the browser | JavaScript |
| Data and server logic | Storing, retrieving and processing data | Server code and database |
| Component | Purpose |
|---|---|
| Domain name | The name typed to reach the site |
| Web server | The computer that stores and returns the pages |
| Uniform resource locator | The unique address of a page |
| Browser | The program that requests and renders a page |
| Hyperlink | A link from one page to another |
| Tag | Purpose | Example |
|---|---|---|
| h1 to h6 | Headings from the main heading downwards | h1 for the main heading |
| p | A paragraph of text | p for a sentence |
| b, i, u | Bold, italic and underline | b for a heading in bold |
| ul, ol, li | An unordered list, an ordered list and their items | ol for steps |
| img | Inserts a picture | img with src for the file name |
| a | Creates a link | a with href for the address |
| Stage | What Is Produced |
|---|---|
| Purpose and audience | A short written statement |
| Site map | A diagram of the pages and their links |
| Storyboard | The content planned for each page |
| Building | The pages with their text and images |
| Testing and publishing | A checked site on a server |
Practical Work
- Write a small HTML page with a heading, a list and an image.
- Add simple CSS to change colours and text.
- Plan the layout of a page on paper before coding it.
- Describe the steps to publish a site to a host.
Scenario-Based Questions
- A club needs a one page website. Plan the layout and list the HTML parts.
- Explain why a page that looks good on a laptop may look poor on a phone.
- Explain why a form needs server side code as well as HTML.
- Explain why a domain name is easier to remember than an IP address.
Week 8 / First Term
Software Development Life Cycle
Monday 26 October 2026 to Friday 30 October 2026
Lesson notes
Learning Objectives
- Describe the SDLC and its phases.
- Compare the waterfall and agile models.
- Explain the types of testing, documentation and maintenance.
- Apply the SDLC to a small project.
What Is the SDLC and Its Phases
The Software Development Life Cycle (SDLC) is the step-by-step process used to plan, build, test, release and care for a software system. It turns an idea into a reliable product by managing quality and risk at every stage. Building software without a process leads to missing features, hidden bugs and expensive rework, which is why two teams start the same project and only the one that gathers requirements, designs, builds, tests, deploys and maintains succeeds. The phases also connect directly to the computational thinking of Week 1, decomposing the problem, focusing on what matters and applying clear steps.
The SDLC has six main phases. Requirements identifies the problem, the users and what the system must do, and produces a requirements document like the one drafted in Week 1. Design plans the architecture, the screens, the data model and the technology, and produces a design plan or diagram. Implementation writes the code that builds the system, transforming the design into working software. Testing checks for errors and confirms that the solution meets its requirements. Deployment releases the finished system where users can reach it, such as a web server or an app store. Maintenance fixes bugs, adds features and updates security after release, keeping the system useful over time. These six phases appear in almost every software project, in different orders and styles depending on the method chosen.
Waterfall versus Agile (Scrum)
The Waterfall model is the classic linear approach to the SDLC. Each phase is completed fully before the next begins, and work flows downward like water over a series of falls, requirements, design, implementation, testing and deployment. Waterfall works well when requirements are clear and unlikely to change, such as a fixed school record system, but its weakness is that changes are costly once earlier phases are finished. Agile builds software in small, repeated cycles, delivering a little working software again and again and gathering feedback after each cycle, which suits projects whose requirements change or are not fully known at the start.
Scrum is the most common Agile framework. It works in short fixed periods called sprints, usually one to four weeks. The product backlog is the ordered list of features and tasks still to be done. Sprint planning chooses the tasks for the next sprint from the backlog. A stand-up is a short daily meeting where the team reports progress and blockers. A sprint review shows the finished work and gathers feedback at the end of the sprint, and a retrospective is a meeting to discuss what went well and what to improve. Because a sprint produces working software, users can try it and give feedback early, so the final product matches what they really need.
Neither model is always best. A school library system with fixed, stable needs may suit Waterfall, while a new mobile app whose users keep suggesting features suits Scrum. Many real teams combine both, planning the overall structure with a Waterfall mindset while developing features in Agile sprints. The choice depends on how clear the requirements are, how likely they are to change and how important early feedback is, and engineers use computational thinking, analysing the project before choosing the method.
Applying the SDLC and Testing
Testing guards the quality of a system, because without it errors reach users, damage trust and create security holes. Testing happens at many levels. Unit testing checks a single function in isolation. Integration testing checks that different parts of the system work together. System testing checks the whole system against the requirements. User acceptance testing checks that real users can complete their tasks easily. Testing is not an afterthought; it runs through the whole life cycle, and bugs are far cheaper to fix early than after deployment.
The requirements document records what the system must do and who it serves, while the design document adds how it will be built, the screens, the database tables and the technologies, and together they guide implementation and testing. Applying the SDLC to a school result portal, requirements state that students must see their results, teachers must enter scores and only logged-in users may view data; design produces a web page with a login, tables of students and scores, and an HTML/CSS layout; implementation builds the pages and the server code that reads the database; testing checks logins and verifies that each student sees only their own result; deployment hosts the portal on a web server over HTTPS; and maintenance updates the portal, backs up data and fixes reported errors. This plan turns a rough idea into a secure, working system.
The SDLC matters because it manages complexity, reduces risk and protects quality, ensuring users get what they need, requirements are not forgotten, code is tested before users rely on it, and systems stay secure and up to date after release. Security must be designed through every phase, planned in requirements and design, tested for explicitly, and maintained after deployment with HTTPS, access controls and timely updates. Practical work for the week is to choose a small system such as a tuck-shop stock tracker, write one line for each SDLC phase, name the users and at least three requirements, describe the screens and the data stored, list the languages and tools, state two tests, describe deployment and two maintenance tasks, and choose between Waterfall and Scrum with a justification.
The SDLC Phases in Order
The Software Development Life Cycle breaks the building of software into ordered phases so that a team knows what to do next and what to produce at each stage. The full set of phases runs from planning through analysis, design, implementation, testing, deployment and finally maintenance. Working through these phases in order reduces guesswork, catches problems early and produces software that meets the needs of its users.
Planning defines the goals, budget, timeline and scope of the project. Analysis studies the problem in depth, talks to the intended users and writes down exactly what the software must do. Design decides how the software will be built, describing the architecture, screens, data structures and interfaces. Implementation is where programmers write the actual code based on those designs.
After implementation comes testing, where the finished software is run with real and artificial data to find errors before users see them. Deployment releases the approved software to its users, whether on school computers, in an app store or as a web service. Maintenance keeps the software working over time through bug fixes, updates and new features. For a school result portal, this order means understanding what parents and teachers need before a single line of code is written.
Other SDLC Models
Waterfall and Agile are not the only ways to run the SDLC. The Spiral model combines elements of both. Each loop of the spiral moves through planning, risk analysis, engineering and evaluation, and the project moves outward through the spiral as it grows. The spiral model is known for its strong focus on risk, making it a good choice for large, complex and safety-critical systems where a serious mistake would be costly.
Waterfall suits projects with clear, fixed requirements such as a payroll system whose rules are already set by law. Agile suits projects where requirements are uncertain or likely to change, such as a new mobile app being shaped by user feedback. The Spiral model suits large, high-risk systems such as banking platforms or hospital record systems. Many real-world teams blend approaches, keeping the control of a structured life cycle while developing feature by feature.
Types of Testing, Documentation and Maintenance
Unit testing checks a single function in isolation to verify it produces the correct result for a given input. Integration testing checks that different components work together correctly, such as confirming that a results screen can read data from the database. System testing runs the whole software against the requirements to confirm it behaves as specified. Acceptance testing is the final check where the intended users confirm that the software meets their needs.
Documentation keeps a project manageable. The requirements document captures what the software must do, the design document explains how it will be built, and user documentation tells people how to use the finished product. Maintenance is the longest phase because software is changed for years after release. Corrective maintenance fixes bugs, adaptive maintenance keeps software working as the environment changes, and perfective maintenance adds features or improves performance.
| Phase | What happens | Output |
|---|---|---|
| 1. Requirements | Identify the problem, users and what the system must do | A requirements document |
| 2. Design | Plan the architecture, screens, data model and technology | A design plan or diagram |
| 3. Implementation | Write the actual code | Working code |
| 4. Testing | Check for errors and confirm it meets requirements | A tested, working system |
| 5. Deployment | Release the system for users | A live system |
| 6. Maintenance | Fix, update and improve after release | An evolving, supported system |
| Feature | Waterfall | Agile (Scrum) |
|---|---|---|
| Phases | Linear, each finishes before the next | Iterative, phases repeat in sprints |
| Requirements | Gathered fully at the start | Refined continuously through feedback |
| Change | Costly late in the process | Expected and welcomed between sprints |
| Deliverables | Complete system at the end | Working software after every sprint |
| Best for | Clear, stable requirements | Changing or unclear requirements |
| Customer involvement | Limited to early and late stages | Continuous through reviews |
| Test type | What it checks |
|---|---|
| Unit testing | Whether a single function or small part works correctly |
| Integration testing | Whether different parts work together |
| System testing | Whether the whole system meets requirements |
| User acceptance testing | Whether real users can complete their tasks |
Practical Work
- List the phases of the SDLC in order and state one output of each.
- Use a table to compare waterfall and agile.
- Explain the purpose of user acceptance testing.
- Explain why maintenance continues after release.
Scenario-Based Questions
- A state government commissions a new student records system with clear, fixed requirements: admission, grading, transcripts and graduation tracking. The requirements will not change. Recommend Waterfall or Agile (Scrum) and justify your choice by referencing at least two features of each model.
- A startup is building a new social media app. Users keep requesting new features after every demo. Recommend Waterfall or Agile (Scrum) and explain why your chosen model handles changing requirements better.
- A school commissions a website project. The development team uses Scrum with two-week sprints. Describe what happens in one sprint: the sprint planning meeting, the daily work, the sprint review and the sprint retrospective.
- A programmer builds a function calculateFee(amount, rate) that computes interest. Explain why unit testing this single function is the first testing step, then describe integration testing and system testing for the complete fee management application.
- A team follows the SDLC to build a library management system. For each phase (requirements, design, implementation, testing, deployment, maintenance), state one specific activity or output that applies to this project.
- After deploying a school portal, the IT team discovers that the login page allows unlimited password attempts. Under which SDLC phase should this have been caught, what kind of testing would have revealed it, and how should the team fix it?
- A project manager must choose between finishing the entire SDLC before releasing any part of the system or delivering working features after every sprint. Compare the risks of each approach for a hospital patient management system where reliability is critical and explain the consequences of choosing wrong.
Week 9 / First Term
Electronic Commerce
Monday 2 November 2026 to Friday 6 November 2026
Lesson notes
Learning Objectives
- Define electronic commerce and name its types.
- Describe the parts of a website used for buying and selling.
- Explain how payment is made safely online.
- State the benefits and the risks of electronic commerce.
Meaning and Types of Electronic Commerce
Electronic commerce is the buying and selling of goods and services over the internet. It includes the whole process, from a customer finding a product to the payment being made and the goods being delivered.
Electronic commerce is divided by the parties involved. Business to business is a business buying from another business, such as a shop buying stock from a supplier. Business to consumer is a business selling to an individual, which is the most common type. Consumer to consumer is one individual selling to another, such as a sale of used books.
Business to government is a business dealing with government online, such as a company filing tax online. Government to citizen is a citizen using a government service, such as the national identification number. Electronic commerce also includes services, where nothing physical is delivered, such as streaming a film or using an online banking service.
Electronic commerce includes the whole transaction from finding the product to the delivery, not only the payment.
Parts of a Website Used for Trading
A website used for trading has a home page, a catalogue or product page, a shopping cart, a checkout page, an account area, a payment page and a delivery or confirmation page. Each part has one job.
A shopping cart holds the items chosen before payment. The checkout collects the delivery details and the payment details. A payment page should show the amount to be paid before the payment is taken, so that the customer can check it.
A customer account area holds the order history and the saved delivery details. A secure payment page shows evidence that the connection is encrypted. A confirmation message or email tells the customer that the order has been received, and gives a way of tracking it.
Making Payment Safely
There are three ways to pay online. A cash on delivery arrangement means the customer pays when the goods arrive. A cheque by post is used for large purchases from a distance. An online payment is made by card, by bank transfer or by a mobile money wallet.
The most common method in Nigeria is transfer to a bank account or payment through a mobile money or payment service. The customer should check the account details carefully and confirm the amount before sending, and the seller should confirm receipt before releasing the goods.
Safe payment depends on three things. The connection should be encrypted, shown by https in the address bar. The site should be one the customer knows and trusts, checked by typing the address rather than following a link in a message. Personal details such as a card expiry date must never be given to a caller who telephones.
Giving a card expiry date to someone who telephones is never required by a genuine bank.
Phishing means a method of tricking a customer into giving payment details.
Benefits and Risks
The benefits to the customer are that goods can be seen and compared at any time, buying is faster, delivery reaches areas with no shop, and the price is often lower because the seller has no shop rent. The benefits to the seller are a wider market, lower cost, orders that arrive at any hour, and a record of every sale.
The risks to the customer are that the goods may not be as described, the payment may go to a dishonest seller, a card may be used fraudulently, and a password given to the wrong site may be stolen. The risks to the seller are a card being used fraudulently, a customer refusing to accept a delivery, and a site being attacked.
The risks are reduced by a good password, by checking the seller before paying, by keeping a record of the transaction, and by reporting a problem to the bank or the platform as soon as it occurs.
A website reached by https protects the transaction in transit, but it does not prove that the seller is honest.
Electronic Payment Systems
Cards are the most common instrument. A debit card takes the money from an account immediately. A credit card allows a debt to be built up, which must be repaid with interest. A prepaid card holds a fixed amount that is reduced as it is used.
Digital wallets store payment details securely and pay at the checkout with one confirmation, so the card number is not entered on the website of the seller. Bank transfers are widely used in Nigeria, and a merchant account gives a business a unique account number for receiving payments.
A point of sale terminal and a mobile point of sale device allow a trader to accept a card or a transfer without the customer coming to the shop, which is how many small traders now sell.
A credit card builds up a debt, while a debit card takes the money from an account at once.
| Type | Meaning | Example |
|---|---|---|
| Business to business | A business buys from another business | A shop buying stock from a supplier |
| Business to consumer | A business sells to an individual | Online shopping |
| Consumer to consumer | One individual sells to another | Sale of used books |
| Business to government | A business deals with government online | Filing tax online |
| Government to citizen | A citizen uses a government service | National identification number |
| Electronic services | A service delivered without goods | Streaming a film |
| Payment Method | How It Works | Notes |
|---|---|---|
| Cash on delivery | The customer pays when the goods arrive | Used where the buyer is not trusted |
| Cheque by post | A cheque is sent with the order | Slow, used for large purchases |
| Debit card | The money is taken from an account immediately | Funds must be available |
| Credit card | A debt is built up and repaid later | Interest applies |
| Prepaid card | A fixed amount is held and reduced as it is used | Limited spending |
| Bank transfer | Money is sent to an account | Widely used in Nigeria |
| Digital wallet | Details are stored securely and paid at checkout | Card number is not entered on the seller site |
| Mobile money | Payment from a mobile phone account | Common for small amounts |
Practical Work
- Visit three online shops and list the pages each one provides, from the home page to the confirmation page.
- Identify the payment methods offered by each shop and note which are available in Nigeria.
- Explain in writing the three checks to make before paying for goods online.
- Distinguish between a debit card, a credit card and a prepaid card, giving one use of each.
- Compare the price of one item on two websites and state the extra costs that may apply.
- Write a list of five benefits and five risks of electronic commerce.
Scenario-Based Questions
- A customer is asked for a card expiry date by someone who telephones and gives a bank name. Explain what to do and why.
- Explain how a trader in a rural area can receive payment for goods without opening a shop.
- Explain the difference between cash on delivery and an online payment, and state one risk of each.
- A website shows a price but does not show the delivery charge until the payment stage. Explain why this is a problem.
- Explain two benefits of electronic commerce to a small trader and one benefit to a customer.
- Describe how a customer can check whether a website is genuine before paying.
- Explain why a confirmation message or email is useful after an order has been placed.
Week 10 / First Term
Cyber Security and Emerging Digital Technologies
Monday 9 November 2026 to Friday 13 November 2026
Lesson notes
Learning Objectives
- Describe common cyber threats and how to reduce them.
- Explain the main methods of keeping data secure.
- Describe emerging digital technologies and their uses.
- Discuss the benefits and risks of the technologies.
The Parts of Computer Security
Computer security is made of three parts. Confidentiality means that information is available only to those allowed to see it. Integrity means that it is complete and has not been altered without permission. Availability means that it is there when it is needed.
A threat to any of these three can cause harm. A virus that deletes records harms availability and integrity. A password stolen from a bank account harms confidentiality. These three parts give the vocabulary used to describe any security measure and any security failure.
Threats to Computer Security
A virus is a program written to damage a computer or its data. A worm spreads across a network by itself. A trojan looks useful but carries a harmful part. Spyware collects information without the user knowing. Ransomware locks files and demands a payment. A worm needs no user action, which makes it the fastest spreading of the group.
A phishing message tricks a user into giving away details such as a password. A password attack guesses or steals a password. A denial of service attack floods a system so that it cannot be used by anyone. Identity theft happens when another person uses stolen details to impersonate the owner.
Human error is also a threat. A password written on a card kept in a drawer, a file left open on a shared computer and a memory card left in a computer are all ways for data to reach the wrong person without any attack at all.
Protecting the Computer
An antivirus program checks files and removes harmful programs. It must be kept up to date, because new programs appear every day. A firewall controls the connections into and out of a computer and blocks those that are not wanted. A firewall set too tightly blocks legitimate work, so it is configured carefully.
A strong password is at least eight characters long and mixes letters, numbers and symbols. A different password is used for each important account, so that one breach does not open several. A password manager stores many strong passwords safely so that they do not have to be memorised.
Software is updated because the updates repair faults that attackers use. An operating system or program that is no longer supported will be attacked successfully at some point, so a device that cannot be updated should be replaced.
Data is protected by making a backup on a separate device and by keeping a copy away from the machine. A backup on the same computer is not a backup, because the same fault removes both.
An antivirus program that is not updated quickly will miss new programs, so the update schedule matters as much as the software.
A firewall set too tightly blocks legitimate work, so security and usability must be balanced.
A backup stored on the same computer is not a backup, because one fault removes both copies.
Security in a School Laboratory
Every user should have an account, so that the work of each person is separate and can be traced. A user who must sit at the same computer every lesson should log off when finished rather than leaving the account open.
Files belonging to the school are kept on a server with a backup, and the access to that folder is given only to staff who need it. Memory cards and hard drives used for transfer are scanned before they are used again.
Physical security matters as much as software security. The door of the laboratory should be locked when the room is not in use, and screens should be positioned so that they cannot be seen from outside. Cables should be secured so that they cannot be pulled out.
Responding to an Incident
When something goes wrong the steps are the same. Disconnect the computer from the network so that the problem does not spread. Report it to the teacher or the administrator. Write down what happened and when, because the details are lost quickly.
A file that has been encrypted by ransomware is not made usable by paying quietly. The machine is left as it is so that it can be examined, and the backups are checked so that the data can be restored.
After an incident the cause is established and the measure that would have prevented it is added. Without that last step the same incident happens again.
Paying a ransomware demand does not guarantee that the files are released, so the machine is left for examination.
Artificial Intelligence and Machine Learning
Artificial intelligence is the making of systems that can do tasks which normally need human thought, such as recognising a face, translating a language or deciding which message is a spam. Most of these systems are built for one narrow task rather than for general intelligence.
Machine learning is the method used to build such a system. Data is collected, a model is trained on that data, and the trained model is then asked to predict or to classify something it has not seen. The quality of the result depends on the quality and the quantity of the data used.
The model learns a pattern rather than a rule written by a person. A program that decides a loan must not learn from past decisions that were unfair, because the model copies the pattern it was given, including a wrong one.
Artificial intelligence is used in medicine to read scan images, in agriculture to predict crop yield, in transport to adjust traffic signals, in banking to spot fraud and in a keyboard to suggest the next word.
Blockchain
A blockchain is a list of records stored across many computers. Each record is placed in a block, and each block holds a code made from the data in the block and the code of the block before it. Changing any earlier record changes every code after it, so the change is visible.
The blocks are held by many computers called nodes, and they agree on the record by a method called a consensus. No single person or company holds the whole list, and no single record can be removed without the change being noticed by the other nodes.
A blockchain is therefore useful where several organisations need one trusted shared record and no one of them should be able to alter it alone. The uses include tracking goods through a supply chain, recording land titles, and keeping a tamper evident record of a transaction.
The cost of a blockchain is that every node keeps a copy, so the data is held many times, and the agreement takes time. It is not the right tool for ordinary school records.
Other Emerging Technologies
The internet of things describes ordinary objects that are fitted with sensors and connected to a network, so that they can be monitored or controlled from a distance. Examples include a watch that counts steps, a meter that reports its own reading, and a door that can be opened without a key.
Cloud computing keeps files and software on servers reached through the internet rather than on the computer itself, so a file can be opened on any device. It also allows several people to work on the same file at the same time.
Benefits and Risks
The benefits are speed, reach and accuracy. A diagnostic result can be available in minutes instead of days, a farmer can water a field only where it is dry, and a language model can support a speaker of a language with few speakers.
The risks are loss of privacy, unfair decisions and concentration of power. A system trained on past decisions may reproduce past discrimination, and a system that collects large amounts of personal data creates a target for theft. A technology that is used without supervision can be used to mislead as easily as to help.
The response is control. Data collection should be limited to what is needed, a trained model should be tested on data it has not seen, and a decision made by a system should be checked by a named person who can explain it. New technology should be measured against these controls rather than adopted because it is new.
| Threat | What It Does | Effect |
|---|---|---|
| Virus | Damages programs or data | Integrity and availability |
| Worm | Spreads across a network by itself | Availability |
| Trojan | Looks useful but carries harm | Any of the three |
| Spyware | Collects information secretly | Confidentiality |
| Ransomware | Locks files and demands payment | Availability |
| Phishing | Tricks a user into giving details | Confidentiality |
| Password attack | Guesses or steals a password | Confidentiality |
| Denial of service | Floods a system so it cannot be used | Availability |
| Human error | Reveals data by accident | Any of the three |
| Measure | Protects Against | How It Is Applied |
|---|---|---|
| Antivirus | Viruses, trojans, spyware | Scan files and quarantine threats |
| Firewall | Network attacks | Block unwanted connections |
| Strong passwords | Password attacks | Eight or more characters, mixed |
| Password manager | Weak and reused passwords | Stores many strong passwords |
| Software updates | Attacks on known faults | Install updates when offered |
| Backup | Loss of data | Copy to a separate device |
| User accounts | Unauthorised use | One account for each person |
| Locking the room | Physical access | Secure the door when not in use |
| Encryption | Reading of data in transit | Use https and encrypted connections |
| Part Of Security | Meaning | Simple Test |
|---|---|---|
| Confidentiality | Only the right people see it | Can another pupil read the file? |
| Integrity | It is complete and unaltered | Has anything been changed without permission? |
| Availability | It is there when needed | Can I open it now? |
| Technology | What It Does | Everyday Use |
|---|---|---|
| Artificial intelligence | Performs tasks that need human thought | Voice assistants and translation |
| Machine learning | Trains a model on data to predict or classify | Fraud detection and crop prediction |
| Blockchain | A shared list of records that cannot be quietly altered | Supply chains and land records |
| Internet of things | Connects everyday objects to a network | Meters, watches and locks |
| Stage In Machine Learning | What Happens |
|---|---|
| Collecting data | Examples are gathered and cleaned |
| Training | The model is fitted to the data |
| Testing | The model is checked on data it has not seen |
| Using | The trained model predicts or classifies |
| Benefit | Example |
|---|---|
| Speed | A scan result in minutes rather than days |
| Reach | Support in a language with few speakers |
| Accuracy | Fewer errors in repeated measurements |
| Risk | Control |
|---|---|
| Loss of privacy | Collect only the data that is needed |
| Unfair decisions | Test the model and allow a person to check the result |
| Misuse of data | Encrypt and restrict access |
| Concentration of power | Keep records on a shared system rather than in one company |
Practical Work
- List four cyber threats and one defence against each.
- Explain why regular backups matter.
- Describe two uses of artificial intelligence.
- State one benefit and one risk of one emerging technology.
Scenario-Based Questions
- An office suffers a ransomware attack. Explain the steps to respond.
- Explain why staff training is part of cyber security.
- Explain how artificial intelligence can help a small business.
- Explain one risk that a new technology can bring to privacy.
Week 11 / First Term
Revision
Monday 16 November 2026 to Friday 20 November 2026
Lesson notes
Learning Objectives
- Revise all topics of the term.
- Consolidate programming and data structures.
- Practise databases, networks and web development.
- Prepare for the end of term examination.
Review of Computational Thinking and Programming
Computational thinking uses decomposition, pattern recognition, abstraction and algorithms. A problem is analysed and a requirements document is drafted before any code is written.
A program is built from sequence, selection and iteration. Functions and modules keep code organised, and a consistent style makes it easy to read. Data structures such as arrays, lists, records, trees and graphs decide how well data can be stored and used.
Object-oriented programming groups data and behaviour into classes. Encapsulation, inheritance and polymorphism allow large programs to be built and changed with less risk.
Review of Databases and Networks
A database is an organised store of related data managed by a DBMS. SQL is used to read, write, update and delete records, and keys connect tables. An entity relationship diagram shows how the tables relate.
A network connects devices so they can share data. Networks are classified by area and by topology, and devices such as switches, routers and firewalls control the traffic. IP addresses and DNS identify devices and names, and protocols carry the data.
The web is built on HTML for structure and CSS for style. Pages are stored on a host and reached through a domain name, and server side code works with a database.
Review of the SDLC and Security
The software development life cycle runs from planning and analysis through design, implementation and testing to deployment and maintenance. Waterfall and agile are two common models, and testing and documentation run through the project.
Cyber security protects systems and data. Encryption, firewalls, strong passwords and regular updates reduce risk, and the CIA triad states the goals of confidentiality, integrity and availability.
Emerging digital technologies such as artificial intelligence, cloud computing and the internet of things change how people work, and each brings both benefits and risks.
| Week | Topic | Key facts to have ready |
|---|---|---|
| 1 | Computational problem solving | Four pillars, requirements, CIA triad |
| 2 | Advanced programming | Sequence, selection, iteration, functions |
| 3 | Arrays and data structures | Lists, searching, sorting |
| 4 | Object-oriented programming | Class, object, encapsulation, inheritance |
| 5 | Database systems | DBMS, SQL, keys, ERD |
| 6 | Computer networks | Topologies, devices, IP, DNS, protocols |
| 7 | Web development | HTML, CSS, client and server sides |
| 8 | SDLC | Phases, waterfall, agile, testing |
| 9 | Electronic commerce | Online trading and payment |
| 10 | Security and emerging tech | Threats, encryption, AI, cloud |
Practical Work
- Write a function that searches a list for a value.
- Write a SELECT statement with a WHERE clause.
- Draw a labelled star network and name each device.
- Write a small HTML page with a heading and a list.
Scenario-Based Questions
- Explain how you would revise ten weeks of senior work before an examination.
- A learner mixes up a primary key and a foreign key. Explain the difference.
- A school is choosing waterfall or agile for a new system. Recommend one and justify it.
- Explain how encryption protects data on a network.
- Explain one benefit and one risk of using artificial intelligence.
Examination and Continuous Assessment Practice
These questions are taken from the First Term examination and Continuous Assessment papers for this class. Answer them in full sentences.
- A team must build a lost-and-found app, but the work is too large for one person. Explain computational thinking, and describe the four pillars the team would apply to this problem.
- (a) Define a Database Management System (DBMS) and state two (2) advantages of databases over traditional file systems. (b) Explain the following database terms: (i) Record (ii) Field (iii) Primary Key (c) A database backup file measures 5 Gigabytes (GB). Convert this capacity into Megabytes (MB) and calculate how many 4 MB database tables can fit into that storage space. Show workings.
- (a) Define a Computer Network and list three (3) classifications based on geographical coverage (LAN, MAN, WAN). (b) Compare and contrast Bus Topology and Star Topology in computer networking. (c) A network data transmission channel operates at a speed of 16 Megabits per second (Mbps). Calculate how many Megabytes (MB) of data are transferred across this channel in 15 seconds. Show all steps.
- (a) Differentiate between a Web Browser and a Search Engine, giving two (2) popular examples of each. (b) Explain what a URL is and describe its main components when accessing web pages. (c) A web page cache folder contains 2,048 Kilobytes (KB) of data. Convert this storage size into Megabytes (MB) and further convert it into bits. Show complete calculations.
- (a) What is Cybersecurity? State three (3) common computer security threats or malware types. (b) Explain the protective roles of Antivirus software and Firewalls in defending computer networks. (c) Perform the following storage scale conversions, showing all intermediate steps: (i) Convert 2 Terabytes (TB) into Gigabytes (GB). (ii) Convert 4,096 Megabytes (MB) into Gigabytes (GB). (iii) Arrange the following storage capacities in descending order: 16,384 Bits, 2 MB, 1,024 KB, 3 GB.
- A school is designing a system that stores pupils' names and grades, and a security officer explains that security must be designed in from the start. Explain the CIA triad, the controls that protect each element, and give an example of a breach of each.
- Before structured programming, a program was full of unpredictable jumps that made it costly to fix. Explain what structured programming is, name its three control structures, and give a situation in which each is used.
- A pupil discovers that every student in the school can see the entire marks sheet. Explain the element of the CIA triad that has failed, state how it should have been protected, and write the matching security requirement for the requirements document.
Week 12 / First Term
Examination
Monday 23 November 2026 to Friday 27 November 2026
Lesson notes
Learning Objectives
- Answer every section of the examination paper.
- Complete the practical task accurately within the time allowed.
- Apply the conventions of the topics taught this term.
- Analyse the result and plan the Second Term revision.
Before the Examination
Arrive early and confirm that the practical computers are working. Lay out two pens, a pencil, an eraser, a ruler and the identification card. Read the whole instruction sheet before touching the keyboard and note the required file name, folder and format.
A file saved under the wrong name or in the wrong folder is treated as missing.
A program that runs is not necessarily correct, because a logic error gives no message.
During the Written Paper
The paper will include objective questions that test single facts, names and classifications. It will also include short answer questions that test definitions, differences and short explanations.
Answer every question. Begin with the ones you are sure of. In a classification question, write the group before each item. In a list question, number the items so that each can be marked. In a diagram question, draw the diagram and label it rather than describing it.
A diagram described in words is marked as missing, so the diagram is drawn.
During the Practical Paper
Work in the order given. Create the file, enter the content, apply the required formatting or function, then save with the exact name in the exact folder. Save at each stage rather than only at the end.
Check the finished file against the task before the time ends: the required database, page or program exists, the required rules or tags have been used, and the file name matches the instruction.
After the Examination
The marked script is analysed by counting the marks lost on each question. A question that most learners missed identifies a topic to reteught in the Second Term.
The Second Term begins with revision of the weak topics and then moves to new work.
Marks are lost on the instruction more often than on the topic, so the instruction is read before the work begins.
| Question type | What It Tests | Marks |
|---|---|---|
| Objective questions | Single facts, names and classifications | 20 |
| Short answer questions | Definitions, differences and short explanations | 30 |
| Essay questions | Organised paragraphs with examples | 10 |
| Practical | Correct use of the software or a programming language | 20 |
| Total | First Term examination | 80 |
Practical Work
- Read the whole instruction sheet before starting the practical task.
- Note the required file names, folders and formats before typing.
- Save the file at each stage of the task.
- Follow every link on the finished page and open it in a second browser.
- Check the finished file against every item in the instruction before the time ends.
- Note the topics that felt weakest for the Second Term revision plan.
Scenario-Based Questions
- Explain why most marks in a practical examination are lost on the instruction rather than on the skill.
- Describe how you would check a finished database against the practical instruction.
- A candidate has eight minutes left and the file has not been saved. Explain the priority order.
- Explain how the result of the examination is used to plan the Second Term work.
- Explain why a diagram question should be answered with a drawing.
- Explain the difference between an objective question and an essay question.
- A classification answer gives four correct items but writes no group headings. Explain how the marks are awarded.
- ODELAMI
First Term Examination Practice Questions
These questions are taken from the First Term examination and Continuous Assessment papers for this class. Answer them in full sentences.
- (a) Define a Computer Network and list three (3) classifications based on geographical coverage (LAN, MAN, WAN). (b) Compare and contrast Bus Topology and Star Topology in computer networking. (c) A network data transmission channel operates at a speed of 16 Megabits per second (Mbps). Calculate how many Megabytes (MB) of data are transferred across this channel in 15 seconds. Show all steps.
- (a) Differentiate between a Web Browser and a Search Engine, giving two (2) popular examples of each. (b) Explain what a URL is and describe its main components when accessing web pages. (c) A web page cache folder contains 2,048 Kilobytes (KB) of data. Convert this storage size into Megabytes (MB) and further convert it into bits. Show complete calculations.
- (a) Define Software Piracy and explain why it is considered an illegal and unethical practice. (b) Differentiate between Copyright and Patent protection in intellectual property. (c) An enterprise database record file is exactly 6,144 Bytes. Convert this file size into Kilobytes (KB) and calculate how many 512-byte blocks are required to store this file. Show complete calculations.
- (a) Define a Database Management System (DBMS) and state two (2) advantages of databases over traditional file systems. (b) Explain the following database terms: (i) Record (ii) Field (iii) Primary Key (c) A database backup file measures 5 Gigabytes (GB). Convert this capacity into Megabytes (MB) and calculate how many 4 MB database tables can fit into that storage space. Show workings.
- (a) Define Digital Citizenship and state three (3) pillars of responsible online behavior. (b) Explain the concept of a Digital Footprint and discuss how students can maintain a positive online reputation. (c) A digital portfolio website folder contains 10,240 characters (assuming 1 character = 1 Byte). Calculate its exact size in Kilobytes (KB) and determine how many bits that folder occupies. Show workings.
- (a) What is Cybersecurity? State three (3) common computer security threats or malware types. (b) Explain the protective roles of Antivirus software and Firewalls in defending computer networks. (c) Perform the following storage scale conversions, showing all intermediate steps: (i) Convert 2 Terabytes (TB) into Gigabytes (GB). (ii) Convert 4,096 Megabytes (MB) into Gigabytes (GB). (iii) Arrange the following storage capacities in descending order: 16,384 Bits, 2 MB, 1,024 KB, 3 GB.