Computational thinking Flashcards
What is abstraction
breaking down problems to their essential features
What is representational abstraction
removing unnecessary details so that only the information needed to solve the problem is left
what is abstraction by generalisation/categorisation?
reducing problems by putting similar aspects of a problem into hierarchal categories.
What is functional abstraction
breaking problems down into functions
What is top down design?
breaking a problem down from the most important to least important systems in a tree like diagram
what is data abstraction?
hiding how data is represented to allow it to be represented as a different object ( like building a stack from an array)
What is problem abstraction
identify an underlying problem in the aim that its already been solved.
what is information hiding?
the process of providing a definition or interface of an object while hiding how it truly works
What is decomposition?
breaking tasks into smaller tasks
what is composition
building a system from smaller units.
What is a Turing Machine?
a finite state machine that can read or write data to an unlimited tape
there is a start state and any state with no outgoing transition is called a halting state
What is a universal machine?
a machine that can simulate a Turing machine by reading a description of the machine as well as an input of its own tape
What is a regular language?
any language that can be described using reg-ex
what is reg-ex?
a notation form that contains strings of characters that can be matched to the content of a set.
What is a context free language?
an unambiguous way of describing the syntax of a language, where the syntax is complex.