Section 2 Problem Solving and Theory of Computation Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

what is software?

A

a name given to any program written for the computer

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

what are the 5 stages of writing software?

A
  • analysis
  • design
  • implementation
  • testing
  • evaluation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

what is analysis?

A

the requirements and goals of the project must be established

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

what is design?

A

data structures will be specified, algorithms, user interface, screen designs and reports will be designed

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

what is implementation?

A

the program code is written

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

what is testing?

A

the whole system must be tested for errors

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

what is evaluation?

A

the system is evaluated according to given criteria

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

what is computational thinking?

A

the ability to thinl logically about a problem and apply techniques for solving it

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

what is structured programming ?

A

aims to improve the clarity and maintainability of programs

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

what are the 3 basic programming structured used in structured programming?

A
  • sequence
  • selection
  • iteration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

what is a block structured language ?

A

a block is a section of code consisting of one or more statements

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

what are the advantags of structured / modular programming?

A
  • individual modules can be seperatly tested
  • modulues can be kept in a moduel libary and reused in other programs
  • larger programs can be split into modules that are easier to read, debug and maintain
  • several programmers in a team can work on seperate modules shortening developement time for a large project
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

what is a hierarchy chart?

A

a tool for representing the strucure of a program , showing how the modules relate to each other to form a complete solution

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

what are the limitations of a hierarchy chart?

A

does not show detailed program structures required in each module

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

what is an algorithm ?

A

a set of step by step instructions used to complete a task

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

what is a sorting algorithm?

A

an algorithm that is used to re order nodes in an array into a specific/given order

17
Q

what is bubble sort ?

A
  • go through the array, comparing each item with the one next to it. if its greater swap them
  • the last item in the array will be in the correct place after the first pass
  • repeat n-1 times , reducing by on each pass, the number of items to be examined
18
Q

what is the purpose of testing?

A

to try and uncover undetected errors

19
Q

what is a normal test?

A

when we test normal data within the range that you would expect and of the data type you would expect

20
Q

what is boundary testing?

A

this is when data at the ends of the expected range or just either side of it

21
Q

what is erroneous testing?

A

data that is either outside an expected range or is the wrong data type

22
Q

what is computational thinking?

A
  • formulating the problemas a computational probelm

- trying to construct an algorithm to solve the problem

23
Q

what is abstratcion?

A

removing un neccessary details so that you are primarily focused on the problem

24
Q

what is procedural abstratcion?

A

using a proceduer to carry out a sequence to carry out a sequence of steps for achieving some task

25
Q

what is information hiding?

A

where data is not directly accessible and can only be accessed through defined procedures / functions

26
Q

what is decomposition?

A

breaking down a complex problem into multiple smaller problems which are individually easier to solve

27
Q

what is problem abstratcion?

A

removing details until the problem is represented in a way that is possible to solve because it reduces to one that has already been solved

28
Q

what is automation?

A

building and putting into action models to solve problems

29
Q

what is a finite state machine?

A

model of computation used to design computer programsand sequential logic circuts

30
Q

usages of finite state machines

A

used in modelling the design of hardware digital systems, compilers and network protocols