Overview
- The difference between different types of languages from assembler, through high level languages to 4GLs and object-oriented languages. An outline history of the development of languages over the years
- Differences between procedural and declarative languages
- Summary of the stages of the translation process – compiler and interpreter
- An appreciation of assembly language code through a limited set of operation codes. How these build into a program. Writing full programs is not required
Program Development
- Overview of the stages of program development from receiving a program specification to handing over a fully tested and documented program applied to a professional programmer. Candidates should have an appreciation of the difference of scale of real programs compared with classroom exercises
- Initial understanding of the problem. Checking details with the systems analyst
- Create algorithms for real problems
- Comparison of different algorithmic methods – flowcharts, pseudo-code, decision tables, Jackson charts. Advantages and disadvantages of each
- Define structured programming and construct. The three main constructs – sequence, selection, iteration. Top down programming
- Modular programming. How modular program can be implemented. Advantages and disadvantages of their use
- Prototyping. Advantages and disadvantages of its use
Input and Output of data
- Data types and the operations that can be performed with each
- Keyboard entry of data. Handling and correcting invalid data
- Standard output layouts. Invoices. Account ledgers
- Design a layout for a given situation. This must be workable in the real world
- Differences between output on a screen and a printer
Filing data
- The need for files. The consequences of filing systems not being available
- File structure. Organisation and access methods. An appreciation that a file might be accessed for more than one purpose and so determining the method of organisation
- Programming for serial and sequential files. Commands relating to file handling – open, close, read, write, check end of file, append
- Programming to locate records from the whole file that satisfy a given condition
- Programming to accumulate values from each record in a file
- Programming to merge two similar files into one
- Sequential master file update from an unsorted transaction file. Candidates will not be expected to program for this
Handling data in memory
- Variables – rules for naming variables/procedures/functions
- Performing calculations
- Decisions – IF, CASE
Loops. Difference between the three main looping features and when to use them
- FOR/ENDFOR for fixed number of repeats
- REPEAT/UNTIL for variable repeats – the process is always executed at least once – test for exit at the end
- WHILE/ENDWHILE for variable repeats – the process may not execute even the first time in rare situations – test for exit at the beginning. Use of data TERMINATORS
Arrays – 1-dimensional and 2-dimensional
- Read all data into an array
- Output all data from an array
- Search an array for a given value
- Accumulate values held in some elements of an array
- Use one array to find data to access another
Text data – extract character(s) from a string. Joining strings
Procedures/Sub routines and Functions
- Use of procedures for structuring and re-use processes. Library of procedures/functions
- Parameter passing. Calling a procedure. How parameters are handled internally
- Difference between procedures and functions
- Standard functions such as:(a.) Numeric – SQRT, ABS, INT, RANDOM, SIN/COS/TAN. (b) String – LEFT, RIGHT, ASC, VALUE. {The names may vary in different languages}.
Testing
- Plan the structure of test data for a program
- Design test data for valid and invalid situations
- Perform a dry run/desk check using test data and an algorithm – lay out the results in table format showing the value of variables only as they change
- Programming to test invalid conditions and subsequent repeated re-entry after data is rejected until it is finally accepted
- Testing by program. Recording the results in a test log. Levels of testing – module, program, system, user acceptance
- Methods of locating errors of logic – dry run, trace routines, test bed routines, temporary print commands inserted
- Difference between syntax and logic errors. How and when syntax and logic errors are detected and corrected
Documentation
- The need for documentation
- Documentation for the maintenance programmer
- Documentation for the user
- The reasons why user and maintenance programmer documentations are different
- Uses and benefits of comments/annotations in program listings
Example Candidate Response Booklet
Example Candidate Response (ECR) Booklets are a source of crucial information for Centres and Candidates as they use real candidate responses. We ask Senior Examiners to comment on five or more responses in terms of why the mark was awarded with commentary about how to improve the answer (if necessary).