Topic 4: Computational Thinking Flashcards

1
Q

Computer program

A

Sequence of instructions, written to insctruct a computer to perform a specified task.

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

Stages of problem solving

A

Identification
Development
Selection
Implementation

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

Properties of algorythms

A

Finiteness
Definiteness
Input/Output
Effectiveness

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

Ways of expressing algorithms

A

Simple English
Flowcharts
Pseudocode
Programming Language

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

Subprocedures

A

Break the problem in pieces and then attack every piece instead of solving a big complex problem. It contains a series of commands that perform a task. It is also called modular programming.

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

Iteration

A

Process of repeating a series of instructions. Is used to repeat a statement or a block of statements within an algorithm.

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

Conditional statement

A

Perform different instructions depending on a Boolean test. This Boolean is evaluated and depends on if it is true or false the program does one thing or another. The if-then-else conditional statement is common across programming languages.

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

Inpu/Output

A

An input is something that is put into a program while output is something that is produced by the program after a process.

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

Pre-planning

A

Process of planning something in advance.

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

Ghantt Chart

A

Type of bar chart that is widely used for project schedules and project management.

On the left, there is a list of the tasks, activities and events. Along the top there is the time scale. Each bar represents the time spent in one task.

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

Complexities of searches and sorts

A
Binary O (Log n)
Sequential O(n)
Bubble O(n^2)
Slection O(n^2)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Compiler

A
  • Compiler transforms code written in a high-level programming language into the machine code, at once, before program runs
  • Faster
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Interpreter

A
  • Interpreter coverts each high-level program statement, one by one, into the machine code, during program run.
  • Slower
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Fundamental operations

A

Operations that don’t require the processor to go through a large number of operations to reach a result f.e. add, retrieve, compare, store

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

Compound operations

A

More complex operations which involve a number of stages with operations such as finding the largest number in an array.

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

Array

A
  • Fixed in size

- Holds same type data only

17
Q

Collection

A
  • Growable

- Can hold same and different type data

18
Q

Advantages of sub-programs

A
  • Can speed up the process because braking down a complex program means small pieces can be donde simultaneously.
  • It enables reusing code accross multiple programs.
  • Facilitates abstraction
  • Improves maintainance and makes easier testing.
19
Q

Advantages of using collections

A

Collections are predefined algorithms that prorammers can use immediately.
- Increases performance
- Code reuse, saves time and money
-

20
Q

What’s abstraction and why should we use it?

A

Allows to create a general of what the problem looks and how to solve it.

  • Removes all specific details so it helps forming a model.
  • If it’s not used, designers may end up with the wrong solution.
  • Widely used because there are several common patterns in programming.
  • It’s one of the principles of OOP.