5: Application Generation Flashcards

You may prefer our related Brainscape-certified 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
Q

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

A

They receive an income for their product

24
Q

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

A
  • Constant demand from community for more features and improvements
  • Piracy issues
25
Q

What is source code?

A
  • Programming language humans use
  • Descriptive and easy to use for us to understand, read, maintain and debug
26
Q

What is machine code?

A
  • Pure binary form of source code
  • Machines need to convert source code into machine code to be able to understand and execute it
27
Q

What is translation?

A

The process of converting source code into machine code

28
Q

What does an assembler do?

A
  • 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
Q

What are the advantages of using an assembler?

A
  • 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
Q

What are the disadvantages of using an assembler?

A
  • 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
Q

What is a compiler?

A
  • 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
Q

What are the advantages of using a compiler?

A
  • no need for translation at runtime
  • speed of execution is faster
  • code is usually optimised
  • original source code is kept secret
33
Q

What are the disadvantages of using a compiler?

A
  • 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
Q

What is an interpreter?

A
  • 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
Q

What are the advantages of using an interpreter?

A
  • 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
Q

What are the disadvantages of using an interpreter?

A
  • Translation software is required at runtime
  • Speed of execution is slower
  • Code is not optimised
  • Source code is required
37
Q

What are the 4 stages of compilation?

A
  • Lexical analysis
  • Syntax analysis
  • Code generation
  • Code optimisation
38
Q

What happens during lexical analysis?

A
  • 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
Q

What happens during syntax analysis?

A
  • abstract syntax tree is built from tokens produced in the previous stages
  • errors generated if any tokens break the rules of the language
40
Q

What happens during code generation?

A
  • abstract code is converted to object code
  • object code is the machine code produced before the linker is run
41
Q

What happens during code optimisation?

A
  • Tweaks the code so it will run as quickly as possible and use as little memory as possible
42
Q

What is a library?

A
  • ready-compiled and tested that can be run when needed
43
Q

What are the benefits of using libraries?

A
  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
Q

What are drawbacks of using libraries?

A
  • Adding functionality can be difficult
  • You have to trust that the developers will continue to maintain the library
45
Q

What is the linker responsible for?

A
  • 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
Q

What is static linking?

A
  • All the required code from the libraries is included directly in the finished machine code - this can result in large executable program files
47
Q

What is dynamic linking?

A
  • 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
Q

What is the loader?

A
  • 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.