These A Level Computer Science H446 topics consistently produce the lowest scores. Prioritise these in your revision.
!
Pseudocode algorithm writing — integer division, variable assignment and output ordering
H446/02 June 2023 Q6: examiners observed 'a very poor standard of pseudocode algorithms from less successful responses'. Common errors included using bare '/' for integer division, performing a MOD or DIV operation without assigning the result to a variable, failing to generalise the solution for inputs of any length, and appending remainders in the wrong order without reversing at the end.
Affects: H446/02
!
OOP programming — constructors, getters/setters, encapsulation and object instantiation
H446/02 Section B, both 2023 and 2024: candidates with limited OOP experience produced very little code. Common errors: assigning parameters to attributes in reverse (attribute to parameter); declaring getters as procedures without a return statement; using private access modifiers on methods that must be called externally; passing '25' (string) instead of 25 (integer) on instantiation; confusion between class declaration and instantiation.
Affects: H446/02
!
Merge sort — the sorting mechanism during the merge phase
H446/02 June 2023 Q7*(c)(i): examiners issued a formal Misconception note stating that many candidates believe sorting happens within sub-lists. Very few candidates could accurately describe how the merge phase uses two pointers to compare items from two already-sorted sub-lists and build a new sorted output. Omitting the merge phase description entirely was also common.
Affects: H446/02
!
Big O notation — distinguishing polynomial O(n²) from exponential O(2ⁿ), and defining logarithmic growth precisely
H446/02 June 2023 Q7*(a) and June 2024 Q6(d): in 2023 a significant number of candidates thought exponential complexity was O(n²) rather than O(2ⁿ). In 2024 a formal Misconception note was issued stating 'candidates erroneously thought that n² or 2n demonstrated exponential growth instead of 2ⁿ'. Circular definitions ('grows exponentially') were not credited. Logarithmic O(log n) was also poorly explained — many candidates stated proportionality without explaining the diminishing additional work.
Affects: H446/02
!
Record data structures — distinct from database records
H446/02 June 2024 Q7(a): examiners noted 'Record structures were poorly understood, and it was clear that many candidates had very limited experience of using records / structures within a programming language. Many candidates gave responses related to database records rather than record data structures.' Candidates confuse the programming construct (a collection of named fields of potentially different types) with a database row.
Affects: H446/02
!
Virtual memory — pages and segments and their relationship to virtual address spaces
H446/01 June 2023 Q1(g)*: examiners noted that 'many candidates were able to show an understanding of pages being a fixed size and segments being variable size, but few were able to relate virtual memory to the use of pages and segments and few had an understanding of how they are used.' Responses about why virtual memory is important tended to be vague, and a few candidates irrelevantly discussed compression.
Affects: H446/01
!
Protocol layering — explaining why protocols are layered rather than just describing the TCP/IP layers
H446/01 June 2023 Q1(d)(iv): examiners noted that 'protocol layering has appeared in questions in previous papers, but many candidates were not able to explain why they are layered. Some candidates gave a description of the layers in TCP/IP without saying why it was layered.' The expected answers centred on independence of layers (changes to one layer do not require changes to others) and interoperability.
Affects: H446/01
!
Symmetric vs asymmetric encryption and hashing in context — applying the distinction correctly to a scenario
H446/01 June 2023 Q4(c)*: examiners noted that 'most candidates could name symmetric and asymmetric encryption and state how the keys in each were used as well as being able to show a basic understanding of hashing being irreversible but few could apply that to the question.' Many wrote about hash tables despite the question specifying that hashing was used to secure data.
Affects: H446/01