school course
Grade 09: Computer science
4 units across the school year. Each has a worked example, an activity and a standard to meet.
about this course
What you will be able to do
- Apply Write programs with variables, decisions and loops.
- Analyse Decompose problems and design algorithms.
- Apply Clean, sort and summarise data.
- Understand Describe how machines learn from data and where bias comes from.
Task, condition and standard
Task
Meet the outcome of every unit in Grade 09 Computer science, and keep one piece of evidence for each.
Condition
A 36-week school year, 4 units, a teacher or guide, a learning book or device, and local examples in the local language first with English support.
Standard
Each unit: at least 8 of 10 marks on a short task, with one line of reasoning for each answer. Course pass: no unit at 'Not yet' after one retry, and a pass in SA1 and SA2.
Assessment plan
Formative checks FA1 to FA4 around weeks 6, 12, 24 and 30; summative checks SA1 in week 18 and SA2 in week 36.
unit by unit
4 units with worked examples
Unit 1 Python programming basics Weeks 1 to 10Apply
In this unit, 'Python programming basics', you learn to write programs with variables, decisions and loops. You work with notes, a worked line and a self-mark. You see it, say it, then do it alone.
- See it: watch or try the skill in 'Python programming basics' on a teacher screen or a safe device.
- Name the parts: write the key words and what each part does.
- Use it: write programs with variables, decisions and loops. Save your work in a named file or folder.
- Test and fix: run it, find one fault, correct it, and note what you changed.
Step by step.
- Step 1, Variables and decisions: A learner types marks = 72 then if marks >= 90: print('A') elif marks >= 70: print('B') else: print('C'), with each print line indented four spaces. Python checks conditions top to bottom, and 72 fails the first test but passes the second.
- Step 2, Run it: The output is B. If he changes marks to 95 the first condition is true and A prints; the elif and else parts are skipped. Only the first true branch runs, which is why the order of conditions matters.
- Step 3, A for loop: He types for i in range(1, 4): print(i * i). range(1, 4) gives 1, 2, 3 because the end value 4 is not included. The program prints 1, then 4, then 9, one per line.
- Step 4, A while loop: He types total = 0, n = 1, then while n <= 5: total = total + n and n = n + 1 on indented lines, then print(total). Adding 1 plus 2 plus 3 plus 4 plus 5 gives 15, so 15 is printed.
- Step 5, Debug: He forgets n = n + 1 and the loop never ends because n stays 1. He stops the program with Ctrl+C, adds the missing line, and the loop ends after 5 passes. A while loop must change something that eventually makes its condition false.
- Step 6, Input: He adds age = int(input('Age? ')). Typing 14 gives the number 14, because int converts the text to a whole number. Then print(age + 1) outputs 15. Without int, adding 1 to text would cause an error.
- Your turn: Print the first five even numbers using a loop, and their total. Model answer: total = 0, for i in range(1, 6): print(i * 2), total = total + i * 2, then print(total). Output 2 4 6 8 10 and then 30.
Activity. About 30 to 40 minutes of class work, then one short practice task for home. Keep evidence: a worked task and a corrected copy.
Standard to meet. Write programs with variables, decisions and loops: at least 8 of 10 marks on a short task, with one line of reasoning for each answer.
Unit 2 Computational thinking and algorithms Weeks 11 to 20Analyse
In this unit, 'Computational thinking and algorithms', you learn to decompose problems and design algorithms. You work with notes, a worked line and a self-mark. You see it, say it, then do it alone.
- See it: watch or try the skill in 'Computational thinking and algorithms' on a teacher screen or a safe device.
- Name the parts: write the key words and what each part does.
- Use it: decompose problems and design algorithms. Save your work in a named file or folder.
- Test and fix: run it, find one fault, correct it, and note what you changed.
Step by step.
- Step 1, Decompose: A learner must plan a class bake sale. The learner breaks it into smaller parts: choose items, count how many of each, make a price-free sign, set up the stall, and clean up. Five small tasks are easier than one big one.
- Step 2, Find patterns: Each baker follows the same pattern: bring item, tell the team, place on the table. She notices she can write this once and reuse it for all 8 bakers. Spotting repeated steps is pattern recognition.
- Step 3, Abstract: The learner ignores detail like the colour of the tablecloth and keeps what matters: item name and number brought. A table with two columns, Item and Count, represents the real situation in a simple model.
- Step 4, Algorithm to find the largest count: List is 12, 7, 19, 4. Steps: set largest to the first number; look at each next number; if it is bigger than largest, replace largest; when no numbers remain, report largest.
- Step 5, Trace it: Start largest 12. Compare 7: not bigger. Compare 19: bigger, so largest becomes 19. Compare 4: not bigger. No numbers remain, so the answer is 19. Tracing by hand proves the algorithm before coding it.
- Step 6, Flowchart and test: She draws Start, set largest, a loop with a decision diamond 'Next number > largest?', Yes or No arrows, and End. She tests with 5, 5, 5; the result is 5, correct for equal numbers.
- Your turn: Find the smallest number in 8, 3, 11, 5 and trace it. Model answer: start smallest 8; 3 is smaller so smallest 3; 11 not; 5 not; answer 3. Steps mirror the largest algorithm with the comparison reversed.
Activity. About 30 to 40 minutes of class work, then one short practice task for home. Keep evidence: a worked task and a corrected copy.
Standard to meet. Decompose problems and design algorithms: at least 8 of 10 marks on a short task, with one line of reasoning for each answer.
Unit 3 Data, spreadsheets and databases Weeks 21 to 30Apply
In this unit, 'Data, spreadsheets and databases', you learn to clean, sort and summarise data. You work with notes, a worked line and a self-mark. You see it, say it, then do it alone.
- See it: watch or try the skill in 'Data, spreadsheets and databases' on a teacher screen or a safe device.
- Name the parts: write the key words and what each part does.
- Use it: clean, sort and summarise data. Save your work in a named file or folder.
- Test and fix: run it, find one fault, correct it, and note what you changed.
Step by step.
- Step 1, The raw data: Raed's sheet has 7 rows: Ali 72; bana 91; Cyrus blank; Dina 88; Dina 88; Eman 65; Fadi 150. The maximum score is 100, so some entries look wrong. Before analysis the data must be cleaned.
- Step 2, Fix format: He makes names consistent by changing bana to Bana and trimming extra spaces. Consistent text means sorting and searching work properly. Hidden extra spaces or odd capitals can make the same name look different to a computer.
- Step 3, Remove duplicates: Dina 88 appears twice, so he deletes one copy. The sheet now has 6 rows. Duplicates would count one student twice and distort totals and averages.
- Step 4, Handle missing and impossible values: Cyrus has no score, so he marks it as missing and leaves it out. Fadi 150 is above 100, so he flags it as an error to check with the teacher. Valid rows left: Ali, Bana, Dina, Eman.
- Step 5, Sort and summarise: Sorting scores highest first gives Bana 91, Dina 88, Ali 72, Eman 65. The maximum is 91 and the minimum is 65. The sum is 72 plus 91 plus 88 plus 65, which is 316.
- Step 6, Average and record: The average is 316 divided by 4, which is 79. He writes a note: 4 valid of 7 original rows; 1 duplicate, 1 missing and 1 impossible. Recording what was removed keeps the analysis honest.
- Your turn: Scores 60, 80, blank, 80 (duplicate student), 120. Clean and average. Model answer: remove the duplicate 80, ignore blank, flag 120, leaving 60 and 80; the average is 70.
Activity. About 30 to 40 minutes of class work, then one short practice task for home. Keep evidence: a worked task and a corrected copy.
Standard to meet. Clean, sort and summarise data: at least 8 of 10 marks on a short task, with one line of reasoning for each answer.
Unit 4 Introduction to artificial intelligence Weeks 31 to 36Understand
In this unit, 'Introduction to artificial intelligence', you learn to describe how machines learn from data and where bias comes from. You work with notes, a worked line and a self-mark. You see it, say it, then do it alone.
- See it: watch or try the skill in 'Introduction to artificial intelligence' on a teacher screen or a safe device.
- Name the parts: write the key words and what each part does.
- Use it: describe how machines learn from data and where bias comes from. Save your work in a named file or folder.
- Test and fix: run it, find one fault, correct it, and note what you changed.
Step by step.
- Step 1, Learn from labelled data: A fruit sorter is given 6 labelled examples. Plums weigh 120, 130 and 140 grams. Apples weigh 180, 190 and 200 grams. The machine looks for a rule that separates the two labels.
- Step 2, Learn a rule: The gap lies between 140 and 180. The middle is (140 plus 180) divided by 2, which is 160. The learned rule is: weight below 160 is plum, 160 or above is apple. This is a very simple model.
- Step 3, Predict: A new fruit weighs 150 grams, so it is below 160 and the model says plum. A fruit weighing 185 is above 160, so it is called apple. The model has never seen these exact weights before.
- Step 4, Test: The tester has 4 new labelled fruits: 135 plum, 175 apple, 145 plum, 195 apple. The model labels 135 plum (right), 175 apple (right), 145 plum (right), 195 apple (right). Accuracy is 4 of 4, which is 100 percent.
- Step 5, Where bias comes from: A face unlock tool is trained on 90 photos of one group and 10 of another. It is right 95 percent of the time for the first group and 60 percent for the second group.
- Step 6, Compute the hidden gap: Overall accuracy is (90 times 0.95 plus 10 times 0.60) divided by 100, which is (85.5 plus 6) divided by 100, giving 91.5 percent. The good overall number hides a 35 point gap between groups.
- Your turn: A model is trained on 80 photos from city A and 20 from city B and gets 90 percent and 50 percent. Overall? What fix? Model answer: (72 plus 10) divided by 100 is 82 percent; add more balanced training data from city B and test each group separately.
Activity. About 30 to 40 minutes of class work, then one short practice task for home. Keep evidence: a worked task and a corrected copy.
Standard to meet. Describe how machines learn from data and where bias comes from: at least 8 of 10 marks on a short task, with one line of reasoning for each answer.
assessment
How you are checked
Evidence for each unit is marked with this rubric by a teacher, and by a peer where the unit allows. Pass: no criterion at 'Not yet' after one retry.
| Criterion | Not yet | Meets | Exceeds |
|---|---|---|---|
| It works | Does not run | Runs with help | Runs and handles odd input |
| Understanding of the parts | Cannot name | Names most | Names and explains |
| Planning | None | A list | A clear ordered plan |
| Safety and care | Needs reminding | Follows rules | Follows rules and helps others |
| Practice habit | Rarely | Weekly | Most days |
Ten-question check, with model answers
Q1. Unit 1 (Python programming basics): Print the first five even numbers using a loop, and their total.
Model answer: total = 0, for i in range(1, 6): print(i * 2), total = total + i * 2, then print(total). Output 2 4 6 8 10 and then 30. (Covered in unit 1: Python programming basics.)
Q2. Unit 2 (Computational thinking and algorithms): Find the smallest number in 8, 3, 11, 5 and trace it.
Model answer: start smallest 8; 3 is smaller so smallest 3; 11 not; 5 not; answer 3. Steps mirror the largest algorithm with the comparison reversed. (Covered in unit 2: Computational thinking and algorithms.)
Q3. Unit 3 (Data, spreadsheets and databases): Scores 60, 80, blank, 80 (duplicate student), 120. Clean and average.
Model answer: remove the duplicate 80, ignore blank, flag 120, leaving 60 and 80; the average is 70. (Covered in unit 3: Data, spreadsheets and databases.)
Q4. Unit 4 (Introduction to artificial intelligence): A model is trained on 80 photos from city A and 20 from city B and gets 90 percent and 50 percent. Overall? What fix?
Model answer: (72 plus 10) divided by 100 is 82 percent; add more balanced training data from city B and test each group separately. (Covered in unit 4: Introduction to artificial intelligence.)
Q5. Unit 1 (Python programming basics): Run it. Show how you do it and say what the result is.
Model answer: The output is B. If he changes marks to 95 the first condition is true and A prints; the elif and else parts are skipped. Only the first true branch runs, which is why the order of conditions matters. (Covered in unit 1: Python programming basics.)
Q6. Unit 2 (Computational thinking and algorithms): Find patterns. Show how you do it and say what the result is.
Model answer: Each baker follows the same pattern: bring item, tell the team, place on the table. She notices she can write this once and reuse it for all 8 bakers. Spotting repeated steps is pattern recognition. (Covered in unit 2: Computational thinking and algorithms.)
Q7. Unit 3 (Data, spreadsheets and databases): Fix format. Show how you do it and say what the result is.
Model answer: He makes names consistent by changing bana to Bana and trimming extra spaces. Consistent text means sorting and searching work properly. Hidden extra spaces or odd capitals can make the same name look different to a computer. (Covered in unit 3: Data, spreadsheets and databases.)
Q8. Unit 4 (Introduction to artificial intelligence): Learn a rule. Show how you do it and say what the result is.
Model answer: The gap lies between 140 and 180. The middle is (140 plus 180) divided by 2, which is 160. The learned rule is: weight below 160 is plum, 160 or above is apple. This is a very simple model. (Covered in unit 4: Introduction to artificial intelligence.)
Q9. Unit 1 (Python programming basics): A for loop. Show how you do it and say what the result is.
Model answer: He types for i in range(1, 4): print(i * i). range(1, 4) gives 1, 2, 3 because the end value 4 is not included. The program prints 1, then 4, then 9, one per line. (Covered in unit 1: Python programming basics.)
Q10. Unit 2 (Computational thinking and algorithms): Abstract. Show how you do it and say what the result is.
Model answer: The learner ignores detail like the colour of the tablecloth and keeps what matters: item name and number brought. A table with two columns, Item and Count, represents the real situation in a simple model. (Covered in unit 2: Computational thinking and algorithms.)
levels L1 to L7
Where this course sits on the ladder
Seven slides, one for each level. Step in at your level and move up; credits stack. A level is reached when you can meet its standard, not by age.
Slide 1. L1 Basic: Computer science as problem solving
On the slide: L1 Basic · Computer science as problem solving
Notes: Name what makes a problem suitable for a computer, such as clear steps and repeated work. Notes: ask learners how they would find the tallest person in a room; they describe each step in words. No devices are needed, just a clear list.
Slide 2. L2 Awareness: Algorithms and flowcharts
On the slide: L2 Awareness · Algorithms and flowcharts
Notes: Describe an algorithm as a flowchart and trace it by hand. Notes: draw a flowchart that finds the larger of two numbers, then run it with 7 and 4 and with 5 and 5. Learners say what the chart does when numbers are equal. Work on paper first.
Slide 3. L3 Foundation: Functions and control flow
On the slide: L3 Foundation · Functions and control flow
Notes: Write a function with conditions and loops and test it with chosen inputs. Notes: write a factorial function; 5 factorial must give 120, and 0 factorial must give 1. Learners test one normal case, one edge case and one wrong input. Take screen breaks.
Slide 4. L4 Practitioner: Data structures and binary search (this course)
On the slide: L4 Practitioner · Data structures and binary search
Notes: Apply stacks, queues and sorted arrays to solve a task and predict the cost. Notes: a sorted list of 1,000 items needs at most 10 binary-search steps, since 2 to the 10 is 1,024. Learners trace a search for 37 in a list of 16 numbers and count the steps.
This course: Grade 09 Computer science is at this level. Its units include Python programming basics; Computational thinking and algorithms; Data, spreadsheets and databases; Introduction to artificial intelligence.
Slide 5. L5 Specialist: Recursion and analysis
On the slide: L5 Specialist · Recursion and analysis
Notes: Analyse a recursive function, count its calls and improve it with memoisation. Notes: a naive Fibonacci of 5 makes 15 calls. Learners draw the call tree, spot repeated work, add a cache and show the calls falling to 9. Test with small inputs before large ones.
Slide 6. L6 Advanced (degree level): Complexity and proofs
On the slide: L6 Advanced · Complexity and proofs
Notes: Evaluate algorithms by growth rate and prove a simple correctness claim. Notes: for n of 1,000,000, n squared is 10 to the 12, but n log2 n is about 2 times 10 to the 7. Learners prove a loop invariant for insertion sort and state the best and worst cases.
Slide 7. L7 Super expert (postgraduate/expert): Lower bounds and research design
On the slide: L7 Super expert · Lower bounds and research design
Notes: Evaluate limits of computation and design a rigorous experiment on algorithms. Notes: any comparison sort of 10 items needs at least the ceiling of log2 of 10 factorial, which is 22 comparisons. Learners plan benchmarks with controlled inputs, repeats, confidence intervals and a data-sharing statement.
Notes: a level is reached when you can meet its standard, not by age. Learners may move up or down a level by subject.
ten locations and global
Localised for your place
Teach in the local language first, with English support. Use local currency, units and examples in every worksheet. Local curriculum and ministry rules are checked before use in a school; Arabic, Islamic, Social and Moral content needs licensed educators and ministry review. Child-safety rules apply for every learner under 18.
India (Bengaluru)
Use INR in money problems; deliver in English, Hindi, Kannada; personal data rule: Digital Personal Data Protection Act 2023; guardian contact for every learner under 18.
Netherlands (Eindhoven area)
Use EUR in money problems; deliver in Dutch, English; personal data rule: EU GDPR (Dutch: AVG), supervised by the Autoriteit Persoonsgegevens; guardian contact for every learner under 18.
UAE (Dubai and Abu Dhabi)
Use AED in money problems; deliver in Arabic, English; personal data rule: Federal Decree-Law No. 45 of 2021 (personal data protection); guardian contact for every learner under 18.
Brazil (Sao Paulo)
Use BRL in money problems; deliver in Portuguese (Spanish and English support); personal data rule: LGPD (Lei Geral de Protecao de Dados); guardian contact for every learner under 18.
Canada (Toronto)
Use CAD in money problems; deliver in English, French; personal data rule: PIPEDA, with provincial rules where they apply; guardian contact for every learner under 18.
United States
Use USD in money problems; deliver in English, Spanish; personal data rule: state privacy laws (for example California), and COPPA for children under 13; guardian contact for every learner under 18.
Singapore
Use SGD in money problems; deliver in English, Mandarin, Malay, Tamil; personal data rule: Personal Data Protection Act (PDPA); guardian contact for every learner under 18.
Australia
Use AUD in money problems; deliver in English; personal data rule: the Privacy Act 1988 and the Australian Privacy Principles; guardian contact for every learner under 18.
Hong Kong (Eastern Asia)
Use HKD in money problems; deliver in Chinese (Cantonese, Mandarin), English; personal data rule: the Personal Data (Privacy) Ordinance; guardian contact for every learner under 18.
Georgia and Israel (Western Asia)
Use GEL or ILS in money problems; deliver in Georgian, Hebrew, Arabic, English; personal data rule: the personal data law of the country where the learner lives; guardian contact for every learner under 18.
Cayman Islands (Caribbean)
Use KYD in money problems; deliver in English; personal data rule: the Data Protection Act; guardian contact for every learner under 18.
Mexico
Use MXN in money problems; deliver in Spanish, English; personal data rule: the federal law on personal data held by private parties; guardian contact for every learner under 18.
where this leads
Next steps, study and work
Next course
Study and work this course supports
- Computing, data and office-technology routes.
- IT support, developer, data entry, web or network technician. These are examples, not promises of a job.
Pathways
next
Draft
Draft course in our own words. Needs review by a qualified teacher before classroom use. Not live.