Pearson Edexcel 1CP2 GCSE Computer Science · Topic 3: Computers
Stretch tasks Software and Programming Languages
Quiz Challenge
A quiz game against four computer players, then short and long written answers.
- Quiz Blitz12 questions against the clock
- Quick Fire4 short answers
- Big Think2 long answers
About 20 minutes
This or That
Pixel the cat asks 8 questions. Each has two answers: pick the right one.
- Two answers to every question
- A fish treat for every right answer
- Streaks win Pixel shades, then a party hat
About 4 minutes
Memory Match
Flip the cards two at a time to match each term card to its meaning card.
- 12 cards: each term has a meaning
- One peek at every card
- Combo points for pairs found in a row
6 pairs, about 4 minutes
Sort It
Sort each statement into the right box, like the tick-box tables in the exam.
- 12 cards to sort into 2 boxes
- Drag a card, tap a box or press its number
- Combo points for cards sorted in a row
12 cards, about 4 minutes
The games need JavaScript. Every question is below, with the answers at the end.
Read the lesson: Software and Programming Languages
Software and Programming Languages: the questions
Quiz Challenge, round 1: Quiz Blitz
Which is application software?
- A device driver
- A defragmenter
- A web browser
- An operating system
Which OS function stops one program writing into another's memory?
- Device management
- Memory management
- Processor management
- User management
What software lets an application print without knowing which printer is attached?
Utility software is application software.
- True
- False
Why should a solid state drive not be defragmented?
- SSDs cannot store files in parts
- It makes the drive louder
- It gains no speed, and the extra writes shorten its life
- It deletes files
Which utility can restore files after a ransomware attack?
- Defragmentation
- Compression
- Backup
- Disk clean up
Which is a low level language?
- Scratch
- Assembly language
- Python
- Java
What does an assembler do?
- Runs machine code
- Compresses programs
- Translates assembly language into machine code
- Translates Python line by line
Which TWO are advantages of a compiler?
Tick 2.
- The same source runs anywhere
- No executable file is created
- The finished program runs quickly
- It can be distributed without the source code
- Errors are reported line by line as it runs
Why is an interpreter useful while a program is being written?
- It needs no translator
- It stops at the first error, making debugging quicker
- It produces a fast executable
- It hides the source code
A processor can execute Python statements directly.
- True
- False
Where are low level languages still used?
- Spreadsheets
- Word processing
- Device drivers and small embedded systems
- Web pages
Quiz Challenge, round 2: Quick Fire
Explain the difference between a compiler and an interpreter. [2 marks]
Explain two advantages of writing a program in a high level language rather than assembly. [2 marks]
Explain why a device driver is needed. [2 marks]
Explain why defragmentation speeds up a hard disk drive. [2 marks]
Quiz Challenge, round 3: Big Think
A team is developing a game. Discuss whether they should use a compiler or an interpreter, considering both development and release. [6 marks]
Explain how an operating system lets a user run a browser, a music app and a print job at the same time. [6 marks]
This or That: tick the right answer
Is a device driver hardware or software?
- Software
- Hardware
A word processor is which kind of software?
- System software
- Application software
Which translates a whole program before it runs?
- A compiler
- An interpreter
Which uses mnemonics such as ADD and LDA?
- Assembly language
- Machine code
Should a solid state drive be defragmented?
- Yes: it speeds it up
- No: no gain, extra wear
Which suits a tiny embedded routine where every byte counts?
- Python
- Assembly language
Which needs the source code on the user's machine?
- Interpreted code
- Compiled code
Is encryption software a utility?
- No: it is an application
- Yes: it is system software
Memory Match: match each term to its meaning
| Term | Meaning |
|---|---|
| A Operating system | 1 Maintenance, such as backup and compression |
| B Utility software | 2 Turns mnemonics into machine code |
| C Assembler | 3 Translates and runs one statement at a time |
| D Compiler | 4 Manages processor, memory, devices and users |
| E Interpreter | 5 Binary the processor executes |
| F Machine code | 6 Translates the whole program before it runs |
Sort It: tick one box in each row
Compiler or interpreter? Sort each feature.
| Statement | Compiler | Interpreter |
|---|---|---|
| Only runs on the platform it was built for | ||
| Reports all errors together at the end | ||
| Translates again on every run | ||
| The same source runs anywhere with the right translator | ||
| Translates the whole program before it runs | ||
| Slower, especially inside loops | ||
| Can be distributed without the source code | ||
| The finished program runs quickly | ||
| The source code must be given to the user | ||
| Translates one statement at a time | ||
| Stops at the first error it reaches | ||
| Produces an executable file |
Answers
Round 1: Quiz Blitz
- A web browser Application software serves the user's task.
- Memory management Without it, one program could crash another.
- device driver The OS talks to each device through its driver.
- False Utilities maintain the machine, so they are system software.
- It gains no speed, and the extra writes shorten its life An SSD reaches every location in the same time.
- Backup A separate copy lets files be restored.
- Assembly language Assembly uses mnemonics, roughly one per machine instruction.
- Translates assembly language into machine code Roughly one instruction at a time.
- The finished program runs quickly; It can be distributed without the source code Translation is done once, before the program is run.
- It stops at the first error, making debugging quicker Interpreters win during development. Compilers win at release.
- False It executes only machine code, so Python must be translated.
- Device drivers and small embedded systems Where complete control of the hardware matters.
Round 2: Quick Fire
- A compiler translates the whole program before it runs, producing an executable
- An interpreter translates and executes one statement at a time
Model answerA compiler translates the whole program into machine code before it is run, producing an executable file. An interpreter translates and executes the program one statement at a time, every time it is run.
- It is close to English, so quicker to write and easier to read
- It is portable: it runs on any processor with a translator
- Memory management is handled for you
Model answerHigh level code is close to English, so it is quicker to write and easier to read and debug. It is also portable: the same program runs on any processor that has a translator, whereas assembly is written for one processor.
- It lets the OS communicate with one particular device
- So applications can use the device without knowing its details
Model answerA device driver is software that lets the operating system communicate with one particular hardware device. Applications can then simply say print this, without knowing anything about the specific printer.
- It gathers the parts of each file together
- So the read head moves less, and files load faster
Model answerDefragmentation rearranges the parts of each file so they are stored together. The read head then moves less to load a file, so files load faster.
Round 3: Big Think
- An interpreter reports an error as soon as the line is reached
- So debugging is quicker
- But interpreted code is slower, translated on every run
- And the source code must be given to players
- For release, compile into an executable
- Which runs quickly, as translation has already happened
- And can be distributed without the source code, needing no translator
- A conclusion, such as interpreting during development and compiling for release
Model answerWhile the game is being developed, an interpreter is better: it reports an error as soon as the line is reached, so debugging is much quicker. However, interpreted code is slower, because it is translated every time it runs, even each time round a loop, and the source code would have to be given to players. For release, the team should compile the game into an executable, which runs quickly because translation has already happened, can be distributed without the source code, and needs no translator on the player's machine. The executable only runs on the platform it was compiled for, so it must be compiled for each platform. Overall, the team should use an interpreter for development and a compiler for release.
- Processor management decides which process gets the processor
- It switches so fast that they appear to run at once
- Memory management allocates memory to each program
- It keeps them out of each other's memory, so none crashes
- Virtual memory is used if RAM runs out
- Device management sends the print job through the printer's driver
- The print job waits in a queue while the user carries on
- The interface lets the user move between programs
Model answerProcessor management decides which process gets the processor and for how long, switching between the browser, the music app and the print job so quickly that they appear to run at the same time. Memory management allocates memory to each program and keeps them out of each other's memory, so one cannot overwrite another and crash it, using virtual memory if RAM runs out. Device management sends the print job to the printer through its device driver, holding it in a queue so the user can carry on. The graphical user interface lets the user switch between the windows.
This or That
- Software A driver is a program that lets the OS talk to a piece of hardware.
- Application software It serves the user's task, not the machine.
- A compiler An interpreter translates one statement at a time as the program runs.
- Assembly language Machine code is pure binary. Assembly replaces the binary opcodes with mnemonics.
- No: no gain, extra wear Every location on an SSD is equally fast, and the writes shorten its life.
- Assembly language A low level language gives complete control of the hardware and memory.
- Interpreted code An interpreter translates the source every time the program runs.
- Yes: it is system software Encryption is one of the utilities that maintain and protect the machine.
Memory Match
- A 4 Operating system: Manages processor, memory, devices and users
- B 1 Utility software: Maintenance, such as backup and compression
- C 2 Assembler: Turns mnemonics into machine code
- D 6 Compiler: Translates the whole program before it runs
- E 3 Interpreter: Translates and runs one statement at a time
- F 5 Machine code: Binary the processor executes
Sort It
- Compiler Only runs on the platform it was built for An executable is tied to one platform.
- Compiler Reports all errors together at the end Errors come out when compilation finishes.
- Interpreter Translates again on every run Nothing is kept between runs.
- Interpreter The same source runs anywhere with the right translator Interpreted code is portable.
- Compiler Translates the whole program before it runs A compiler translates everything first.
- Interpreter Slower, especially inside loops Each pass round a loop is translated again.
- Compiler Can be distributed without the source code Users only need the executable.
- Compiler The finished program runs quickly Translation has already happened.
- Interpreter The source code must be given to the user The interpreter needs the source to run it.
- Interpreter Translates one statement at a time That is how an interpreter works.
- Interpreter Stops at the first error it reaches Which makes debugging quicker.
- Compiler Produces an executable file The executable is the compiler's output.