Fundamentals of Computational Thinking. Flashcards
What is logical reasoning?
The process of using a set of given facts to determine whether new facts are true or false.
What are the advantages of logical reasoning?
Helps understand the nature of problems, identify the facts relevant to the problem and to draw conclusions.
What is an algorithm?
A step-by-step procedure for carrying out a particular task.
What is automation?
Creating a computer model of a real-life situation and putting it into action.
How is automation done?
Understanding the problem
Creating suitable algorithms
Using appropriate data to solve the problem.
What are the considerations with automation?
Identify the key factors that make the model accurate and to consider what data to use and where to get it from.
What is abstraction?
To reduce problems to their essential features, ignoring the unnecessary details.
What is representational abstraction?
Process of removing unnecessary details so only information required to solve the problem remains.
What is abstraction by generalisation/ categorisation?
The concept of reducing problems by putting similar aspects of a problem into hierarchical categories.
What is procedural abstraction?
The concept that all solutions can be broken down into a series of subroutines.
What is Top-Down design?
The main system at the top and breaking it down into smaller units.
What are the considerations of Top-Down design?
What event triggers the subroutine
How subroutines link together
How errors are handled.
What is functional abstraction?
Breaking down a complex problem into a series of reusable functions.
Main processes defined in terms of functions.
What is data abstraction?
Hiding how data is represented so it is easier to build a new kind of data object.
Separates implementation from interface.
What is data composition?
Data objects are combined to create a compound structure.
What is problem abstraction?
Reducing a problem into its simplest components until the underlying processing requirements to solve the problem are identified.
What is information hiding?
The process of hiding all the details of an object that doesn’t contribute to its essential characteristics.
What is encapsulation?
A method of implementing the information hiding principle by storing data and methods within a class/ object.
What is decompositon?
Breaking down a large task into smaller more manageable subtask.
What is deprocedural composition?
The process of looking at system as a whole then breaking it down into subroutines needed to complete the task.
What is composition?
Building up a whole system from smaller units.
What is procedural composition?
Process of creating a working system from the abstraction.
Linking procedures to make compound ones and combining data structures to form compound structures.
What are finite state machines (FSM)?
Any device that stores its current status and whose status can change as the result of an input.
What are FSM used for?
Used as an conceptual model for designing and describing systems.
What are state transition diagrams?
A visual representation of an FSM.
Uses circles to represent each state and arrows to represent the transitions that occur as a result of an input.
What is a state transition table?
A tabular representation of an FSM machine.
What is a Turing machine?
A theoretical model of computation.
A FSM with the ability to read/write data to an infinite tape.
What components make up a Turing machine?
Tape divided into cells, where each cell contains a symbol. (Acts as memory)
Read/Write head which travels along the tape one cell at a time.
Finite alphabet of symbols.
What does the symbol □ mean in the Turing machine?
An empty/blank cell.
What states must the Turing machine contain?
Start state
At least one state
Halting state, which stops the Turing machine.
What is the definition of a transition function for Turing machines?
A method of indicating how the machine moves between states and what data is written at each state.
What is the formula for transition functions?
δ(CurrentState, InputSymbol) = (NextState, OutputSymbol, Movement)
What is a Universal Turing machine?
A theoretical machine that can simulate any number of Turing machines by taking their description and input data, to produce a range of outputs.
What is a regular language?
Any language that can be described with regular expressions or FSM.
What is a regular expression?
A notation containing strings of characters that can be matched to the contents of a set.
What are the uses of regular expressions?
To define and search a set.
What is a set?
A defined collection of objects that do not repeat.
What does a|b|c mean in regular expressions?
a or b or c