Computational Thinking and Programming Skills –
C#
(Merged Question Paper and Marking Scheme)
Please write clearly in block capitals. Wednesday 15 May 2024
Centre number
Surname Candidate number
Forename(s)
Candidate signature
I declare this is my own work.
GCSE
COMPUTER SCIENCE
Paper 1 Computational thinking and programming skills – C#
Wednesday 15 May 2024 Afternoon Time allowed: 2 hours
Materials
• There are no additional materials required for this paper. For Examiner’s Use
• You must not use a calculator.
Question Mark
Instructions
1
• Use black ink or black ball-point pen. Use pencil only for drawing.
• Answer all questions. 2–3
• You must answer the questions in the spaces provided. 4–5
• If you need extra space for your answer(s), use the lined pages at the end of 6–7
this book. Write the question number against your answer(s).
• Do all rough work in this book. Cross through any work you do not want 8–9
to be marked. 10–11
• Questions that require a coded solution must be answered in C#.
12
• You should assume that all indexing in code starts at 0 unless stated otherwise.
13–14
15
Information
The total number of marks available for this paper is 90. TOTAL
Advice
For the multiple-choice questions, completely fill in the lozenge alongside the appropriate answer.
CORRECT METHOD WRONG METHODS
If you want to change your answer you must cross out your original answer as shown.
If you wish to return to an answer previously crossed out, ring the answer you now wish to select
as shown.
*JUN2485251A01*
IB/G/Jun24/G4005/E11 8525/1A
,GCSE Computer Science: Paper 1 - Computational Thinking and Programming Skills (C#)
Date: May 2025
Duration: 1 hour 30 minutes
Overview:
Paper 1 of GCSE Computer Science focuses on Computational Thinking and Programming Skills, with an
emphasis on C# programming. The exam assesses your understanding of key concepts in computer science,
programming techniques, problem-solving, and algorithm development.
Topics Covered:
1. Computational Thinking
What is Computational Thinking?
o Breaking down problems into smaller, manageable parts (decomposition).
o Recognizing patterns in data and systems (pattern recognition).
o Developing solutions and algorithms (abstraction).
o Identifying efficient ways to solve problems (algorithmic thinking).
Problem Solving:
o Understanding the problem and designing an appropriate solution.
o Using algorithms to solve problems effectively.
2. Algorithms
Definition and Importance:
o What an algorithm is and how it is used to solve computational problems.
o Characteristics of good algorithms (clarity, efficiency, and correctness).
Types of Algorithms:
o Searching Algorithms: Linear search and binary search.
o Sorting Algorithms: Bubble sort, insertion sort, and merge sort.
Flowcharts and Pseudocode:
o Understanding and using flowcharts and pseudocode to represent algorithms.
o Translating algorithms between pseudocode, flowcharts, and C# code.
3. Programming Concepts
Variables and Data Types:
o Common data types in C# (int, string, bool, float, etc.).
o Declaring and initializing variables.
o Understanding data structures such as arrays and lists.
Operators:
o Arithmetic, relational, logical, and assignment operators.
o How to use operators in expressions to perform calculations and comparisons.
Control Structures:
o Conditional Statements: if, else, elif (else if), and nested conditionals.
o Loops: for, while, and do-while loops for repeating tasks.
o Switch Statements: Using switch for multiple possible conditions.
Functions and Procedures:
o Declaring and calling functions (also known as methods in C#).
o Passing parameters to functions and receiving return values.
o The concept of scope and lifetime of variables within functions.
4. C# Programming Skills
Syntax and Structure of C#:
o Correct syntax for writing C# programs (including semicolons, curly braces, etc.).
o Writing simple programs that take user input, process it, and output results.
, Arrays and Lists:
o Using arrays to store collections of data.
o Working with lists for dynamic data storage and manipulation.
Error Handling:
o Identifying and correcting syntax and runtime errors.
o Using basic debugging techniques to trace and resolve issues in code.
5. Data Representation
Binary and Decimal Systems:
o Converting numbers between binary and decimal.
o Understanding how data is represented in binary (e.g., integers, characters).
Character Encoding:
o ASCII and Unicode encoding systems.
Data Storage:
o How computers store data using bits and bytes.
o Basic knowledge of file handling (opening, reading, writing files).
6. Computer Systems and Networks (Overview for Context)
While Paper 1 mainly focuses on computational thinking and programming skills, an understanding of computer systems
and networks will help contextualize problem-solving scenarios.
o Basic knowledge of hardware (CPU, memory, storage).
o Understanding the purpose and components of a network.
, 2
Do not write
outside the
Answer all questions. box
0 1Figure 1 shows an algorithm, represented using pseudo-code.
The algorithm assigns different values to two variables, then asks the user to input
a letter.
Figure 1
film "Godzilla vs. Kong"
year 2021
OUTPUT "Please guess a letter"
letter USERINPUT
0 1 . 1 Which pseudo-code statement assigns the length of the string film to a variable
called value?
Shade one lozenge.
[1 mark]
A film LEN(value)
B film film + value
C value film
D value LEN(film)
0 1 . 2 The POSITION subroutine returns the position of the first occurrence of a character in
a string.
For example:
• POSITION("Godzilla vs. Kong", "o") would return 1
• POSITION("Godzilla vs. Kong", "z") would return 3
letter and film are variables used in the algorithm in Figure 1.
Complete the pseudo-code statement to find the position of the first occurrence of the
contents of letter in film and store this position in the variable location
You must use the POSITION subroutine in your answer.
[1 mark]
location
*02*
IB/G/Jun24/8525/1A