Planning and Designing Software Solutions Flashcards

1
Q

What is an algorithm

A

a method of solution for a problem, it describes the steps taken to transform inputs into the required outputs.

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

What a the three control structures in an algorithm

A

sequence

decision

repetition

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

what are the two ways we can write algorithms

A

Flowcharts and Pseudocode

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

what is the top-down design

A

it is the process of breaking down a problem into its component parts.

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

what is stepwise refinement

A

the process of breaking down a component or module until it is a level where the parts can be implemented in a programming language, each level or step is a refinement of the previous level.

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

what is the difference between Functions and procedures

A

Functions retruun one result via the function itself, and are used as parts of experssions, where as a procedure return their results via parameters and their calls are statements on their own.

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

what Is Big O notation

A

it is used to compare algorithms, it describes the performance or time complexity of algorithms to the number of data items being processed.

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

What are common Big O classifications

A

O(1): the processing time is constant regardless the number of data items. example (display the first item in an array regardless the size of the array)

O(log n): Processing time increase slower as n increases in size. example (Binary search)

O(n): Processing time is proportional to the number of data items. example (linear searches)

O(n log n): processing of each data item is an O(log n) process, as there a n data items then the time complexity is O(n log n). example (Quick sort and merge sort)

O(n^2): processing of each data item potentially requires examining all other data items. example (bubble sort, insertion sort and selection sort)

O(2^n): processing time increases exponentially as the number of data n increases.

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

What is a linear search

A

It is a search that involves examining items one at a time from the beginning at the start of the list and continuing till the end of the list.

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

What is a Binary search

A

The search involves splitting the list into two parts each time a comparison is made. As the list must have been previously sorted, one half of the list can be discarded after each comparison is made. Eventually the required item will be found

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

Does a Linear search need to be sorted for it to work

A

No

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

Does a Binary search need to be sorted for it to work

A

Yes

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

What are the three sorting methods

A

Insertion Sort

Selection Sort

Bubble Sort

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

What is the insertion sort

A

Insertion sorts involve looking through a sorted list for the correct position for a new item and inserting the item into that position. This sort is particularly useful for when a small number of items needed to be added to an already sorted list.

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

What is the selection sort

A

it is essentially a repetition of linear searches to find the smallest (or largest) item in a list. Each time the search is complete, the item found is moved to the end of the sorted list. This type of sort is rather more intuitive for humans as it is a strategy often employed when sorting things by hand.

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

What is bubble Sort

A

It is a sorting method that is sorted by considering the order of individual item pairs and swapping them if they are out of order. This results in items moving one position at a time towards their final position.

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

what is a parameter

A

it is a value or variable passed to or returned from a function or procedure. Parameters are often called arguments.

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

What is a Swap in an Algorithim

A

A swap is used to exchange the content of one variable with that of another. A temporary variable and three steps are generally required.

example:

Temp = X

X = Y

Y = Temp

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

what is a string data type

A

It is a data type used to hold characters or texts. They are essentially an array of characters.

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

Whar are some routines for processing strings

A

Extracting

deleting

inserting

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

What is extracting

A

It is essentially making a copy of a section of the original string; the original string remains intact. There are three pieces of information required to achieve the extraction which is the original/intial string; the starting point of the extraction and either the length of the extraction string or end point of the string.

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

What is deleting

A

It is essentially cutting a portion from the string. The original string is reduced in length by the number of characters that have been removed. Three identical parameters are required: the original or initial string; the starting point for the deletion; and either the length of the string to be deleted or the finish point of the string to be deleted.

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

What is inserting

A

it is a string of characters into another string of characters that involves the splitting of the initial string into two parts and then joining the first part of the string with the insertion string and the final part of the initial string. . Parameters required to complete this process are the start position for the insertion, the insertion string, and the main or initial string.

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

what is an index

A

an Integer value used to denote a particular data item held in an array. Also called a dimension or subscript.

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

what are the common data structures

A

Multi dimensional arrays

Single dimensional array (just an array)

arrays of records

Records

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

What is an array

A

it is a grouped list of similar variables, all of which are used for the same purpose and are of the same data type

27
Q

What is an record

A

it is a grouped list of varaibles, which may each be of different data types. individual elements are accessed using their field names within the record

28
Q

What is an multi-dimensional array

A

it is an array within an array

29
Q

What is an array of records

A

It is an array that contains records.

30
Q

What are the two types of files

A

Sequential

Relative (or random) files

31
Q

What is an sentinel value

A

A dummy value used to indicate the end of data within a file.

32
Q

What are sequential files

A

It is data stored in continuos stream. The data must be accessed from beginning to end.

33
Q

How do you read from a file in psuedo code

A

Sequential file algorithim

BEGIN ReadFile
Open File for input
Read item from file
WHILE item != “ZZZ”
Process item
Read item from file
ENDWHILE
Close File
END ReadFile

34
Q

how can you open a sequential file

A

Input, output or append.

Input is used to read from data

Output is used to write data to a new file

append is used to write data commencing at the end of an exisiting file.

35
Q

What is a relative file

A

Relative refers to the fact that there is a known structure to these files which allows the start of individual records to be determined. As each record within the file is exactly the same length then the relative position of each record within the file can be used to access individual records. In effect the position of each record in the file is used as a key to allow direct access to each record

36
Q

what are Relative files used to store

A

Recrods, each record is the same data type and they must be precisely the same length.

37
Q

How do we develop suitable test data

A

Test data should test every possible route through the algorithim as well as testing each boundary condition.

38
Q

What are the most common sreen elements

A

Menus

Command buttons

Tool bars

Text boxes

List boxes

Combination Boxes

Check boxes

Option or radio buttons

Scroll bars

Grids

labels

Picture or image boxes

39
Q

What are menus

A

they are used to intiate the execution of particular modules within a program.

40
Q

What are command buttons

A

They are used to select a different parth for execution. they are often used to confirm when a task should take place.

41
Q

What are combination boxes

A

Combination boxes are often called combo boxes or drop down lists. They combine the functions of a text box with that of a list box. A text box is provided for keyboard entry or the user can select an item from the list box

41
Q

What are list boxes

A

List boxes force the user to select from the given options. This screen element is self-validating as it is not possible for the user to enter unexpected input. List boxes can be configured to allow more than one item to be selected.

41
Q

What are tool bars

A

Tool bars are used to quickly access commonly used items. Each tool is represented as an icon. A process is initiated when a particular icon is selected. Tool bars can normally be resized and repositioned. Often toolbars are positioned horizontally at the top or bottom of the screen. Tool bars allow easy access to commonly used functions.

41
Q

what are text boxes

A

They are used to recieve input in the form of strings. They provide no included mechanisim for validating the data entered, any numeric data entered is converted into a string. They should only be used when other forms of self-validating screen elements are unable to accept the required data.

42
Q

What are check boxes

A

A check box is used to obtain Boolean input from the user. Clicking a check box causes its value to change from true to false or false to true. This is a self-validating screen element as it is not possible for the user to input inappropriate data.

42
Q

What is a grid

A

A grid is a two-dimensional screen element that can be likened to an array of records. Each row of the grid is used to display individual records and the columns represent each field. Each cell are really individual text boxes.

43
Q

What are radio buttons

A

Radio buttons force the user to select one of the displayed options. It is not possible to select more than one option. In this regard, groups of option or radio buttons are often used to implement multiple selection statements

44
Q

what are scroll bars

A

Scroll bars display the position of a numeric data value within a given range. Often they are used to navigate within another screen element.

45
Q

What are labels

A

Labels are used to provide information and guidance to the user. Labels are often used to provide instruction to users in regard to required inputs into other screen elements. Users cannot input data into labels

46
Q

What are pictures or image boxes

A

Picture or image boxes are used to display graphics. These are output screen elements.

47
Q

What are the number of different methods of providing help to users using screens

A

Context sensitive help

procedural help

Conceptual help

Tours, Tutorials and wizards

48
Q

What is Context sensitive help

A

By examining the screen element the user is currently working with, it is possible to provide appropriate help. They are usually small windows containing infomration about the user’s last action.

49
Q

What is Proccedural help

A

It provides concise and accurate instructions on how to complete a specific task. Often a series of steps are required to complete the task will be listed, they aim to explain “how” as task is accomplished rather than what is and why it needs to be done.

50
Q

What is conceptual help

A

Conceptual help aims to explain information about “what” and “why” rather than the “how”. The concepts behind a task should be explained. For example, explaining ‘how’ to save a file is a procedural task. Explaining ‘why’ files need to be saved is a conceptual task.

51
Q

What is a tour

A

they are used to give new users of product an overview of the product’s purpose and basic features. They aim to explain the capabilities of a product without detailing the steps needed to accomplish them. They are offten multimedia presentations which can be separate to the actual product.

52
Q

What is an tutorial

A

They aim to provide instruction to users on how to complete specific tasks. Step-by-step instructions is given with examples.

53
Q

What are Wizards

A

Wizards are used to automate complex tasks. The user completes a series of dialogues that gather together the required inputs needed to complete the task. The wizard then completes the task for the user

54
Q

Where is consisteny required in interface design

A

Name of commands

use of icons

Placement of screen elements

Forgiveness: warnings about potential dangerous operations and methods of recovery.

55
Q

How do we determine the appropriate language used to develop a product

A

Is the programming logic driven by the user or by the programmer?

Does the language provide for all the required features of the solution?

What hardware and operating system ramifications are there?

Is a graphical user interface (GUI) required?

What is the experience of the developers?

56
Q

What are the two type of language approaches

A

event-driven or sequential

57
Q

What is the Event driven approach

A

it allows the user to choose the order in which processing occurs.

58
Q

What is the sequential approach

A

It ensures that the software executes in a distinct order. The programmer determines the order of processing when writing the software. The user must follow a distinct route through the software.

59
Q

What is benchmarking

A

the process of evaluating something by comparison to a standard. It enables competing products to be fairly compared.