Programming - Theory Flashcards

1
Q

What are the standard algorithms?

5

A
  • Input Validation
  • Count Occurence
  • Linear Search
  • Find Min
  • Find Max
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Local Variable Defintion

2

A
  • A variable declared in a sub program
  • Scope of variable is the sub program it is declared in
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Global Variable Defintion

A
  • A variable that is declared outwith a sub program
  • Scope of variable is the entire program
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Implementation:

Parallel Arrays Definition

A

Arrays used in conjuction of each other so programmers can display information together

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

Implementation:

Records Definition

A

Programmer defined data types

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

Implementation:

Module Programming Examples

3

A
  • Sub-Program
  • Procedure
  • Function
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Implementation:

Procedure Defintion

A

Sub-programs designed to perform a series of commands with values sometimes passed to/from another part of the program

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

Implementation:

Function Definition

A

Sub-programs designed to always return a single value to another part of the program

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

Implementation:

What is parameter passing?

A

When a local variable is passed from one sub program to another

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

Implementation:

By Reference Definition

A

The sub-program has direct access to the memory location holding the value. This means any changes to the value being held will be stored.

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

Implementation:

By Value Definition

A

The sub-program is given a temporary copy of the value being held in the variable. The value can be changed, but this will not be stored

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

Implementation:

Where is the formal parameter located?

A

Where the sub-program/function is defined

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

Implementation:

Where is the actual parameter located?

A

Where the sub-program/function is called

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

Implementation:

What are the pre-defined functions?

4

A
  • Character to ASCII
  • ASCII to Character
  • Decimal to Integer
  • Find the Remainder
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Implementation:

What are substring functions?

A

Functions that manipulate a whole string or extract a number of characters from a string, depending on the function

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

What are the substring functions?

4

A
  • Left
  • Right
  • Mid
  • Uppercase
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Implementation:

What is a sequential file used for?

A

To hold the data in a set sequence/order

18
Q

Implementation (sequential files):

What are the file operations?

5

A
  • Create
  • Open
  • Close
  • Read
  • Write
19
Q

Development Methodologies:

What does the iterative process involve?

2

A
  • Programmers move from stage to stage in order, only revisiting stages where necessary and a problem is discovered
  • It is a very structured process and clients are only communicated with at the beginning and end of development
20
Q

What does the agile process involve?

2

A
  • Uses β€˜sprints’ which are periods of planned analysis, design, implementation and testing of a particular aspect of software
  • It is a flexible process that is based on team work and daily communication which is suited to small, short term projects rather than larger scale projects
21
Q

Development Methodologies:

Iterative Strengths

4

A
  • Teams are well established and rigid
  • Good for large teams - helps to plan and track large software projects
  • Clear agreement on outcomes at start of project
22
Q

Development Methodologies:

Iterative Weaknesses

3

A
  • Very rigid approach does not deal well with mid-project changes
  • Unidentified issues at the analysis stage can be time-consuming and costly to fix
  • Little involvement of client after analysis
23
Q

Development Methodologies:

Agile Strengths

3

A
  • Ongoing testing and evaluation
  • Ongoing involvement of client allows changes to be agreed quickly
  • Teams communicate and collaborate rather than work in isolation
24
Q

Development Methodologies:

Agile Weaknesses

3

A
  • Works best with small teams
  • Needs close version control and tracking of changes
  • Can be more difficult to predict the longer term goals of the project, and the final product may not look anything like the initial concept.
25
# Testing: Reasons for Testing | 3
* Identify errors * Show that all functional requirements have been met * Ensure efficient and maintainable code
26
# Testing: What is a dry run? | 2
* When a programmer works through the program on paper following the code line by line to pick up logic errors * Often used with trace table
27
# Testing: What is a trace table?
Consists of the variables used in a specific program and allows the developer to track the values being stored at different points throughout the program
28
# Testing: What is a breakpoint? | 2
* A user-defined point in the program where the code will stop executing, and the value of variables can be inspected to ensure they are correct * Often used with trace tables
29
# Testing: What is a watchpoint? | 2
* A point placed on a specific variable to track any changes in value, program will stop when the value of the variable changes * Used with breakpoints to look at the value of only specific variables when a breakpoint is triggered
30
# Design: What is top down, stepwise refinement? | 2
* Any main steps from the design are known as the top down design * These main steps are usually broken down further into step by step instructions known as stepwise refinements, which helps the programmer break down the program into manageable modules
31
# Design: What are the benefits of a modular solution? | 3
* Different programmers can implement different parts of the design * Each part of the design can be tested seperately * Design shows the main process clearly
32
# Evaluation: What criteria is evaluated in a program? | 5
* Fitness for purpose * Efficient use of coding constructs * Usability * Maintainability * Robustness
33
# Analysis: What is the role of a systems analyst? | 2
* Meeting with the client and discussing their specific needs * Creating a detailed project proposal
34
# Analysis: What is the software specification?
Defined extent of the software and a legal contract between the client and the developers
35
# Analysis: What is the role of a client in software specifications
Legally obliged to pay for the software
36
# Analysis: What should analysis include? | 4
* Purpose * Scope * Boundaries * Functional Requirements
37
# Analysis: Purpose
A general description of the purpose of the software
38
# Analysis: Scope
A list of deliverables that the project will hand over to the client / user
39
# Analysis: Boundaries
The limits of what is and isn't in the project
40
# Analysis: Functional Requirements
Features and functions that must be delivered by the systems in terms of inputs, processes and outputs