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