Programming - Theory Flashcards

You may prefer our related Brainscape-certified 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
  • Rigid planning structure
  • 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

4

A
  • Very rigid approach does not deal well with mid-project changes
  • Can over-complicate simple projects
  • 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

4

A
  • Copes well with little cumulative changes as the project progresses
  • Good for small scale projects like most apps
  • Ongoing involvement of client allows changes to be agreed quickly
  • Changes cause less delay or can be tackled in the next version
24
Q

Development Methodologies:

Agile Weaknesses

4

A
  • Works best with small teams
  • Needs close version control and tracking of changes
  • Can be difficult to determine the full scope of the project in the early stages
  • Usually no legally binding agreement at the start
25
Q

Testing:

Reasons for Testing

3

A
  • Identify errors
  • Show that all functional requirements have been met
  • Ensure efficient and maintainable code
26
Q

Testing:

What is a dry run?

2

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

Testing:

What is a trace table?

A

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
Q

Testing:

What is a breakpoint?

2

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

Testing:

What is a watchpoint?

2

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

Design:

What is top down, stepwise refinement?

2

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

Design:

What are the benefits of a modular solution?

3

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

Evaluation:

What criteria is evaluated in a program?

5

A
  • Fitness for purpose
  • Efficient use of coding constructs
  • Usability
  • Maintainability
  • Robustness
33
Q

Analysis:

What is the role of a systems analyst?

2

A
  • Meeting with the client and discussing their specific needs
  • Creating a detailed project proposal
34
Q

Analysis:

What is the software specification?

A

Defined extent of the software and a legal contract between the client and the developers

35
Q

Analysis:

What is the role of a client in software specifications

A

Legally obliged to pay for the software

36
Q

Analysis:

What should analysis include?

4

A
  • Purpose
  • Scope
  • Boundaries
  • Functional Requirements
37
Q

Analysis:

Purpose

A

A general description of the purpose of the software

38
Q

Analysis:

Scope

A

A list of deliverables that the project will hand over to the client / user

39
Q

Analysis:

Boundaries

A

The limits of what is and isn’t in the project

40
Q

Analysis:

Functional Requirements

A

Features and functions that must be delivered by the systems in terms of inputs, processes and outputs