[Unit 1.2.2] Applications Generation Flashcards

applications generation

1
Q

define “applications software”

A

allows user to perform a task or produce something

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

what are the 8 different applications

A

word processors
spreadsheet software
presentation software
database software
desktop publishing software
image editors
web browsers
games

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

what are the advantages of applications becoming more cloud based

A

dont worry about installation
dont worry about updating software
access app anywhere
can collaborate on document with multiple users.

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

define “utility”

A

program has one specific purpose - usually maintenance. (built in or stand alone)

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

what are the 9 different types of utility programs

A

defragmentation
anti-malware
disk checkers
disk formatters
partitioning software
compression software
file explorers
backup utilities
encryption software

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

what is defragmentation

A

file split up in multiple sections, slows computer
defragmentation software groups each file contiguously. and groups free space together at the end

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

what is anti-malware software

A

detects and blocks threats

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

what are disk checkers

A

check for corrupted files

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

what are disk formatters

A

prepare device to store files, erasing previous content

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

what is partitioning software

A

dividing up space so OS sees as separate devices

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

what is compression software

A

reduce data in files by recognising patterns that are repeated.
save space, faster to transmit

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

what are file explorers

A

manage data storage
allow files to move,copy,delete, rename

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

what are backup utilities

A

automatic backups of specified data
copied to a different location in case original is corrupted
ensures important data is safe

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

what is encryption software

A

data scrambled into cipher text
vital for transmitting personal data over network.

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

define “closed source software”/”proprietary software”

A

executable machine code file distributed.
by commercially sold software

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

what are the advantages of closed source software

A

more polished
customer support
reliability
warranty/guarantee

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

what does “more polished” mean when talking about open/closed source software

A

easier to install
easier to use
more attractive UI

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

what are the disadvantages of closed source software

A

expensive
users cant change code
bugs only fixed by company
older versions not maintained

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

define “open source software” (OSS)

A

publicly available source code that can be modified and distributed

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

what are the advantages of OSS

A

free
user can add features
user can fix bugs
software rapidly developed
older software supported

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

what are the disadvantages of OSS

A

doesn’t come with warranty/guarantee
doesn’t have customer support
may not get regular updates
less polished

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

define “low level language”

A

specific to instruction set of processor.
they are not portable
low level of abstraction

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

define “portable” in terms of translators

A

can be used on different types of CPUs

24
Q

define “high level language”

A

human readable, high level of abstraction
code is portable
one line is multiple lines of machine code

25
Q

define “translator”

A

software converts source code into machine code

26
Q

what are the three types of translator

A

assembler
compiler
interpreter

27
Q

what are the two parts to machine code

A

opcode
operand

28
Q

define “opcode”

A

tells CPU what operation to do (add store etc)

29
Q

define “operand”

A

tells CPU what data to use in operation

30
Q

define “assembly code”

A

uses mnemonics to represent opcodes
1:1 line ratio
not portable
fast and efficient as high control over CPU and hardware

31
Q

what is assembly code used for

A

embedded systems
device drivers

32
Q

define “assembler”

A

program converts assembly to machine code

33
Q

define “compiler”

A

whole program converted from high level language to machine code in one go
creating executable machine code file

34
Q

what are the advantages of a compiler

A

runs faster (only translates once)
executable code cant be read (closed source software)

35
Q

what are the disadvantages of a compiler

A

must wait for entire program to translate
if change is made, recompile whole program
executable code is specific to instruction set

36
Q

define “interpreter”

A

translates source code one line at a time

37
Q

what are the advantages of an interpreter

A

errors shown line by line
errors reported as encountered (dont wait for whole program to translate)
run on any platform (that has interpreter)

38
Q

what are the disadvantages of an interpreter

A

must have interpreter installed
interpreter takes up memory
translating line by line is slower than running compiled machine code
source code must be available to user

39
Q

what are the four stages of compilation

A

lexical analysis
syntax analysis
code generation
code optimisation

40
Q

what is lexical analysis stage of compilation

A

source code read character by character and broken into tokens.
identifies basic syntax errors (misspelled key words)

41
Q

what is removed during lexical analysis

A

comments and white space

42
Q

what is syntax analysis of compilation

A

source code checked by parser to ensure it follows rules of programming language.
if an error is found it is added to the compiler report

43
Q

what does the parser produce during syntax analysis

A

Abstract Syntax Tree (AST)

44
Q

what is the purpose of producing a AST during syntax analysis

A

removes unnecessary syntax like parenthesis
simplifies code optimisation
helps understand hierarchy of operations

45
Q

what is the code generation stage of compilation

A

compiler converts source code into object code

46
Q

what is the code optimisation stage of compilation

A

compiler tweaks source code to improve performance

47
Q

when does code optimisation happen during compilation

A

throughout the entire process

48
Q

what does code optimisation, optimise for during compilation

A

optimises for speed OR memory efficiency.

49
Q

what is a library

A

collection of pre-written code developers reuse

50
Q

what are the advantages of libraries

A

no need to rewrite code
already tested and debugged
app remains small
some functionality requires specific expertise

51
Q

what are the disadvantages of libraries

A

library must be well written and robust
specialist libraries can be expensive
if library is missing program will crash

52
Q

what is a linker

A

software that combines libraries with object code to create a single executable file

53
Q

what is an API

A

application programming interface

allows different computer programs to interact with each other (how you use libraries)

54
Q

how does a linker work

A

when compiled, object file contains references to libraries.
linker resolves these references

55
Q

what is a static linked library

A

library code put directly into program
end user doesn’t have to have library installed
increases the file size

56
Q

what is a dynamic linked library

A

libraries not added to code.
libraries stored by OS and loaded when program runs.
makes program smaller
user must have library installed

57
Q

what is the loader

A

part of the OS that’s responsible for loading the executable file into memory from secondary storage.