# Integrated Development Environments

- **Track:** Cambridge IGCSE™ Computer Science (0478 / 0984) (CAMBRIDGE IGCSE 0478)
- **Module:** Section 4: Software & Translators
- **Estimated Duration:** 10 minutes
- **Access:** Open Theory (All-Access for Interactive IDE &amp; Autotests)

---

## Theory & Conceptual Background

An IDE combines tools for writing, running and debugging programs. Do not confuse the environment with the translator it invokes.

  
| Tool | Purpose |
| --- | --- |
| Code editor | Enter and edit source text |
| Auto-completion | Suggest names or complete keywords |
| Auto-correction | Correct supported typing mistakes; still check the result |
| Prettyprint | Format code with indentation and highlighting to make its structure readable |
| Translator | Convert source as required for execution |
| Runtime environment | Provide facilities needed to run the program |
| Error diagnostics | Report an error and its location |
| Debugger | Use breakpoints, single-stepping and variable inspection |

## Worked debugging session

A total is too small. Set a breakpoint before its update, run to that point, inspect Total and Value, then single-step. If the update subtracts Value, the program may be syntactically valid but logically wrong. Auto-completion cannot choose the correct algorithm for you.

## Independent practice

A loop ends one iteration early. Choose two IDE features and explain exactly how each would help investigate the error. Then distinguish those features from a tool that only improves readability.

---

## Interactive Exercises & Autotest Specifications

### Exercise 1: Application: Debugging tools (Fill in blank, 30 XP)

**Instructions:**
Work out each answer before submitting. Which feature pauses execution at a chosen line? Which feature executes one statement at a time? Which feature formats code for readability?


**Starter Code:**
```text
{"prompt":"Application: Debugging tools","template":"1. Which feature pauses execution at a chosen line? [blank_1]\n2. Which feature executes one statement at a time? [blank_2]\n3. Which feature formats code for readability? [blank_3]","blanks":[{"id":"blank_1"},{"id":"blank_2"},{"id":"blank_3"}],"word_bank":["breakpoint","single-stepping","prettyprint","auto-complete","syntax check","watch window"]}
```


### Exercise 2: Concept Check: Logical errors (Multiple choice, 30 XP)

**Instructions:**
A program runs but adds an item twice. Which tool most directly helps locate the cause?

**Options:**
- **A**: Auto-completion choosing variable names
- **B**: A debugger inspecting the total across iterations
- **C**: Prettyprint changing indentation only
- **D**: An editor changing the font



