Unit 1 Flashcards
What are the five deep questions in computing identified by Jeannette Wing?
- What is computable?
- P = NP?
- What is intelligence?
- What is information?
- How can we build complex systems simply?
What are measures of goodness in computational thinking?
- Usability
- Modifiability
- Maintainability
- Cost
- Beauty
- Elegance
- Correctness
- Efficiency
What defines a computational problem?
A problem is computational if it can be expressed sufficiently precisely that it is possible to attempt to build an algorithm to solve it.
What defines a computational thinker?
A computational thinker has the skills to:
- Formulate a problem as a computational problem
- Construct a good computational solution for the problem, or explain why there is no such solution
What are the drivers of computing?
- Technology
- Society
- Science
What would be the result of typing the following into a Python interactive shell?
>>> a = [1, 2, 3, 4, 5]
>>> b = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’]
>>> x = a[:3]
>>> y = b[4:]
>>> z = b[::2]
x references [1, 2, 3]
y references [‘e’, ‘f’]
z references [‘a’, ‘c’, ‘e’]
True or False:
A trade-off between resources such as memory and execution time is often necessary when deciding which algorithm is best for a given task.
True
What are important factors when designing algorithms?
- Simplicity
- Correctness
- Speed
- Accuracy
Complete this computational thinking diagram:
Complete this computational thinking diagram:
What is an algorithm?
An algorithm consists of a precisely stated, step-by-step list of instructions.
A problem is computable if it is possible to build an algorithm which solves any instance of the problem in a finite number of steps.
What is an effective procedure?
An effective procedure must terminate and must also solve every instance of that problem.
What is encapsulation?
Encapsulation is about hiding details of an implementation from users to manage complexity.
In computing, will a hierarchy of layers always eventually bottom out at a layer consisting of electronic components?
No.
Electronic components are not the only physical substrate from which computers can be built.
What are the two kinds of abstraction, and how are they different?
Abstraction as modelling is the relationship between a part of reality and a model which represents the interest of this reality.
Abstraction as encapsulation is the relationship between a layer that implements the model (the implementation) and a layer through which users interact with the model (the interface).