5: Application Generation Flashcards

1
Q

What is hardware?

A

All physical parts of a computer system and its related devices, both internal and external

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

What is software?

A

General term covering all computer programs. Often falls into broad categories such as application, system and utility software

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

Examples of common categories of application software?

A
  • Word processor
  • database
  • Web browser
  • Graphics manipulation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Examples of common categories of application software?

A
  • Word processor
  • database
  • Web browser
  • Graphics manipulation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Examples of common categories of application software?

A
  • Word processor
  • database
  • Web browser
  • Graphics manipulation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Examples of common categories of application software?

A
  • Word processor
  • database
  • Web browser
  • Graphics manipulation
  • Spreadsheets
  • email clients
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Give an example of a generic application

A
  • a word processor is a generic application
  • It does not have a specific or narrow purpose
  • You can use it to carry out different tasks and meet multiple needs (eg writing a letter, essay, report, guest list, invite)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Give an example of a specific application

A
  • Database software is an example of a specific application
  • beyond creating, managing and using a database, it has little use
  • As a result of being so specific, it is almost essential for creating a serious database application
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the purpose of utility software?

A

Utility software is designed to:
- Keep your computer safe
- Keep it running efficiently
- Provide you with useful tools to manage your files and applications

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

What are some different types of utility software?

A
  • file repair
  • backup
  • compression
  • defragmentation
  • anti-malware
  • file management
  • device drivers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are some different types of utility software?

A
  • file repair
  • backup
  • compression
  • defragmentation
  • anti-malware
  • file management
  • device drivers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What does file repair software do?

A
  • Files can become corrupt or damaged for a number reasons
  • File repair software attempts to correct these issues and restore the file to its original working state
  • A file repair facility can be built into applications as well as being a separate dedicated software tool in the operating system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What does backup software do?

A
  • Backups can be set up to be manual, automatic or scheduled
  • You can perform full backups or incremental backups
  • You can back up to different media or an off-site cloud system
  • Comes with operating system but can be purchased separately
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What does data compression software do?

A
  • Reduces the size of a file so it takes up less space and downloads faster over the internet
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What does defragmentation software do?

A
  • reorganises files on a hard disk, putting fragments of files and free space back together
  • This reduces the movement of the read/write head across the surface of the disk, which speeds up file access
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does anti-malware software do?

A

helps keep your computer and files safe from many types of malware including viruses, trojans, woms and spyware

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

What is open source software?

A
  • users can modify and distribute the software
  • can be installed on any number of computers
  • support provided by the community
  • users have access to the source code
  • may not be fully tested
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the pros of open source software for the user?

A
  • software is free
  • wide community modification
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What are the cons of open source software for the user?

A
  • can be poorly supported
  • some features might not be well tested
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What are the pros of open source software for the creator?

A

Gets their software out there to a wider community

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

What are the cons of open source software for the creator?

A

Little to no financial gain

20
Q

What is closed source software?

A
  • Protected by the Copyrights, Design and Patents Act
  • Users cannot modify the software
  • Usually paid for and licensed per user or per computer
  • Supported by developers who do not release source code
  • tested by developers prior to release although it may run beta programs
21
Q

What are pros of closed source software for the user?

A

Well supported, tested and professional built product

22
Q

What are the cons of closed source software for the user?

A

Cost or ongoing subscription fee

23
What are the pros of closed source software for the creator?
They receive an income for their product
24
What are the cons of closed source software for the creator?
- Constant demand from community for more features and improvements - Piracy issues
25
What is source code?
- Programming language humans use - Descriptive and easy to use for us to understand, read, maintain and debug
26
What is machine code?
- Pure binary form of source code - Machines need to convert source code into machine code to be able to understand and execute it
27
What is translation?
The process of converting source code into machine code
28
What does an assembler do?
- Translates assembly language into machine code - takes basic commands and operations from assembly code and converts them into binary code that can be recognised by a specific type of processor - the translation process is typically a one-to-one process from assembly code to machine code
29
What are the advantages of using an assembler?
- Programs written in machine language can be replaced with mneumonics, which are easier to remember - memory efficient - speed of execution is faster - hardware-oriented - requires fewer instructions to accomplish the same result
30
What are the disadvantages of using an assembler?
- Long programs cannot be executed on small computers - It takes a lot of time to code or write the program, as it more complex in nature - Difficult to remember the syntax
31
What is a compiler?
- translates source code from high-level languages into object code and then machine code to be processed by the CPU. - The whole program is translated into machine code before it is run.
32
What are the advantages of using a compiler?
- no need for translation at runtime - speed of execution is faster - code is usually optimised - original source code is kept secret
33
What are the disadvantages of using a compiler?
- program will not run with syntax errors, which will make it more difficult to write the code - needs to be recompiled when code is changed - designed for a specific type of processor
34
What is an interpreter?
- translates source code from high-level languages into machine code, ready to be processed by the CPU - the program is translated line-by-line as the program is running
35
What are the advantages of using an interpreter?
- Easy to write source code, as the program will always run, stopping when it finds a syntax error - Code does not need to be recompiled when code is changed - It is easy to try out commands when the program has paused after finding an error - this makes interpreted languages very easy for beginner programmers to learn to write code
36
What are the disadvantages of using an interpreter?
- Translation software is required at runtime - Speed of execution is slower - Code is not optimised - Source code is required
37
What are the 4 stages of compilation?
- Lexical analysis - Syntax analysis - Code generation - Code optimisation
38
What happens during lexical analysis?
- Comments and whitespace are removed - Remaining code turned into a series of tokens - Symbol table is created to keep track of variables and subroutines
39
What happens during syntax analysis?
- abstract syntax tree is built from tokens produced in the previous stages - errors generated if any tokens break the rules of the language
40
What happens during code generation?
- abstract code is converted to object code - object code is the machine code produced before the linker is run
41
What happens during code optimisation?
- Tweaks the code so it will run as quickly as possible and use as little memory as possible
42
What is a library?
- ready-compiled and tested that can be run when needed
43
What are the benefits of using libraries?
1. pre-compiled: so they are typically optimised to run quickly 2. pre-tested: so you can be relatively sure they are already free from errors 3. Quick and easy to use and hook into your code
44
What are drawbacks of using libraries?
- Adding functionality can be difficult - You have to trust that the developers will continue to maintain the library
45
What is the linker responsible for?
- Putting the appropriate machine addresses in all the external call and return instructions so all modules and external library routines are linked together correctly - links any separately compiled subroutines into the object code
46
What is static linking?
- All the required code from the libraries is included directly in the finished machine code - this can result in large executable program files
47
What is dynamic linking?
- Compiled versions of the required libraries are stored on the host computer - The operating system links the required code from the library as the program is running - This cuts down on the size of the compiled machine code, but if the dynamic libraries change, the program may stop because it tries to call a subroutine in the wrong way
48
What is the loader?
- part of the operating system that loads the executable program file into memory, ready to be run - when using dynamic linking, it will also be responsible for loading the required libraries into memory.