A-level Computing/CIE/Further Problem Solving and Programming skills/Further programming

From Wikibooks, open books for an open world
Jump to navigation Jump to search
A-level Computing
Algorithm Design Methods Further Programming Software Development
Specification link

Programming paradigms

  • show understanding of what is meant by a programming paradigm
  • show understanding of the characteristics of a number of programming paradigms (low-level, imperative, object-oriented, declarative)
    • imperative programming – see details in Section 2.3
    • low-level programming – demonstrate an ability to write low-level code that uses various address modes: immediate, direct, indirect, indexed and relative (see Section 1.4.3 and Section 3.6.2)
    • object-oriented programming (OOP) – demonstrate an ability to solve a problem by designing appropriate classes
  • demonstrate an ability to write code that demonstrates the use of classes, inheritance, polymorphism and containment (aggregation)
  • declarative programming
    • demonstrate an ability to solve a problem by writing appropriate facts and rules based on supplied information
    • demonstrate an ability to write code that can satisfy a goal using facts and rules

File processing

  • write code to define a record structure
  • write code to perform file-processing operations: open or close a file; read or write a record to a file
  • use pseudocode for random file handling:
    • OPENFILE <filename> FOR RANDOM
    • SEEK <address> // get a pointer to the disk address for the record
    • GETRECORD <filename>,<identifier>
    • PUTRECORD <filename>,<identifier>
  • write code to perform file-processing operations on serial, sequential and random files

Exception handling

  • show understanding of an exception and the importance of exception handling
  • show understanding of when it is appropriate to use exception handling
  • write code to use exception handling in practical programming

Use of development tools/programming environments

  • describe features in editors that benefit programming
  • know when to use compilers and interpreters
  • describe facilities available in debuggers and how and when they should be deployed
  • show understanding of a range of software development methodologies: waterfall, RapidApplication Development (RAD), Agile