school course
Grade 11 Science: 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 decisions and loops.
- Apply Store and process data with Python structures.
- Apply Convert numbers and describe hardware.
- Create Create and query a table.
Task, condition and standard
Task
Meet the outcome of every unit in Grade 11 Science 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 70 percent on an exam-style task, with the method shown. 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: control flow and strings Weeks 1 to 9Apply
In this unit, 'Python programming: control flow and strings', you learn to write programs with decisions and loops. You work with exam-style questions and written reasoning. You see it, say it, then do it alone.
- See it: watch or try the skill in 'Python programming: control flow and strings' 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 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, Strings and slicing: s = 'computer'. len(s) is 8. s[0:3] is 'com', s[-3:] is 'ter', and s.upper() is 'COMPUTER'. Indexes start at 0, and negative indexes count from the end, so s[-1] is 'r'.
- Step 2, Count vowels with a loop: count = 0, then for ch in 'Education': if ch.lower() in 'aeiou': count = count + 1. The vowels E, u, a, i, o are found, so print(count) shows 5. lower() makes the capital E match.
- Step 3, Palindrome test: word = 'Level', then if word.lower() == word.lower()[::-1]: print('palindrome') else: print('no'). Lower case gives 'level', reversed 'level', equal, so the output is palindrome. The slice [::-1] reverses a string.
- Step 4, While loop with break: attempts = 0, while attempts < 3: pw = input('Password: '), if pw == 'open': print('Welcome') then break, and otherwise attempts = attempts + 1. Entering open on the first try prints Welcome and stops the loop.
- Step 5, Nested loop pattern: for row in range(1, 4): print('*' * row). It prints one star, then two stars, then three stars on separate lines, because the string is repeated row times. Row goes 1, 2, 3.
- Step 6, Trace and debug: A student wrote range(1, 3) and got only 2 rows. Because range stops before 3, the rows were 1 and 2. Changing to range(1, 4) gives the three rows. Off-by-one errors are common in loops, so always trace the first and last values.
- Your turn: Count the vowels in 'Python' and test whether 'Noon' is a palindrome. Model answer: only o is a vowel, so the count is 1; 'noon' reversed is 'noon', so the output is palindrome.
Activity. About 40 to 50 minutes of class work, then one short practice task for home. Keep evidence: a timed paper and an error log.
Standard to meet. Write programs with decisions and loops: at least 70 percent on an exam-style task, with the method shown.
Unit 2 Lists, tuples and dictionaries Weeks 10 to 18Apply
In this unit, 'Lists, tuples and dictionaries', you learn to store and process data with Python structures. You work with exam-style questions and written reasoning. You see it, say it, then do it alone.
- See it: watch or try the skill in 'Lists, tuples and dictionaries' on a teacher screen or a safe device.
- Name the parts: write the key words and what each part does.
- Use it: store and process data with Python structures. 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, Lists: marks = [72, 91, 65, 88]. marks.append(79) adds a fifth value. marks.sort() gives [65, 72, 79, 88, 91]. max(marks) is 91, and sum(marks) is 395 because 72 plus 91 plus 65 plus 88 plus 79 equals 395.
- Step 2, Average and slicing: sum(marks) / len(marks) is 395 / 5, which is 79.0. marks[:2] gives [65, 72], the two lowest marks of the sorted list. marks[-1] gives 91. Lists can be changed in place.
- Step 3, Tuples: point = (3, 4). x, y = point unpacks the values so x is 3 and y is 4. Trying point[0] = 5 raises TypeError because tuples cannot be changed. Use tuples for fixed values such as coordinates.
- Step 4, Dictionaries: stock = {'apple': 5, 'pear': 3}. stock['plum'] = 4 adds a key. stock['apple'] is 5. for k, v in stock.items(): print(k, v) prints three lines. sum(stock.values()) is 12.
- Step 5, Count words: words = 'to be or not to be'.split() gives six items. freq = {}, then for w in words: freq[w] = freq.get(w, 0) + 1. The result is {'to': 2, 'be': 2, 'or': 1, 'not': 1}. The total counts are 2 plus 2 plus 1 plus 1, which is 6.
- Step 6, Choose the structure: Marks in order suit a list. A fixed coordinate suits a tuple. Names to marks suit a dictionary. Using a missing key, stock['kiwi'], raises KeyError, so use stock.get('kiwi', 0) to get 0 safely.
- Your turn: nums = [4, 9, 2]. Sort descending and find the total. Model answer: nums.sort(reverse=True) gives [9, 4, 2]; sum(nums) is 15; nums[0] is 9, the largest.
Activity. About 40 to 50 minutes of class work, then one short practice task for home. Keep evidence: a timed paper and an error log.
Standard to meet. Store and process data with Python structures: at least 70 percent on an exam-style task, with the method shown.
Unit 3 Computer systems and number systems Weeks 19 to 27Apply
In this unit, 'Computer systems and number systems', you learn to convert numbers and describe hardware. You work with exam-style questions and written reasoning. You see it, say it, then do it alone.
- See it: watch or try the skill in 'Computer systems and number systems' on a teacher screen or a safe device.
- Name the parts: write the key words and what each part does.
- Use it: convert numbers and describe hardware. 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, Decimal to binary: Convert 45. The place values are 32, 16, 8, 4, 2, 1. 45 minus 32 leaves 13, no 16, 13 minus 8 leaves 5, 5 minus 4 leaves 1, no 2, and 1 minus 1 leaves 0. Bits are 101101.
- Step 2, Binary to decimal: Convert 11010. The place values are 16, 8, 4, 2, 1, so 16 plus 8 plus 0 plus 2 plus 0 equals 26. Checking back: 26 minus 16 is 10, minus 8 is 2, minus 2 is 0, which matches the bit pattern.
- Step 3, Hexadecimal: Convert 45 to hex. 45 divided by 16 is 2 remainder 13, and 13 is D. So 45 is 2D. Check: 2 times 16 plus 13 is 45. Hex uses 0 to 9 and A to F.
- Step 4, Binary to hex: 10110110 splits into 1011 and 0110. 1011 is 11, which is B, and 0110 is 6. So the result is B6, which is 11 times 16 plus 6, or 182 in decimal. Groups of 4 bits make one hex digit.
- Step 5, Binary addition: 1011 plus 0110. Right to left: 1 plus 0 is 1; 1 plus 1 is 10, write 0 carry 1; 0 plus 1 plus carry 1 is 10, write 0 carry 1; 1 plus 0 plus carry 1 is 10. Result 10001, which is 17, since 11 plus 6 is 17.
- Step 6, Hardware link: The CPU runs instructions as binary, RAM holds data and programs in use and loses them at power off, and storage keeps files permanently. A file of 8 bits per character means 5 letters use 40 bits, which is 5 bytes.
- Your turn: Convert 37 to binary and hex. Model answer: 37 is 32 plus 4 plus 1, so binary is 100101; in hex 37 divided by 16 is 2 remainder 5, so 25; check 2 times 16 plus 5 is 37.
Activity. About 40 to 50 minutes of class work, then one short practice task for home. Keep evidence: a timed paper and an error log.
Standard to meet. Convert numbers and describe hardware: at least 70 percent on an exam-style task, with the method shown.
Unit 4 Introduction to databases and SQL Weeks 28 to 36Create
In this unit, 'Introduction to databases and SQL', you learn to create and query a table. You work with exam-style questions and written reasoning. You see it, say it, then do it alone.
- See it: watch or try the skill in 'Introduction to 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: create and query a table. 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, Create a table: CREATE TABLE books (book_id INTEGER PRIMARY KEY, title VARCHAR(30), pages INTEGER, copies INTEGER); The database confirms that an empty table with four columns exists. The primary key makes each book_id unique.
- Step 2, Insert rows: INSERT INTO books VALUES (1,'Sea',120,3),(2,'Sky',200,2),(3,'Sand',80,5),(4,'Star',150,1); reports 4 rows inserted. SELECT COUNT(*) FROM books; returns 4, which matches the number inserted.
- Step 3, Query with condition: SELECT title, pages FROM books WHERE pages > 100 ORDER BY pages; returns Sea 120, Star 150, Sky 200. Sand with 80 pages is excluded, so 3 of 4 rows pass the condition.
- Step 4, Aggregates: SELECT SUM(copies) FROM books; returns 11, as 3 plus 2 plus 5 plus 1 is 11. SELECT AVG(pages) FROM books; returns 137.5 because 120 plus 200 plus 80 plus 150 is 550, and 550 divided by 4 is 137.5.
- Step 5, Update: UPDATE books SET copies = 4 WHERE title = 'Star'; changes Star from 1 to 4. Running SUM(copies) again returns 14. Without the WHERE clause every row would change, which is a serious mistake.
- Step 6, Delete and verify: DELETE FROM books WHERE book_id = 3; removes Sand. COUNT(*) now returns 3 and the sum of copies is 9, since 14 minus 5 is 9. Always test the WHERE condition with SELECT before running a DELETE.
- Your turn: Create table pets(id, name, age) with (1,'Cat',3),(2,'Dog',7),(3,'Bird',1). List pets older than 2, oldest first. Model answer: SELECT name, age FROM pets WHERE age > 2 ORDER BY age DESC; gives Dog 7, Cat 3.
Activity. About 40 to 50 minutes of class work, then one short practice task for home. Keep evidence: a timed paper and an error log.
Standard to meet. Create and query a table: at least 70 percent on an exam-style task, with the method shown.
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: control flow and strings): Count the vowels in 'Python' and test whether 'Noon' is a palindrome.
Model answer: only o is a vowel, so the count is 1; 'noon' reversed is 'noon', so the output is palindrome. (Covered in unit 1: Python programming: control flow and strings.)
Q2. Unit 2 (Lists, tuples and dictionaries): Nums = [4, 9, 2]. Sort descending and find the total.
Model answer: nums.sort(reverse=True) gives [9, 4, 2]; sum(nums) is 15; nums[0] is 9, the largest. (Covered in unit 2: Lists, tuples and dictionaries.)
Q3. Unit 3 (Computer systems and number systems): Convert 37 to binary and hex.
Model answer: 37 is 32 plus 4 plus 1, so binary is 100101; in hex 37 divided by 16 is 2 remainder 5, so 25; check 2 times 16 plus 5 is 37. (Covered in unit 3: Computer systems and number systems.)
Q4. Unit 4 (Introduction to databases and SQL): Create table pets(id, name, age) with (1,'Cat',3),(2,'Dog',7),(3,'Bird',1). List pets older than 2, oldest first.
Model answer: SELECT name, age FROM pets WHERE age > 2 ORDER BY age DESC; gives Dog 7, Cat 3. (Covered in unit 4: Introduction to databases and SQL.)
Q5. Unit 1 (Python programming: control flow and strings): Count vowels with a loop. Show how you do it and say what the result is.
Model answer: count = 0, then for ch in 'Education': if ch.lower() in 'aeiou': count = count + 1. The vowels E, u, a, i, o are found, so print(count) shows 5. lower() makes the capital E match. (Covered in unit 1: Python programming: control flow and strings.)
Q6. Unit 2 (Lists, tuples and dictionaries): Average and slicing. Show how you do it and say what the result is.
Model answer: sum(marks) / len(marks) is 395 / 5, which is 79.0. marks[:2] gives [65, 72], the two lowest marks of the sorted list. marks[-1] gives 91. Lists can be changed in place. (Covered in unit 2: Lists, tuples and dictionaries.)
Q7. Unit 3 (Computer systems and number systems): Binary to decimal. Show how you do it and say what the result is.
Model answer: Convert 11010. The place values are 16, 8, 4, 2, 1, so 16 plus 8 plus 0 plus 2 plus 0 equals 26. Checking back: 26 minus 16 is 10, minus 8 is 2, minus 2 is 0, which matches the bit pattern. (Covered in unit 3: Computer systems and number systems.)
Q8. Unit 4 (Introduction to databases and SQL): Insert rows. Show how you do it and say what the result is.
Model answer: INSERT INTO books VALUES (1,'Sea',120,3),(2,'Sky',200,2),(3,'Sand',80,5),(4,'Star',150,1); reports 4 rows inserted. SELECT COUNT(*) FROM books; returns 4, which matches the number inserted. (Covered in unit 4: Introduction to databases and SQL.)
Q9. Unit 1 (Python programming: control flow and strings): Palindrome test. Show how you do it and say what the result is.
Model answer: word = 'Level', then if word.lower() == word.lower()[::-1]: print('palindrome') else: print('no'). Lower case gives 'level', reversed 'level', equal, so the output is palindrome. The slice [::-1] reverses a string. (Covered in unit 1: Python programming: control flow and strings.)
Q10. Unit 2 (Lists, tuples and dictionaries): Tuples. Show how you do it and say what the result is.
Model answer: point = (3, 4). x, y = point unpacks the values so x is 3 and y is 4. Trying point[0] = 5 raises TypeError because tuples cannot be changed. Use tuples for fixed values such as coordinates. (Covered in unit 2: Lists, tuples and dictionaries.)
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
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.
Slide 5. L5 Specialist: Recursion and analysis (this course)
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.
This course: Grade 11 Science Computer science is at this level. Its units include Python programming: control flow and strings; Lists, tuples and dictionaries; Computer systems and number systems; Introduction to databases and SQL.
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.