Unit Planner: Programming Fundamentals and Algorithms
Week | Topic | Content Focus | Big Idea | Learning Objectives | Assessment Strategies |
| 1 | Programming Fundamentals | Variables, data types, tracing simple programs, flowcharts | Programs are built from data and instructions that must be precisely understood. | - Identify different data types and variables. - Describe flowcharts representing simple algorithms. - Trace code to determine outputs. | Diagnostic quiz, trace-the-code worksheets, flowchart exercises |
| 2 | Programming Fundamentals | Substrings, exceptions, debugging | Programming involves precise logic and anticipating errors. | - Trace string operations. - Explain the role of exceptions. - Construct basic debugging strategies. | In-class bug hunt, string manipulation tasks, explain-exception activity |
| 3 | Programming Constructs | Sequence and selection structures (if, if-else, switch) | Programs make decisions using conditional logic. | - Construct control structures using conditions. - Explain branching logic. - Determine program paths based on input. | Code snippets to analyze and modify, logic puzzles |
| 4 | Programming Constructs | Loops, modularisation (functions/procedures) | Repetition and reuse reduce complexity. | - Construct programs with loops. - Evaluate the need for modularization. - Trace loop-based logic. | Coding tasks with loops, modular code rewrite, trace-a-loop exercise |
| 5 | Data Structures | Arrays, lists, static vs dynamic structures, stacks, queues | Data structures organize and store data for efficient processing. | - Distinguish between static and dynamic structures. - Compare array and list usage. - Apply stack and queue operations. | Data structure implementation, stack/queue simulation activities |
| 6 | Programming Algorithms | Linear & binary search, intro to Big O notation | Algorithms solve problems efficiently. | - Compare linear and binary search. - Analyze algorithm efficiency (Big O). - Apply search algorithms to solve problems. | Algorithm analysis tasks, code implementation, written Big O comparison |
| 7 | Programming Algorithms | Bubble sort, selection sort, recursion (HL) | Sorting reveals patterns in algorithm behavior. | - Trace bubble and selection sort operations. - Construct recursive solutions (HL). - Evaluate sort performance. | Sorting race simulation, recursion tracing (HL), pseudocode comparison |
| 8 | File Processing + Computational Thinking | File read/write, identifying a problem, defining inputs/outputs | Programs interact with external data and solve real-world problems. | - Design basic file I/O operations. - Outline a problem specification. - Evaluate file-based solutions. | File I/O project task, write a problem spec, peer feedback |
| 9 | Unit Review & Assessment | Consolidation & summative testing | Reflection and assessment solidify learning. | - Solve problems requiring integration of programming concepts. - Evaluate one’s own code quality and correctness. | Summative paper-based exam, self-reflection form, peer code reviews |