Principles of programming: Eduqas A‑Level Computer Science questions
Every Eduqas A-Level Computer Science exam question on 1.4 Principles of programming, 2016–2025, with its mark scheme and examiner’s report.
Paper
All papers
Exam
All years
Calculations
Q4(a)
The whole paper ↗
Q4(b)
The whole paper ↗
Q4(c)(i)
The whole paper ↗
Q4(c)(ii)
The whole paper ↗
Q4(d)
The whole paper ↗
Q4(e)
The whole paper ↗
Q4(f)
The whole paper ↗
Q4(g)
The whole paper ↗
Q12(a)
The whole paper ↗
Q12(b)(i)
The whole paper ↗
Q12(b)(ii)
The whole paper ↗
Q12(b)(iii)
The whole paper ↗
Q12(c)
The whole paper ↗

Q6(a)
The whole paper ↗
Q6(b)
The whole paper ↗
Q5(b)
The whole paper ↗
All 75 questions on Principles of programming, as a list
- June 2025, Component 1, Q2 (6 marks): An online international e-commerce company produces a unique order code with each customer order. The order code comprises a two-letter country code of the cust
- June 2025, AS Component 1, Q14 (12 marks): Describe the difference between high-level and low-level languages, and identify situations where each may be used. Explain the role of the Integrated Developme
- June 2025, AS Component 2, Q4(a) (1 mark): State the name of an identifier for the superclass of Credit. [1]
- June 2025, AS Component 2, Q4(b) (1 mark): State the return data type for the method setNumber. [1]
- June 2025, AS Component 2, Q4(c)(i) (1 mark): orise() : Boolean +authorise() : Boolean (c) State the name of the most appropriate identifier for a variable that is used to store the following: (i) FALSE [1]
- June 2025, AS Component 2, Q4(c)(ii) (1 mark): eger) +setType(String) +getChangeDue : Real +setBank(String) +setExpiry(Integer) +setExpiry(Integer) +authorise() : Boolean +authorise() : Boolean (ii) 5.99 [1]
- June 2025, AS Component 2, Q4(d) (2 marks): Explain the significance of the # symbol in the attribute #amount in the class Payment. [2]
- June 2025, AS Component 2, Q4(e) (2 marks): An object called transaction1 is instantiated from the class Debit. Applying the concept of inheritance, list all of the methods that would be contained within
- June 2025, AS Component 2, Q4(f) (2 marks): An object called transaction2 is instantiated from the class Credit. Applying the concept of inheritance, list all of the attributes that would be accessible wi
- June 2025, AS Component 2, Q4(g) (2 marks): Explain why the attribute amount is situated within the class Payment. [2] Select the programming language of your choice from VB, Python or Java and answer all
- June 2024, Component 1, Q4 (8 marks): A music streaming service has a search feature that allows users to search for songs by artist, album or song title. The search syntax must follow certain rules
- June 2024, AS Component 1, Q12(a) (2 marks): Describe the relationship between an object and a class. [2]
- June 2024, AS Component 1, Q12(b)(i) (1 mark): A public method. [1]
- June 2024, AS Component 1, Q12(b)(ii) (1 mark): A method that requires a parameter. [1]
- June 2024, AS Component 1, Q12(b)(iii) (1 mark): A method that does not require a parameter. [1]
- June 2024, AS Component 1, Q12(c) (2 marks): Describe the difference between a private and protected method. [2]
- June 2024, AS Component 2, Q4 (12 marks): PVCC is considering an object-oriented approach to programming its computer systems. It wishes to use a UML class diagram to describe the relationships between
- June 2023, Component 1, Q6(a) (5 marks): Produce a Backus-Naur Form (BNF) definition for an EAN-13 barcode. [5]
- June 2023, Component 1, Q6(b) (4 marks): Produce an appropriate syntax diagram to define an EAN-13 barcode. [4]
- June 2023, AS Component 1, Q5(b) (4 marks): Other than using a high-level language to write applications, a programmer might use an assembly language. Describe the advantages of using an assembly language
- June 2022, Component 1, Q7 (6 marks): A festival ticket supplier produces a unique ticket validation code with each ticket purchase. This validation code comprises four parts: the buyer's surname, t
- June 2022, Component 1, Q11 (8 marks): Explain the ambiguities in natural language syntax compared with computer language syntax. [8]
- June 2022, AS Component 1, Q8 (6 marks): Describe the distinguishing features of an event-driven programming paradigm. [6]
- June 2022, AS Component 2, Q3 (7 marks): Prepare a class diagram to help the business consider the design of a payment processing system for future financial transactions. The class diagram should comp
- Autumn 2021, Component 1, Q6 (6 marks): A high-level programming language uses strict syntax which all variable identifiers must follow. Every variable identifier must start with a lowercase letter, a
- Autumn 2021, Component 1, Q12 (12 marks): Explain the purpose, and give examples of, programming paradigms and describe the use of compilers and interpreters, distinguishing between them. You should dra
- Autumn 2020, Component 1, Q6 (5 marks): A smart device uses a unique filename for each digital image it captures. The filename comprises the date and GPS location of when and where the image was taken
- Autumn 2020, Component 1, Q9(a) (4 marks): Describe the advantages and disadvantages of using an object-oriented paradigm. [4]
- Autumn 2020, Component 1, Q9(b) (4 marks): Describe what is meant by a class and an object and explain the relationship between them. [4]
- Autumn 2020, Component 1, Q9(c) (2 marks): Describe what is meant by the term method and explain the relationship between object and method. [2]
- Autumn 2020, AS Component 1, Q11 (4 marks): Describe object-oriented programming. [4]
- Autumn 2020, AS Component 2, Q2 (8 marks): Met is considering an object-oriented approach to programming its computer systems. It wishes to use a class diagram to describe the relationships between the c
- June 2019, Component 1, Q1(a) (4 marks): Describe the differences between high-level and low-level languages. [4]
- June 2019, Component 1, Q1(b) (2 marks): Describe one situation that would require the use of a low-level language. [2]
- June 2019, Component 1, Q8 (5 marks): A loyalty card system in a large department store uses a unique loyalty card code for each customer. The loyalty card code comprises the Customer’s ID followed
- June 2019, AS Component 1, Q9(e) (6 marks): Describe the differences between high-level and low-level languages. [6]
- June 2019, AS Component 2, Q1 (12 marks): IceZone is considering an object-oriented approach to programming its computer systems. It wishes to use a UML class diagram to describe the relationships betwe
- June 2018, Component 1, Q5 (4 marks): Describe the advantages of using a procedural language to write a program based on an algorithm. [4]
- June 2018, Component 1, Q8 (5 marks): A stock control system used in the main warehouse of a large online retailer uses a unique product code for each product stored. The product code comprises the
- June 2018, AS Component 2, Q1(a) (1 mark): State the name of an identifier for a subclass of Transaction. [1]
- June 2018, AS Component 2, Q1(b)(i) (1 mark): State the parameter data type for the method execute. [1]
- June 2018, AS Component 2, Q1(b)(ii) (1 mark): One instance of execute returns a value. State the return data type for this execute method. [1]
- June 2018, AS Component 2, Q1(b)(iii) (1 mark): State within which subclass the method execute returns a value. [1]
- June 2018, AS Component 2, Q1(c)(i) (1 mark): tDate(Date) +execute(Real) +execute(Real) (c) State the name of the most appropriate identifier for a variable that is used to store the following: (i) TRUE [1]
- June 2018, AS Component 2, Q1(c)(ii) (1 mark): +setAmount(Integer) +execute(Real): Integer +setType(String) +setDate(Date) +success() : Boolean +setDate(Date) +execute(Real) +execute(Real) (ii) ”Coffee” [1]
- June 2018, AS Component 2, Q1(d) (2 marks): Explain the significance and implication of the + symbol in the attribute +success() : Boolean in the class BalanceEnquiry. [2]
- June 2018, AS Component 2, Q1(e) (2 marks): An object called transaction1 is instantiated from the class AddCredit. Applying the concept of inheritance, list all of the methods that would be contained wit
- June 2018, AS Component 2, Q1(f) (2 marks): An object called transaction2 is instantiated from the class Withdrawal. Applying the concept of inheritance, list all of the attributes that would be accessibl
- June 2018, AS Component 2, Q1(g) (2 marks): Explain why the attribute accountNumber is situated within the class Transaction. [2] Save your work for Question 1 as a word processed document named Answers.
- June 2017, Component 1, Q2(a) (4 marks): Explain, with reference to classes, the concept of inheritance. [4]
- June 2017, Component 1, Q2(b) (2 marks): Identify two other fundamental concepts of object-oriented programming. [2]
- June 2017, Component 1, Q8(a) (3 marks): Produce a syntax diagram to define a Parkwood College student’s email address. [3]
- June 2017, Component 1, Q8(b) (4 marks): Produce a Backus-Naur Form (BNF) definition for a Parkwood College student’s email address. [4]
- June 2017, Component 1, Q12(a) (3 marks): Describe ambiguity and explain why high level programming languages must be unambiguous. [3]
- June 2017, Component 1, Q13 (10 marks): Explain, using examples of possible situations or applications where they may be used, the nature of procedural and non-procedural programming languages. You sh
- June 2017, AS Component 1, Q8 (6 marks): Describe the features of the mark-up language programming paradigm. [6]
- June 2017, AS Component 2, Q1(a) (1 mark): State the name of an identifier for a subclass of Payment. [1]
- June 2017, AS Component 2, Q1(b) (1 mark): State the return data type for the method setProcessed. [1]
- June 2017, AS Component 2, Q1(c)(i) (1 mark): horise() : Boolean +authorise() : Boolean (c) State the name of the most appropriate identifier for a variable that is used to store the following: (i) TRUE [1]
- June 2017, AS Component 2, Q1(c)(ii) (1 mark): er) +setType(String) +getChangeDue : Double +setBank(String) +setExpiry(Integer) +setExpiry(Integer) +authorise() : Boolean +authorise() : Boolean (ii) 9.99 [1]
- June 2017, AS Component 2, Q1(d) (2 marks): Explain the significance and implications of the # symbol in the attribute #processed : Boolean in the class Payment. [2]
- June 2017, AS Component 2, Q1(e) (2 marks): An object called transaction1 is instantiated from the class Credit. Applying the concept of inheritance, list all of the methods that would be contained within
- June 2017, AS Component 2, Q1(f) (2 marks): An object called transaction2 is instantiated from the class Cash. Applying the concept of inheritance, list all of the attributes that would be accessible with
- June 2017, AS Component 2, Q1(g) (2 marks): Explain why the attribute amount is situated within the class Payment. [2] Save your work for Question 1 as a word processed document named Question 1.
- June 2016, AS Component 1, Q14(a) (4 marks): Describe the distinguishing features of a procedural language programming paradigm. [4]
- June 2016, AS Component 1, Q14(b) (4 marks): Describe the object-oriented approach to programming. [4]
- June 2016, AS Component 2, Q1(a) (1 mark): State the name of an identifier for a subclass of Staff. [1]
- June 2016, AS Component 2, Q1(b) (1 mark): State the return data type for the method getEmergencyContact. [1]
- June 2016, AS Component 2, Q1(c)(i) (1 mark): ntractedHours() : Real +getQuals(String) (c) State the name of the most appropriate identifier for a variable that is used to store the following: (i) FALSE [1]
- June 2016, AS Component 2, Q1(c)(ii) (1 mark): etSalary(Real) +getHourlyRate() : Real +getSalary(Real) +setContractedHours(Real) +setQuals(String) +getContractedHours() : Real +getQuals(String) (ii) 37.5 [1]
- June 2016, AS Component 2, Q1(d) (3 marks): Explain the significance and implications of the “-” in the property “-pupilID : Integer” in the class Pupil. [3]
- June 2016, AS Component 2, Q1(e) (3 marks): An object called assistant is instantiated from the class Support. Applying the concept of inheritance, list all of the methods that would be contained within t
- June 2016, AS Component 2, Q1(f) (2 marks): An object called pupilA is instantiated from the class Pupil. Applying the concept of inheritance, list all of the attributes that would be accessible within th
- June 2016, AS Component 2, Q1(g) (2 marks): Explain why the property firstName is situated within the class Person. [2]
- June 2016, AS Component 2, Q1(h) (5 marks): Giving an example, describe what would be needed to allow the parkingPermitHolder property within the Staff class to be set or read by an object from a differen
Questions, mark schemes and examiner’s reports are © WJEC Eduqas, from their published past papers. Plumi isn’t affiliated with any exam board. Want whole papers? Full past papers.
Rather write your answers by hand on iPad? Plumi marks them against the same mark schemes.