Thinking Abstractly Flashcards
What is computational thinking?
A way of solving problems, designing systems and understanding human behaviour that draws on concepts fundamental to computer science
What is abstraction?
It factors out details so a programmer can focus on working out a solution to a specific area and reduces the complexity of a problem making it easier to solve
Why do we need abstraction?
It allows controlled exposure to details as a series of layers if a problem is too complex to solve
What would skipping levels of abstraction lead to?
May lead to an increase in complexity
Is an accurate view of London from above abstraction or reality?
Reality - nothing added and nothing hidden. It is completely useless to give this map to someone unfamiliar with London and expect them to make a tube journey across the city.
Is an image of the London Underground map abstraction or reality?
Abstraction as it does not have details such as roads, houses, buildings etc. just the most useful information for navigating London’s underground system
Is an image of the complete Central line abstraction or reality?
Abstraction - no need to show any additional detail or complexity of other tube lines so is useful to show on the Central line only
What is an abstract model?
A way of representing a part of a problem that has been abstracted
What are examples of abstract models?
Diagrams, tables, maps, graphs