Section 2 Problem Solving and Theory of Computation 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
what is information hiding?
where data is not directly accessible and can only be accessed through defined procedures / functions
26
what is decomposition?
breaking down a complex problem into multiple smaller problems which are individually easier to solve
27
what is problem abstratcion?
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
what is automation?
building and putting into action models to solve problems
29
what is a finite state machine?
model of computation used to design computer programsand sequential logic circuts
30
usages of finite state machines
used in modelling the design of hardware digital systems, compilers and network protocols