Computational Thinking Flashcards

1
Q

What differentiates a “computer person” from the others?

A

A computer person uses computational thinking to solve a problem, via a step-by-step strategy, starting from inputs and producing solutions in form of outputs

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

Example of unary notation

A

For instance, if we were to count the number of people in a room, we could use one physical hand and count up to 5 (a number for each finger up)

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

Example of binary notation

A

Unlike unary notation, binary notation uses a different notation to count: not just fingers up to represent the numbers, but the order in which the fingers are up or down instead.

Now, having double the values for every finger, i can count up to 2x2x2x2x2 or 2^5 (fingers), and get 32 possible values, having the possibility to count from 0 to 31 with one single hand

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

What is a transistor?

A

It’s sort of a computer’s finger, that the device uses and switches on and off, creating a binary notation for computing and counting. When off and on, the transistor can be equal to 0 and 1, just like the finger can be up and down.

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

How do you represent numbers in the binary system?

A

We are used to think that 123 corresponds to “one-hundred-twenty-three”. That is because:

1100
2
10
3*1

The sum of these operations will give us exactly the number 123.
This is the decimal system.

Instead, the binary systems works with the powers of 2, as follows:

n1
n
2
n4
n
8

Where n can be only 1 or 0, producing a sum of numbers equal to the number we want to represent.

PLEASE NOTE: As we go higher with the numbers, we need far more switches, thus more hardware.

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

How do you represent letters with the binary system?

A

Using the ASCII, a collective agreement that whenever you’re in the context of a text-based program, binary digits that would normally represent number will instead represent letters.

PLEASE NOTE: This shows that how bits are interpreted is entirely context-dependent

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

How can ASCII represent all the thousands of foreign languages’ digits if it can only count up to 256?

A

ASCII was substituted by (and became a subset of) UNICODE, which can represent 4 billions of digits

For instance, emojis are encoded in the UNICODE huge space for digits, and sometimes companies can decide to collectively agree on one code for a same-expression emoji.

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

What is a byte?

A

It corresponds to 8 bits

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

What is RGB?

A

It’s a system to represent colors, corresponding to RED, GREEN and BLUE, each with 8 bits, for a total of 24 bits.

Those values will determine the quantity of r, g or b in the mix, which eventually will produce a color

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

Why images and colors are often quantified in kilobytes, megabytes and gigabytes?

A

Because every single pixel of an image requires 24 bits for the RGB representation of color, that will be part of a bigger image. Thus, to represent a very detailed image, you will need millions o pixels, each with 24 bits.

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

What are frames?

A

Frames are images that are put on next of the other, to reproduce in a certain velocity (for instance 24 frames per second) the illusion of movement, or better, a video.

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

What is an algorithm?

A

It’s a finite sequence of instructions and operations, given some initial conditions, that will eventually output a determined objective.

For example, going through a phone book page by page to find Mike Smith’s number. It’s correct, even if it’s not efficient. For instance, skipping one page every two pages, will make it more efficient (faster) but potentially incorrect.

The smaller the steps, the more efficient is the algorithm

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

What do we mean with the term “pseudocode”?

A

It’s a sequence of english sentences used to describe the steps of an algorithm

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

What are “functions”?

A

In a programming language, words that prescribe actions (e.g., “open”, “quit”, “call”)

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

What are “conditions”?

A

In a programming language, words that prescribe a “fork in a road” (e.g. “if”, “else”)

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

Level of abstraction of algorithms

A

To use an algorithm with a programming language, the more we are specific the better the result will be, and probably the more correct it will be generally for everyone using it.

Moreover, when one person produces a really detailed algorithm, being capable of solving the problem in question, whether it’s an internal software or a product one, it will help people smoothen their processo in computational thinking.