AS 2

0.0(0)
studied byStudied by 2 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/106

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No study sessions yet.

107 Terms

1
New cards

what is abstraction

the process of removing irrelevant data to provide a solution

2
New cards

what’s an example of when abstraction is used

maps - it only shows what’s required, like roads

3
New cards

what are the benefits of abstraction

program development time is reduced as the model is simplified, meaning it can be delivered to the client quicker, client satisfaction as they don’t have irrelevant features, and the program is smaller so it takes less memory space and has quicker download time

4
New cards

what are the steps to creating a model

identify the purpose, find sources of info needed, and use this information to decide which details are needed

5
New cards

what is decomposition

the process of breaking a problem into smaller and simpler parts so it’s easier to examine and develop a solution

6
New cards

what are the benefits of decomposition

tasks are easier to understand/ solve, programming or maintaining smaller problems are simpler, and sub-problems can be given to different teams

7
New cards

what’s pattern recognition

it identifies which parts of a program are similar and could use the same solution, leading to reusable code, i.e. subroutines, but each final part is written and tested with a separate procedure or function

8
New cards

in a flowchart, what represents the input or output

a parallelogram

9
New cards

in a flowchart what represents an IF or CASE statement

a diamond

10
New cards

in a flowchart how is FOR, REPEAT, and WHILE presented

an arrow

11
New cards

how is something assigned in a flowchart

a rectangle

12
New cards

what is a record

when several data types can be used under the same identifier

13
New cards

what is an array

a data structure containing several elements of the same data type

14
New cards

what is step-wise refinement

it’s the process of splitting problems into sub-tasks into smaller sub-tasks until its just one statement from which the task can be programmed

15
New cards

what’s the point of an array

it can store multiple data types in a neat and accessible manner, data types have the same identifier and each item can be accessed separately using an index

16
New cards

what’s the benefit of an array

it simplifies an algorithm, making it easier to fix, add data, test or debug, and it can store multiple data types

17
New cards

how does a stack operate

the last data in is the first out

18
New cards

how does a queue work

the first data in is the first out

19
New cards

how does a linked list work

each item points to the next item on the list

20
New cards

how do pointers work in a stack

There’s a base pointer at the first slot, and a top pointer at the last item. When there’s only one item in the stack, the pointers both point to it.

<p>There’s a base pointer at the first slot, and a top pointer at the last item. When there’s only one item in the stack, the pointers both point to it.</p>
21
New cards

how do pointers work in a queue

it uses two pointers, a front pointer (the lower bound) at the first pointer, and a rear pointer (the upper bound) at the last. When they are equal, there’s only one item in the queue

22
New cards

how do pointers in linked list work

it uses a smart pointer that points to the first item in the linked list, every items is stored with a pointer to the next item, called a node, and the last item has a null pointer

23
New cards

what is a pointer in a linked list

a variable that stores the address of the node it points to

24
New cards

what are some features of a queue

it has a limited size so can become full, the position of the queue doesn’t change and so should be managed as a circular queue and the front/rear pointers are updated everytime the queue is

25
New cards

what are some features of a linked list

it uses two 1D arrays, one for the linked list and one for the pointers, linked lists can become full, and items can be removed from any position in list, the empty position must be managed as an empty linked list

26
New cards

how does a stack move its items

items can be added (push) or removed (pop)

27
New cards

how are items managed in a queue

items can be added (enqueue) and removed (dequeue)

28
New cards

how are items managed in a linked list

a new items will always be added to the start of the list

29
New cards

what are stacks used for

memory management, expression evaluation and recursion in backtracking

30
New cards

what are queues used for

to manage the files sent to a printer, buffers used with keyboards and scheduling

31
New cards

what are the advantages of a linked list

it's easier to add/ delete data in a linked list, and only the pointers need to be changed if the data is changed

32
New cards

what’s the disadvantage of a linked list

more storage space is needed for the pointer fields , and its more complex to set up

33
New cards

how is a new node added in a linked list

check for an empty node, assign data to first empty node in free list (A), set A’s pointer to node after insertion (B), pointer previously pointing to B is now at A, and update the free list pointer to the next empty node

34
New cards

how is a linked list implemented

Two 1D arrays are declared, one for data and one for pointers, and elements from the same index is represented as 1 node, the variables for the start pointer and next free node pointer is declared, and an appropriate value is defined for the null pointer

35
New cards

how do you insert or add a new value in a queue

check the queue isn’t full, increment the end pointer, increment the variable storing the no. items in the queue, and store the data in the location pointed to by the end pointer

36
New cards

in a queue, how is a value removed

a check is made to ensure the queue isn’t empty, then the value at the queue pointer is removed & the pointer is incremented

37
New cards

how is a stack implemented

declare a 1D array (type string), the number of elements show how big the stack needs to be and assign the stack pointer/ size of stack/ max value of pointer variables.

use the stack pointer as index to array, initialise pointers and variables to indicate empty stack, store each item on stack as one array element, and push or pop routines used to operate it

38
New cards

what’s a linked list’s purpose

to use an array to implement a stack, queue or binary tree

39
New cards

what’s the purpose of a program development lifecycle

to develop a successful program or suite of programs that is going to be used by others to perform a specific task

40
New cards

what are the stages of a program development lifecycle

analysis, design, coding, testing and maintenance

41
New cards

what is the analysis stage

investigating what the program is specificially required to do

42
New cards

what is the design stage

using the program specification to show how the program should be developed

43
New cards

what is the coding stage

writing the program or suite of programs

44
New cards

what is the testing stage

testing the program to make sure it works under all conditions

45
New cards

what is the maintenance stage

the process of making sure the program continues to work during use

46
New cards

what is the waterfall model

a linear program cycle, where each stage is completed before the next is begun

47
New cards

How does the waterfall method work

it’s linear, well documented - as documents are completed at every stage, and it has low customer involvement, only at the start and end of the process

48
New cards

what are the benefits of the waterfall model

it’s easy to manage, understand and use. The stages don’t overlap and it works well for smaller programs, when the requirements are known and understood.

49
New cards
50
New cards

what are the downsides of the waterfall model

it’s difficult to change the requirements at a later stage, not suitable for programs where the requirements could change, or longer / more complex projects, and the working program is produced late in the cycle

51
New cards

what is the iterative model

a program development cycle where a subset of requirements are found and expanded, after each iteration, repeating until the whole system is finished.

52
New cards

what is the iterative model’s principle

it uses iterative development, parts of the system are produced after every iteration. It has high customer involvement as it can be presented after every iteration

53
New cards

what are the benefits of the iterative model

working programs are developed early on in the lifecycle, it’s easier to test and debug smaller programs, it’s more flexible - easier to alter requirements, and customers are involved at every iteration, no surprises

54
New cards

what are the drawbacks of the iterative model

The whole system needs to be defined at the start so it can be broken down, it needs good planning overall and for each stage, and it’s not suitable for short/ simple projects

55
New cards

what is rapid application development

when different parts of the requirement are developed in parallel, using prototyping to provide early user involvement in testing

56
New cards

what are the principles of rapid application development

it reuses previously written code / use automated code generation where possible, requires minimal planning, and it has high customer involvement as they can use prototypes during development

57
New cards

what are the pros of rapid application development

it has reduced development time, quick and frequent customer feedback, it’s flexible as requirements can be changed, and due to parts being developed side by side, modification is easier as each part must work independently

58
New cards

what are the downside of rapid application development

the system must be able to split into modules, it needs a strong team of skilled developers and it’s not suitable for short/ simple projects

59
New cards
<p>what’s a structure chart </p>

what’s a structure chart

a modelling tool used to break down a problem into a set of subtasks; it shows the structure of different modules and how they connect/interact with each other. It shows selection and or repetition

60
New cards

what are the arrows in a structure chart

parameters

61
New cards

what is a state transition diagram

it’s a diagram showing the behaviour of a finite state machine

62
New cards

how does a state transition diagram look

states are nodes (circles), transitions are interconnecting arrows, events are labels on the arrow, a condition is specified in square brackets after the event label, an initial state is shown via an arrow with a black dot, and a stopped state is shown by a double circle

63
New cards

fault in executable code means an error in what, and how do we avoid this

a fault in the program design, to avoid this create a detailed specification at the end of the analysis stage and use structured methods, i.e. structure charts

64
New cards

how are errors avoided in the coding stage

by keeping details private, and bundling data to avoid interference

65
New cards

where may faults or bugs show up and how do we fix this

bugs will be exposed in the testing stage, and are corrected during the maintenance stage

66
New cards

what are the three types of error

syntax, logical and run-time errors

67
New cards

what is a syntax error

an error in the grammar of code, these need to be fixed before the program is executed, and many IDEs offer how to fix them

68
New cards

what is a logic error

a problem with the logic of a program, resulting in the program not knowing what to do, these are found when the program is tested and most IDEs let you single step through the program to find these errors, a trace table is used to manually check

69
New cards

what’s a run-time error

an error found when a program is executed, it may stop unexpectedly, when tested in IDE, an error message may be given, or if the program has already been released the developer should be informed so it can be patched or re-released

70
New cards

what is a test strategy

An overview of the testing needed to meet the requirements of a program. It shows how and when the program should be tested

71
New cards

what is a test plan

a detailed list showing all the stages of testing and every test that will be performed for a particular program

72
New cards

what is a walkthrough

a formalized version a dry run, it uses predefined test cases.

73
New cards

what is a dry run

testing a program by working through it or a module manually

74
New cards

what are the types of data

normal, abnormal, extreme and boundary

75
New cards

what is normal data

(i.e. if given range 10<= x<=30

data accepted by a program and used to show the program is working as expected (i.e. 10-30)

76
New cards

what is abnormal data

(i.e. if given range 10<x<30)

data rejected by a program as it is unsuitable or could cause problems

(i.e. 78)

77
New cards

what is extreme data

(i.e. given range 10<= x <= 30)

data on the limit of what is accepted by the program

(i.e. 10 would be the lower limit and 30 would be the upper limit)

78
New cards

what is boundary data

(i.e. 10<= x <= 30)

data on limit of what is accepted or data just outside the limit of thar rejected

(i.e. accept 10 and 9 as the lower limit and accept 30 and 31 as the upper limit, or 9 and 31 should be rejected)

79
New cards

what are the types of testing during the developing process

white box, black box, and integration

80
New cards

what is a white box

the detailed testing of how each procedure works, it involves testing the structure and logic throughout a program module

81
New cards

what is a black box

it tests a module’s input and output

82
New cards

what is integration

where each module is tested individually and debugged where necessary during the testing phase

83
New cards

what are the types of testing

alpha, beta and acceptance testing

84
New cards

what is alpha testing

the completed or nearly finished program is tested by the development team

85
New cards

what is beta testing

when a small group of users test the completed program before it’s released

86
New cards

what is acceptance testing

testing of a completed program to show the customer it works as required

87
New cards

what are the types of program maintenance

corrective, perfective and adaptive maintenance

88
New cards

what is corrective maintenance

the correction of any errors that appear during use, changes are made to correct bugs

89
New cards

what is perfective maintenance

the process of improving a program to increase its performance

90
New cards

what is adaptive maintenance

altering a program to perform new tasks due to a change in the specification/ requirement

91
New cards

what are the advantages of an array

it simplifies a program, making it easier to understand, maintain, or edit

92
New cards

how is a set of data stored into a file

a set of data is collapsed into a single line, separated by a special character

93
New cards

what are the advantages of storing data in a file

data is saved after the computer is switched off (stored permanently) and data doesn’t need to be re-entered when a program is re-run

94
New cards

what are some features that make code easier to understand

indentation, white space, comments, capitalised words etc.

95
New cards

why is ‘good practise’ important

it makes code easier to understand. describes the purpose of code/ identifies and makes code easier to debug and maintain

96
New cards

what are constants and why are they useful

used for fixed values, helps avoid changing values accidentally, and it makes a program easier to maintain / understand

97
New cards

what’s the benefit of using a program library/library routines during development

its already been tried and tested free of errors, it performs a function a user may not be able to program themself, and it speeds up development time

98
New cards

what is the use of a program library/ library routine

it can be used where code is repeated many time within the code, it reduces the complexity of a program and it makes testing / debugging easier

99
New cards

when are while/ repeat loops used

when the number of iterations (repetition) is not known

100
New cards

what loop(s) can be used when the number of iterations are not known

while or repeat loops