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

Programming paradigms File processing Exception handling Use of development tools/programming environments
 * 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
 * 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 FOR RANDOM
 * SEEK // get a pointer to the disk address for the record
 * GETRECORD ,
 * PUTRECORD ,
 * write code to perform file-processing operations on serial, sequential and random files
 * 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
 * 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