Saxony Abitur Informatics - independent foundations study materials
Saxony Abitur Informatics - independent foundations study resources

Saxony Abitur Informatics - independent foundations: Computational Thinking and Problem Solving

Saxony Abitur Informatics - independent foundations · Work through your exam, one topic at a time.

All guide sections

Computational Thinking and Problem Solving

This shared-core guide develops decomposition, pattern recognition, abstraction, algorithm design and tracing, and evaluation. Use pseudocode and search/sort scenarios to practice predicting output, identifying missing steps, and justifying complexity. The organization is editorial and does not reproduce another credential’s blueprint.

Computational thinking practices

Decomposition splits a large problem into smaller solvable parts. Pattern recognition identifies repeated structures or behaviors. Abstraction removes detail that does not affect the solution and names the essential model. Algorithm design expresses a finite, unambiguous sequence of steps. A flowchart uses an oval for start/end, a parallelogram for input/output, a rectangle for process, a diamond for decision, and arrows for control flow. Pseudocode should show sequence, selection (IF/CASE), and iteration (WHILE/FOR) without language-specific syntax.

Tracing and efficiency

A trace table records variable values after each step; it prevents guessing. Binary search requires sorted data and repeatedly halves the remaining interval, so it is O(log n); linear search is O(n). Comparison sorts such as merge sort are O(n log n) worst case, while bubble and insertion sort are O(n^2). Best, average, and worst cases differ: quicksort is O(n log n) average but O(n^2) worst.

Worked example

Search for 23 in [2, 5, 8, 12, 16, 23, 38, 56, 72, 91] using binary search and zero-based indices. low = 0, high = 9, mid = 4, value 16: 23 is larger, so low = 5. mid = 7, value 56: 23 is smaller, so high = 6. mid = 5, value 23: found after three comparisons. Checking whether the array is sorted comes first; without that precondition, binary search is invalid.

Traps that cost marks

Off-by-one errors at interval boundaries (mid = (low + high) // 2, then low = mid + 1 or high = mid - 1); applying binary search to unsorted data; confusing abstraction with decomposition; ignoring a loop's termination condition; and reporting average-case cost as worst-case.