WJEC Eduqas A Level Computer Science (A500QS)Specification point 1.4

Eduqas A500QS 1.4: Principles of programming

The free BugBot lessons that teach this point, a robot to try it on, and the past-paper questions that test it.

Lessons that teach it

  1. A1.1 Data types and programming constructs Programming techniques and object-oriented programming
    The A level data types, references and user-defined types, constants, and definite and indefinite iteration.
  2. A1.2 Operations, strings and random numbers Programming techniques and object-oriented programming
    Integer division and MOD with negatives, rounding and truncation, XOR, string and date conversions, and pseudo-random numbers.
  3. A1.4 Subroutines, parameters and passing by reference Programming techniques and object-oriented programming
    Out-of-line subroutines and their interfaces, returning several values, and passing by value and by reference.
  4. A1.6 Programming paradigms and procedural programming Programming techniques and object-oriented programming
    Procedural, object-oriented, declarative and low-level paradigms, the structured approach, and hierarchy charts.
  5. A1.7 Classes and objects Programming techniques and object-oriented programming
    Classes, objects, attributes, methods and constructors; encapsulation, access specifiers, getters and setters, and class diagrams.
  6. A1.8 Inheritance, polymorphism and overriding Programming techniques and object-oriented programming
    Subclasses and super, overriding, polymorphism, and abstract, virtual and static methods, with robot behaviours as subclasses.
  7. A1.9 Aggregation, composition and class diagrams Programming techniques and object-oriented programming
    Has-a relationships, drawing them on class diagrams, and the design principles that favour composition over inheritance.
  8. A1.10 Project: the behaviour controller Programming techniques and object-oriented programming
    Get past a wall to the dock with prioritised behaviour classes, a controller that aggregates them, and an exception to finish.
  9. A13.1 The functional paradigm Functional programming
    Side effects, pure functions and referential transparency, immutability and statelessness, with the robot's side effects kept at the edges.
  10. A13.3 First-class objects and higher-order functions Functional programming
    Functions as values in variables, lists and dictionaries, passed as arguments and returned as results, lambdas, closures and a robot…
  11. A13.4 Partial application and composition Functional programming
    Why every Haskell function takes one argument, partial function application, functools.partial, and composing functions into a sensor…
  12. A13.5 Map, filter and fold Functional programming
    The three higher-order functions, foldl and foldr, and a pipeline over a log of sensor readings.
  13. A13.6 List processing Functional programming
    Lists as a head and a tail, the empty list, prepend and append, and recursion over a list to drive a route there and back.
  14. A13.7 Functional programming and big data Functional programming
    Volume, velocity and variety, why big data needs distributed processing, and how immutability, statelessness and higher-order functions…
  15. A13.8 Project: the way out Functional programming
    Sweep the bay, decide with a pipeline of pure functions built by composition, map, filter and fold, then drive out.

Try it on a robot

The task from A1.1 Data types and programming constructs, running here. Change the program and press Run.

The specification is Eduqas's own document; this page says which of our lessons teach point 1.4 and is not endorsed by the board.