school course
Grade 10: 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 using lists, dictionaries and files.
- Create Design and query a small database.
- Create Plan a small data project from problem to evaluation.
- Understand Describe privacy, copyright and responsible AI use.
Task, condition and standard
Task
Meet the outcome of every unit in Grade 10 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: functions, files and data structures Weeks 1 to 11Apply
In this unit, 'Python: functions, files and data structures', you learn to write programs using lists, dictionaries and files. 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: functions, files and data structures' on a teacher screen or a safe device.
- Name the parts: write the key words and what each part does.
- Use it: write programs using lists, dictionaries and files. 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, Write a function: A learner writes def average(nums): return sum(nums) / len(nums). Calling average([72, 91, 65, 88]) adds 316 and divides by 4, returning 79.0. A function packages one job so it can be reused without rewriting.
- Step 2, Use a dictionary: He stores marks = {'Learner 1': 72, 'Learner 2': 91, 'Learner 3': 65, 'Learner 4': 88}. marks['Learner 2'] gives 91. A dictionary looks up a value by its key, which is faster to read than searching a list by position.
- Step 3, Write to a file: with open('scores.txt', 'w') as f: for n, m in marks.items(): f.write(n + ',' + str(m) + '\n'). The file has 4 lines such as Learner 1,72. The with block closes the file safely at the end.
- Step 4, Read it back: with open('scores.txt') as f: lines = f.read().splitlines() gives a list of 4 strings. For each line, n, m = line.split(',') separates the name and text number, and data[n] = int(m) rebuilds a dictionary.
- Step 5, Use a list and dictionary together: best = max(data, key=data.get) returns 'Learner 2', because Learner 2 has the highest value, 91. print(best, data[best]) displays Learner 2 91. print(average(list(data.values()))) shows 79.0, the same as before.
- Step 6, Test an edge case: If scores.txt is missing, open raises FileNotFoundError. He wraps the reading in try and except FileNotFoundError and prints 'No file yet'. Handling errors stops the program from crashing.
- Your turn: stock = {'apple': 5, 'pear': 3, 'plum': 4}. Write code for the total and the most stocked item. Model answer: total = sum(stock.values()) gives 12; best = max(stock, key=stock.get) gives 'apple'.
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 using lists, dictionaries and files: at least 8 of 10 marks on a short task, with one line of reasoning for each answer.
Unit 2 Databases and SQL Weeks 12 to 22Create
In this unit, 'Databases and SQL', you learn to design and query a small database. 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 'Databases and SQL' on a teacher screen or a safe device.
- Name the parts: write the key words and what each part does.
- Use it: design and query a small database. 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, Design two tables: A learner separates people from marks. students(student_id, name) and marks(student_id, subject, mark). student_id is the primary key in students and a foreign key in marks, so each mark points to one student.
- Step 2, Create and fill: CREATE TABLE students (student_id INTEGER PRIMARY KEY, name TEXT); and CREATE TABLE marks (student_id INTEGER, subject TEXT, mark INTEGER); then INSERT students (1,'Learner 1'),(2,'Learner 2') and marks (1,'Maths',72),(1,'Science',80),(2,'Maths',91),(2,'Science',85). That is 2 students and 4 marks.
- Step 3, Why two tables: Names are stored once, not repeated in every mark row. If Learner 2 changed their name, only 1 row in students changes, not 2 rows in marks. This avoids repeated data and mistakes.
- Step 4, Join: SELECT s.name, m.subject, m.mark FROM students s JOIN marks m ON s.student_id = m.student_id WHERE m.mark >= 80 ORDER BY m.mark DESC; returns Learner 2 Maths 91, Learner 2 Science 85, Learner 1 Science 80. Learner 1's 72 fails the WHERE test.
- Step 5, Group: SELECT s.name, AVG(m.mark) FROM students s JOIN marks m ON s.student_id = m.student_id GROUP BY s.name; returns Learner 1 76.0 and Learner 2 88.0. Check: Learner 1 is (72 plus 80) divided by 2 is 76; Learner 2 is (91 plus 85) divided by 2 is 88.
- Step 6, Check for mistakes: A mark with student_id 3 would match no student, so the join would not show it. The learner runs SELECT COUNT(*) FROM marks; and gets 4, then checks the join returns the 4 matching rows.
- Your turn: Tables books(book_id, title) and loans(book_id, days) with books (1,'Sea'),(2,'Sky') and loans (1,7),(1,5),(2,10). Average days per title? Model answer: join on book_id, GROUP BY title; Sea is (7 plus 5) divided by 2, which is 6.0; Sky is 10.0.
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. Design and query a small database: at least 8 of 10 marks on a short task, with one line of reasoning for each answer.
Unit 3 Artificial intelligence project cycle Weeks 23 to 33Create
In this unit, 'Artificial intelligence project cycle', you learn to plan a small data project from problem to evaluation. 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 'Artificial intelligence project cycle' on a teacher screen or a safe device.
- Name the parts: write the key words and what each part does.
- Use it: plan a small data project from problem to evaluation. 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, Scope the problem: A learner's team asks, 'Which students are likely to return library books late?' The goal is a yes or no prediction so a librarian can send a reminder. They write the problem, who it helps and what a good result means.
- Step 2, Acquire data: They use 250 anonymous loan records with 3 columns: number of books out, days since last visit, and returned late yes or no. Names are removed to protect privacy, and the data is used only for this project.
- Step 3, Explore and prepare: They find 12 rows with empty values and remove them, leaving 238. They check balance: 175 returned on time and 63 late. If the model always guessed on time it would be right 175 of 238, about 73.5 percent.
- Step 4, Split: They keep 188 rows for training and 50 for testing, since 188 plus 50 is 238. The model must be tested on rows it has never seen, otherwise it may only memorise the data.
- Step 5, Evaluate: On the 50 test cases the model gets TP 18, TN 22, FP 4, FN 6. These total 18 plus 22 plus 4 plus 6, which is 50. Accuracy is (18 plus 22) divided by 50, or 80 percent.
- Step 6, Precision and recall: Precision is 18 divided by (18 plus 4), which is 81.8 percent: of the students predicted late, most were. Recall is 18 divided by (18 plus 6), which is 75 percent: it caught three quarters of the late returns.
- Your turn: A test has TP 10, TN 30, FP 5, FN 5. Find accuracy and recall. Model answer: total 50; accuracy is 40 divided by 50, or 80 percent; recall is 10 divided by 15, which is 66.7 percent.
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. Plan a small data project from problem to evaluation: at least 8 of 10 marks on a short task, with one line of reasoning for each answer.
Unit 4 Cyber law and ethics Weeks 34 to 36Understand
In this unit, 'Cyber law and ethics', you learn to describe privacy, copyright and responsible AI use. 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 'Cyber law and ethics' on a teacher screen or a safe device.
- Name the parts: write the key words and what each part does.
- Use it: describe privacy, copyright and responsible AI use. 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, Privacy case: A learner's app asks for the user's location, contacts and photos just to show a school timetable. The learner asks, 'What data is really needed?' Only the timetable is needed, so asking for 3 data types is too much.
- Step 2, Apply data minimisation: She keeps only what the function needs and removes location, contacts and photos. Collecting less data lowers the risk if the data leaks, and users must be told clearly what is collected and why.
- Step 3, Copyright case: For a poster she finds a photograph online. The page says 'All rights reserved'. That means she may not copy it without permission. She can ask the owner, use a picture marked free to reuse with credit, or draw her own.
- Step 4, Give credit properly: She picks an image whose licence allows reuse with credit, and writes under it: creator name, title, source website, and licence name. Credit does not replace permission when the work is not licensed.
- Step 5, Responsible AI case: For a history essay she uses an AI tool to draft a paragraph. She checks each fact, rewrites in her own words, and tells her teacher she used AI for a first draft. She does not hand in the draft as her own work.
- Step 6, Cyber law idea: Breaking into someone's account, spreading harmful content or sharing a classmate's private data can be offences under cybercrime and data protection rules. The learner checks the country's current rules or asks the teacher.
- Your turn: Your team wants to use a song on a school video. What do you check? Model answer: check the licence or get permission, use free-to-reuse music with credit, or compose your own; do not just copy it.
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 privacy, copyright and responsible AI use: 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: functions, files and data structures): Stock = {'apple': 5, 'pear': 3, 'plum': 4}. Write code for the total and the most stocked item.
Model answer: total = sum(stock.values()) gives 12; best = max(stock, key=stock.get) gives 'apple'. (Covered in unit 1: Python: functions, files and data structures.)
Q2. Unit 2 (Databases and SQL): Tables books(book_id, title) and loans(book_id, days) with books (1,'Sea'),(2,'Sky') and loans (1,7),(1,5),(2,10). Average days per title?
Model answer: join on book_id, GROUP BY title; Sea is (7 plus 5) divided by 2, which is 6.0; Sky is 10.0. (Covered in unit 2: Databases and SQL.)
Q3. Unit 3 (Artificial intelligence project cycle): A test has TP 10, TN 30, FP 5, FN 5. Find accuracy and recall.
Model answer: total 50; accuracy is 40 divided by 50, or 80 percent; recall is 10 divided by 15, which is 66.7 percent. (Covered in unit 3: Artificial intelligence project cycle.)
Q4. Unit 4 (Cyber law and ethics): Your team wants to use a song on a school video. What do you check?
Model answer: check the licence or get permission, use free-to-reuse music with credit, or compose your own; do not just copy it. (Covered in unit 4: Cyber law and ethics.)
Q5. Unit 1 (Python: functions, files and data structures): Use a dictionary. Show how you do it and say what the result is.
Model answer: He stores marks = {'Learner 1': 72, 'Learner 2': 91, 'Learner 3': 65, 'Learner 4': 88}. marks['Learner 2'] gives 91. A dictionary looks up a value by its key, which is faster to read than searching a list by position. (Covered in unit 1: Python: functions, files and data structures.)
Q6. Unit 2 (Databases and SQL): Create and fill. Show how you do it and say what the result is.
Model answer: CREATE TABLE students (student_id INTEGER PRIMARY KEY, name TEXT); and CREATE TABLE marks (student_id INTEGER, subject TEXT, mark INTEGER); then INSERT students (1,'Learner 1'),(2,'Learner 2') and marks (1,'Maths',72),(1,'Science',80),(2,'Maths',91),(2,'Science',85). That is 2 students and 4 marks. (Covered in unit 2: Databases and SQL.)
Q7. Unit 3 (Artificial intelligence project cycle): Acquire data. Show how you do it and say what the result is.
Model answer: They use 250 anonymous loan records with 3 columns: number of books out, days since last visit, and returned late yes or no. Names are removed to protect privacy, and the data is used only for this project. (Covered in unit 3: Artificial intelligence project cycle.)
Q8. Unit 4 (Cyber law and ethics): Apply data minimisation. Show how you do it and say what the result is.
Model answer: She keeps only what the function needs and removes location, contacts and photos. Collecting less data lowers the risk if the data leaks, and users must be told clearly what is collected and why. (Covered in unit 4: Cyber law and ethics.)
Q9. Unit 1 (Python: functions, files and data structures): Write to a file. Show how you do it and say what the result is.
Model answer: with open('scores.txt', 'w') as f: for n, m in marks.items(): f.write(n + ',' + str(m) + '\n'). The file has 4 lines such as Learner 1,72. The with block closes the file safely at the end. (Covered in unit 1: Python: functions, files and data structures.)
Q10. Unit 2 (Databases and SQL): Why two tables. Show how you do it and say what the result is.
Model answer: Names are stored once, not repeated in every mark row. If Learner 2 changed their name, only 1 row in students changes, not 2 rows in marks. This avoids repeated data and mistakes. (Covered in unit 2: Databases and SQL.)
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 10 Computer science is at this level. Its units include Python: functions, files and data structures; Databases and SQL; Artificial intelligence project cycle; Cyber law and ethics.
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.