Indicative content
How each translator deals with a syntax error
- An interpreter stops as soon as it finds a syntax error and displays an error message.
- With an interpreter, the lines before the error have already been executed, so the student can see how far the program got before it stopped.
- A compiler reports errors at the end of translation, so the student gets a list of all the syntax errors in the program in one go.
How much of the program is translated at a time
- An interpreter translates one line at a time and executes each line immediately.
- A compiler translates the whole program in one go before any of it is run.
- A compiler produces object code, so after every change the whole program must be compiled again before the student can run it.
- An interpreter produces no object code, so the student does not have to wait for the whole program to be translated before it runs.
How this affects the student's testing
- An interpreter suits this student because the program can be run straight away after each small change.
- The interpreter stops at the first error found, so the student fixes that error and runs the program again, but may only find the next error on the next run.
- Reporting every error at the end of compilation means the student can fix several errors at once, but cannot run the program until the whole program compiles.
- The student should use an interpreter while testing, and compile the finished program once it works.
Levels
- Level 0 (0 marks): No rewardable content.
- Level 1 (1–2 marks): Basic, independent points are made, showing elements of understanding of key concepts/principles of computer science. (AO1) The discussion will contain basic information with little linkage between points made or application to the context. (AO2)
- Level 2 (3–4 marks): Demonstrates adequate understanding of key concepts/principles of computer science. (AO1) The discussion shows some linkages and lines of reasoning with some structure and application to the context. (AO2)
- Level 3 (5–6 marks): Demonstrates comprehensive understanding of key concepts/principles of computer science to support the discussion being presented. (AO1) The discussion is well developed, with sustained lines of reasoning that are coherent and logically structured, and which clearly apply to the context. (AO2)
Level 3 responses must relate the way each translator works to the student's testing, not just describe the two translators.
Do not accept answers about run-time or logic errors where no comparison of the translators is made.