All subjects · Computer Science · WCP02 Practical Programming and Problem-solving
Exam technique for the Unit 2 onscreen practical paper
Edexcel IAL Computer Science · WCP02 Practical Programming and Problem-solving
Unit 2 is taken on a computer: 3 hours, 80 marks, five compulsory questions, Python 3 in an IDE of your choice, with code files and the Programming Language Subset provided.
The paper
| Feature | Unit 2 (WCP02) |
|---|---|
| Format | Onscreen practical exam, externally assessed |
| Time and marks | 3 hours, 80 marks |
| Questions | Five compulsory questions |
| Language | Python 3 in an IDE of your choice |
| Provided | Printed question paper, digital code and data files, digital Programming Language Subset (PLS) |
| Weighting | 50% of the IAS; 25% of the full International A level |
| Sessions | January and June; first assessment June 2027 |
What the sample paper asked
The sample assessment's five questions show the style:
- Fix a stack program containing syntax errors, a TypeError, an UnboundLocalError, a NameError and logic errors (12 marks).
- Rearrange and uncomment given lines to make a palindrome checker work (15 marks).
- Complete SQLite queries on a supplied database and display the results with a supplied subprogram (15 marks).
- Write an in-place insertion sort and a display procedure, then sort lists of 5 and 100 random integers (18 marks).
- Process sensor readings, find faulty ones, and display and write formatted output, using at least one subprogram with parameters (20 marks).
Working method
- Save each answer with exactly the filename asked for, in the folder named, and never overwrite the original files.
- Save often. Run the code after every few lines; fix the first error message first.
- Do what is asked and no more: in error-fixing questions, keep the intended functionality and do not add features.
- Use the supplied constants, subprograms and data structures; do not hard-code data that comes from a file.
- Make the code work for any data size (loop to len(), not to a typed number).
- Test with normal, boundary and erroneous data, and check the output layout exactly matches the description.
Marks for more than working code
Mark schemes credit specific lines (a correct loop header, a correct condition), the functionality of the whole program, design points such as a single pass through the data and leaving the original data unchanged, and clean code: comments, white space, consistent naming and meaningful identifiers. A partly working, readable program still earns many marks, so never leave a question blank.
Worked example
You have 3 hours for 80 marks. Roughly how long should you spend on a 20-mark question?
- 180 minutes / 80 marks = 2.25 minutes per mark
- 20 marks x 2.25 = 45.0 minutes
Answer: About 45 minutes (the sample paper suggested about an hour for its 20-mark question, which is the longest task)
Check yourself
- The paper is 3 hours for 80 marks. About how many minutes is that per mark? Give your answer to 2 decimal places.
Show answer
2.25. 180 / 80 = 2.25 minutes per mark.
- What should you do with the original code files provided in the exam?
- Edit them directly and save over them
- Leave them unchanged and save your work under the filename given in each question
- Delete them once you have read them
- Rename them to your candidate number
Show answer
Leave them unchanged and save your work under the filename given in each question. The instructions say not to overwrite the original files, and to save with the given names.
- In a question that asks you to correct errors in a program, what should you avoid?
- Running the program to test it
- Fixing logic errors as well as syntax errors
- Keeping the original structure
- Adding new features that were not asked for
Show answer
Adding new features that were not asked for. Fix the errors without changing the intended functionality or adding features.
- A task says the program 'must work for any number of sensors'. What does this mean for your loops?
- Loop to the length of the data, not to a fixed number typed in the code
- Use a while True loop
- Copy the data into a list of fixed size 100
- Use a separate variable for each sensor
Show answer
Loop to the length of the data, not to a fixed number typed in the code. Using len() (or iterating over the structure) makes the code work for any size of data.
- Which language is used for the Unit 2 paper?
- Java
- Pseudocode only
- Python 3
- C#
Show answer
Python 3. Unit 2 is assessed in Python 3, using the Programming Language Subset.
- Which of these earned marks in the sample mark scheme even beyond working output?
- Informative comments and meaningful identifiers
- Using as many global variables as possible
- Writing the whole program in one function
- Printing every variable at the end
Show answer
Informative comments and meaningful identifiers. Clean code points include comments, white space, consistent notation and meaningful identifiers.
Sources
- Pearson Edexcel International Advanced Subsidiary/Advanced Level in Computer Science specification (XCP01/YCP01), first teaching 2026
- Pearson IAL Computer Science Unit 2 Programming Language Subset (PLS), Python 3
- Pearson IAL Computer Science IAS sample assessment materials (Unit 2 paper and mark scheme)
- Pearson qualifications: International Advanced Levels Computer Science (2026)
Last updated 8 November 2026. Spotted a mistake? Tell us.