Software Classification
System vs Application software, FOSS vs Proprietary.
A computer's hardware (the physical parts) needs instructions to work. These instructions are called software. Based on what the software does, it is divided into two main categories: System Software and Application Software.
The Software Tree
Diagram based on Fig 1.13 categorising software.

Software is broadly divided into system software, programming tools, and application software, all of which can be open-source or proprietary.
Sort the Software
Match software examples to their correct category.
Terms
Definitions
Translating to Machine Code
High vs Low level languages and the 3 translators.
Computers and humans speak entirely different languages. While we prefer writing code using English-like words in High-level languages (like Python, Java, or C++), computers only understand Machine Language—a stream of 1s and 0s.
To bridge this gap, we use Translators.
Translator Comparison
Grid comparing Compiler, Interpreter, and Assembler.
- Source: Assembly Language
- Method: Converts instruction by instruction
- Output: Non-portable, CPU-specific Machine Code
Compiler
- Source: High-Level Language
- Method: Translates the entire source code at once
- Output: A standalone, executable Object Code file
Interpreter
- Source: High-Level Language
- Method: Translates and executes line-by-line
- Output: Executes immediately (needs interpreter every run)
Check Your Understanding: Translators
MCQ on the interpreter.
A programmer is writing a script in a high-level language. They notice that the program stops executing the moment it hits an error on line 15, even though lines 1 through 14 ran perfectly. Which tool is processing this code?