1.2.2 Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

What is the characteristic of Closed-Source software? [2]

A

Source code is not freely available [1]. It is developed and provided to the user as a fully compiled program [1]

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

What is the characteristic of Open-Source software? [2]

A

The source code is freely available… [1] to edit / amend recompile [1]

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

Explain the benefits to the users of the software being open source [3]

A

Free of cost. [1] Code open for bugs to be spotted and fixed. [1] Can tailor the program to their specific needs. [1]

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

What are the difference between open source and closed source software? [4]

A

Open source has the source code freely available…[1] to copy/recompile [1]. Closed source code is not made available… [1] There are licensing conditions restricting the redistribution [1]

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

Describe what is meant by the term utility software? [2]

A

A piece of software with one purpose. [1] usually to do with the upkeep / maintenance of a computer.[1]

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

State how an application differs from a utility. [2]

A

Application performs tasks for the user [1] Utility programs are for the upkeep of the system.[1]

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

What is a Compiler? [3]

A

A group of programs [1] utilised to generate [1] and (often) optimise object code [1]

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

What are the 4 stages of Compilation? [4]

A

Lexical Analysis [1] Syntax Analysis [1] Code Generation [1] Code Optimisation [1]

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

What happens during the Lexical Analysis stage? [3]

A

The Comments and Whitespaces are removed [1] Variable Names are added to a symbol table [1] Reserved words (such as while) are tokenized [1]

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

What happens during the Syntax Analysis stage? [4]

A

The code is checked to ensure it follows the rules of the language [1] Often by placing the tokens into a (abstract syntax) tree [1] Errors are generated where the language rules are broken [1] type error checking [1]

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

What happens during the Code Generation stage? [2]

A

The object/machine code is created [1] This code may be inefficient [1]

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

What happens during the Code Optimisation stage? [2]

A

Redundant/Repeated Code is identified [1] and is rearranged or removed [1]

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

Why is the Lexical Analysis Stage necessary? [1]

A

To put the code into a format which can be read and processed by the syntax analyser [1]
to put the code into a format that the processor can understand [1] Not nessesary; ensures code works better/using less memory [1]

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

Why is the Syntax Analysis Stage necessary? [1]

A

To ensure the code is valid and will run [1]

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

What is a Linker? [3]

A

A utility [1] program used during Compilation [1] that links object files (contain object code) [1]

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

What is a Loader? [3]

A

Part of an operating system [1] that is responsible for loading programs and libraries [1] by copying the executable code into the RAM [1]

17
Q

What is a Library? [2]

A

a collection code used by computer programs [1] (often) for software development [1]

18
Q

What do application softwares do? (3)

A

It accepts user input (1) It processes user input according to algorithms implemented in the code (2) It generates output (3)

19
Q

What is general purpose software?

A

Software that can be used for a variety of tasks. They attract many users and so can be sold cheaply.

20
Q

What is special purpose software?

A

Software that can be used for one particular task. More expensive because they are only purchased by users who need that particular functionality.

21
Q

What is bespoke software?

A

software that is developed to meet the user’s specific requirements.

22
Q

High-Level Languages

A

They are are used to write programs that are independent of the computer architecture they will run on. They are compiled/interpreted.

23
Q

What does a compiler do?

A

Reads the whole the code then translates it to machine code.

24
Q

Advantages of Compiler

A

translates the entire code code has to be compiled once. The user doesn’t need a translator to install it. Code can be optimised for the compiler. Compiled code can be distributed as machine code.

25
Q

Disadvantages of Compiler

A

won’t compile if there is an error. Code needs to be recompiled for different chipsets.

26
Q

What does an interpreter do?

A

They translate and execute each line of source code. Each program line when run is first syntax-checked. If a syntax error is found the program halts. Following the syntax check each line of source code is converted into machine code and executed. If a runtime error occurs the program crashes.

27
Q

Advantages of Interpreter

A

Machine independent. They work with high-level languages. It runs until it hits an error. Debugging is quicker and easier as errors are reported in the console which shows what and where the error is in the code

28
Q

Disadvantages of Interpreter

A

Some parts of the code may never run. Bad for shipping code. Runs more slowly because each time the program is run it must be translated all over again. The program needs an interpreter to run.

29
Q

What is Bytecode?

A

Most interpreted languages now use bytecode as an intermediate stage to speed up the translation process. The source code is compiled to produce bytecode (low-level code) which is interpreted by a virtual machine.

30
Q

What is an assembler?

A

Assemblers translate assembly mnemonics into executable code.

31
Q

Difference between an application software and a utility (2)

A

Application performs tasks for the user (rather than computer). Utility performs generic (rather than specific)tasks.

32
Q

Describe what is meant by JavaScript (2)

A

A programming language that runs in a web browser (1) that can be embedded into HTML (1) with tag (1) to add interactivity to a page (1).

33
Q

Explain why it is usually the case that JavaScript is interpreted rather than compiled (2)

A

JavaScript is likely to be run on a variety of machines (1) with different processors / architectures (1). Compiled code is machine dependent (1) whereas interpreters run on high level code (1) which is machine independent (1).

34
Q

Explain why all closed source software is most likely to be compiled rather than run on an interpreter (2)

A

Compilers translate the source code prior to distribution meaning the user gets an executable program (which makes amending of the program much more difficult). Interpreters translate source code every time the program is run meaning the user needs the source code to run the program.

35
Q

Describe what is meant by the term ‘assembler’ (2)

A

A program that translates assembly code (1) into machine code/object code (1)