OCR · GCSE Computer Science · J277 · Paper 2 · Specification 2.5

CS12 · Languages and development environmentsPLC WordPLC PDF

Go to mind map

Explain systems and solve computing problems. The 30 quick questions support recall and application; practise full algorithms, programs and evaluations using the PLC tasks.

Revise the key ideas

Languages

  • High-level languages — A high-level language uses constructs such as loops, variables and functions that are easier for people to work with than machine instructions. It is generally more portable across hardware when a suitable translator exists. The CPU still needs executable machine-level instructions.
  • Low-level languages — Machine code consists of instructions encoded for a processor. Assembly uses mnemonic representations. An assembler translates it; this is supplementary context, as J277 does not require knowledge of assemblers. Low-level code can give precise hardware control but is harder to write and maintain and generally less portable across processor architectures.
  • Choosing a language — A high-level language suits many applications because it supports rapid development and readable code. Device-specific routines may need low-level control. A language's level alone does not guarantee that every program is faster or uses less memory; implementation and workload matter.
  • Need for translation — Programmers' source code is not normally the machine instructions directly executed by the processor. A translator converts or interprets source so the computer can carry out it. A translator checks language rules, but does not guarantee that the algorithm meets its intended requirements.
  • Compiler — In the GCSE model, a compiler translates the whole source program and reports errors, producing executable/object code when successful. The translated program can then run without translating the original source each time. Recompilation is needed after source changes.
    Compilation and interpretation workflows
    Use the labels alongside the associated explanation.
  • Interpreter — An interpreter processes source instructions during execution, commonly described at GCSE as one instruction at a time. Errors encountered may stop execution before later instructions are reached. It supports interactive development but interpretation adds work during running in the simple comparison.
  • Compiler and interpreter trade-offs — Interpretation can support rapid experiments and locating a reached error; compiled output often runs faster in the simplified comparison and can be distributed without original source. Real systems can mix bytecode, interpretation and just-in-time compilation, so avoid absolute claims about every language implementation.
  • Errors and translators — A translator can reject grammar errors but may accept total = price + quantity when multiplication was intended. Testing and debugging remain necessary. A compiler cannot infer every unstated business rule or prove all user requirements are satisfied.

Development environments

  • Purpose of an IDE — An integrated development environment brings together an editor, execution/translation facilities and debugging tools. Combining these supports a development workflow; an IDE is not itself a guarantee of correct code or necessarily a programming language.
  • Editors — An editor allows entry and modification of code. Indentation, syntax highlighting and autocomplete can improve readability and reduce typing mistakes. Highlighting does not prove that a program works, and generated suggestions still need review.
  • Error diagnostics — Diagnostics may identify syntax problems and show a message or line number. The reported location can follow the actual mistake, such as after an unclosed bracket. Read the cause and surrounding code, correct it and retest rather than deleting any line mentioned.
  • Runtime environment — An IDE can run a program and present its output or input console. Supply planned test data and compare results with expectations. Running once without a crash does not establish correct boundary handling or coverage of every branch.
  • Breakpoints — A breakpoint stops at a selected line so the programmer can examine state before continuing. It can locate when a total first becomes wrong. It is a debugging facility, not an instruction permanently intended as part of the user's final algorithm.
  • Stepping and watches — Single stepping follows execution in small increments; variable watches display current values. Together they help test a hypothesis about a loop or branch. Predict what should happen, then compare observed state; merely watching values does not fix a defect.
  • Developing with tools — Write and translate the code, resolve syntax errors, run planned inputs and use breakpoints or stepping to locate logic defects. Make a targeted correction and repeat relevant tests. Maintain a clear distinction between source editing, translation, execution and verification.

Test yourself

30 questions · Random sets of 10. These quick checks support revision; practise longer explanations and justified judgements too.

Mind map

Use the branches to recall the ideas and explain their connections. Check the revision notes for the full detail.

CS12 · Languages 1 / Languages 2 / IDE 1 / IDE 2

View CS12 · Languages 1 / Languages 2 / IDE 1 / IDE 2 mind map
CS12 CS12 · Languages 1 / Languages 2 / IDE 1 / IDE 2 mind map: Languages 1, Languages 2, IDE 1, IDE 2. A text version follows.
Open the full-size map to zoom. Download the PDF to print on A4 or enlarge to A3.

Open full-size map Download A4 PDF

Read the mind map as text

Languages 1

  • High-level languages: Readable abstractions support program development
  • Low-level languages: Close control of particular hardware
  • Choosing a language: Task skills portability and hardware control matter
  • Need for translation: Source instructions must become executable operations

Languages 2

  • Compiler: Translate a program before running the resulting code
  • Interpreter: Translate and execute as the program proceeds
  • Compiler and interpreter trade-offs: Development and execution have different needs
  • Errors and translators: Syntax checking does not establish logical correctness

IDE 1

  • Purpose of an IDE: Combine tools for writing running and debugging
  • Editors: Write and navigate source code
  • Error diagnostics: Report defects with useful location information
  • Runtime environment: Execute the program with inputs and observe results

IDE 2

  • Breakpoints: Pause execution at a chosen point
  • Stepping and watches: Inspect changing values instruction by instruction
  • Developing with tools: Use diagnostics debugging and tests together

Connections

  • Languages 1 → Languages 2: Language level and target hardware explain the need for translation.
  • IDE 1 → IDE 2: IDE diagnostics and execution tools support targeted debugging and retesting.

Part connections

  • CS12 · Languages 1 / Languages 2 / IDE 1 / IDE 2: Languages 1 → Languages 2 — Language level and target hardware explain the need for translation.
  • CS12 · Languages 1 / Languages 2 / IDE 1 / IDE 2: IDE 1 → IDE 2 — IDE diagnostics and execution tools support targeted debugging and retesting.