Paper 1: Software Flashcards

(40 cards)

1
Q

System Software

A

Software designed to operate the computer hardware and provide a platform for running application software. Examples include operating systems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Operating System (OS)

A

System software that manages computer hardware and software resources and provides common services for computer programs. Examples include Windows, macOS, and Linux.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Memory Management (Operating System)

A

The function of the OS that controls and coordinates the computer’s memory, allocating space to programs and data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

File Management (Operating System)

A

The function of the OS that manages the storage, retrieval, and organization of files and directories.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Input/Output (I/O) Management (Operating System)

A

The function of the OS that controls communication between the computer and input/output devices (like keyboards, mice, and displays).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

User Interface (UI)

A

The means by which a user interacts with a computer system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Graphical User Interface (GUI)

A

A type of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as windows, buttons, and menus.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Command-Line Interface (CLI)

A

A type of user interface where users interact with the computer by typing commands.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Interrupt

A

A signal from a device or software that causes the operating system to stop its current task and handle the event.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

BIOS (Basic Input/Output System)

A

Firmware used to perform hardware initialization during the booting process (power-on startup), and to provide runtime services for operating systems and programs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Application Software

A

Software designed to perform a specific task for the user. Examples include word processors, web browsers, and games.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

High-Level Language (HLL)

A

A programming language designed to be easy for humans to read and write. Examples include Python, Java, and C++.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Low-Level Language (LLL)

A

A programming language that is closer to machine code, providing little or no abstraction from a computer’s instruction set architecture. Examples include assembly language.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Compiler

A

A program that translates high-level language source code into machine code that can be executed by a computer. It translates the entire program at once.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Interpreter

A

A program that translates high-level language source code into machine code, but it translates and executes the code line by line.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Assembler

A

A program that translates assembly language code into machine code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Integrated Development Environment (IDE)

A

A software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools, and a debugger.

18
Q

What is a low-level programming language?

A

A type of programming language that is close to the hardware of the computer. It often deals directly with the computer’s registers and memory locations.

19
Q

Give examples of low-level programming languages.

A

Assembly language and machine code.

20
Q

What are some advantages of low-level programming languages?

A

Can provide very efficient and fast code execution, allows for direct control over hardware.

21
Q

What are some disadvantages of low-level programming languages?

A

Difficult to write and understand, programs are often machine-dependent (not portable), take longer to develop.

22
Q

What is a high-level programming language?

A

A type of programming language that is more abstract and closer to human language. It is designed to be easier to read, write, and understand.

23
Q

Give examples of high-level programming languages.

A

Python, Java, C++, JavaScript.

24
Q

What are some advantages of high-level programming languages?

A

Easier to learn and use, faster development time, programs are more portable (can run on different types of computers).

25
What are some disadvantages of high-level programming languages?
Generally less efficient and slower execution compared to well-written low-level code (as they need to be translated).
26
What is assembly language?
A low-level programming language that uses symbolic codes (mnemonics) to represent machine instructions. Each mnemonic typically corresponds to a single machine instruction.
27
What is an assembler?
A program that translates assembly language code into machine code that the computer can directly execute.
28
Why might someone still use assembly language today?
For tasks requiring very fine-grained control over hardware, optimizing critical sections of code for maximum performance, or programming very resource-constrained embedded systems.
29
What is a compiler?
A program that translates the entire source code of a high-level programming language into machine code (or an intermediate code) before the program is executed. The resulting machine code is then saved and can be run multiple times without re-translation
30
What is an interpreter?
A program that translates and executes the source code of a high-level programming language line by line during runtime. Each line is translated and executed before moving to the next line.
31
What is a key difference in when compilation and interpretation occur?
Compilation happens before execution, while interpretation happens during execution.
32
How does compilation affect execution speed?
Compiled programs generally run faster because the translation is done beforehand, and the machine code can be executed directly.
33
How does interpretation affect execution speed?
Interpreted programs generally run slower because each line of code needs to be translated every time it is executed.
34
How does compilation affect error detection?
Compilers typically detect syntax errors in the entire program before execution begins.
35
How does interpretation affect error detection?
Interpreters typically detect errors during runtime, stopping execution when an error is encountered.
36
How does compilation affect portability?
Compiled programs are often machine-dependent because they are translated into a specific machine code. To run on a different platform, the code needs to be recompiled for that platform.
37
How does interpretation affect portability?
Interpreted programs can be more portable if there is an interpreter available for the target platform. The same source code can often run on different operating systems without recompilation.
38
What does IDE stand for?
Integrated Development Environment.
39
What is an IDE?
A software application that provides comprehensive facilities to computer programmers for software development. It typically consists of a source code editor, build automation tools, and a debugger.
40
Name some common features of an IDE.
Source code editor with syntax highlighting and autocompletion, compiler/interpreter integration, debugger, build automation tools, version control integration, class browser, object inspector.