Preview

02 - Abstraction

 1. Jeanette Wing, credited with coining the term, abstraction , says it lies at the heart of computational thinking. Fill in the blanks:
The abstraction process – deciding what details we need to highlight and ________________________ underlies computational thinking.’ Computational thinking and thinking about computing (The Royal Society, 2008)

  what details we can copy

  what details we can include

  what details we can ignore

  what details we can duplicate

 2. Another definition of abstraction is that it is about ______ things; identifying what is important without __________________ Abstraction allows us to manage complexity.
#this is a start of a rocket game program

speed = 0
score = 0
rocket_position = 0,2

#We are using abstraction because..
#...only the relevant variables are being used
#More detail can be added but....
#When solving a problem it is useful to first abstract!

  complicating / worrying about the detail

  simplifying /worrying too much about the detail.

  killing / destroying the detail

  underestimating / worrying about the fine details

 3. How is the school timetable an abstraction of what happens in a typical school week?
abstraction1.png

  It is not an abstraction of the school week, it is an over complicated representation of it

   it captures key information such as who is taught what subject where and by whom, but leaves out details such as learning objectives and activities for each class

  It captures the fine details as well as the abstracted processes such as learning objectives and activites that happen

  It captures the fine detais of what occurs in a typical school week

 4. This image is an abstraction of a computer because It shows the names of the components and how they interact with each other but _________________
abstraction2.png

  reflects the details of every component, cable and wire inside a computer

  shows the complexity of each type of component

  hides the complexity of each type of component.

  reflects the fine details of what is hidden inside a computer

 5. An example of abstraction in geography would be….

  A map in which the irrelevant details such as the dirt on the road, tiny plants etc. are left out

  A road in which every single aspect has been re-created carefully to show detail

  A physical mountain that is re-created stone by stone.

  It is not possible to have abstraction in Geography

 6. This library system menu screen is an example of abstraction as it focuses on the bare basics necessary for a user to interact with the library
librarymanagementmenu.png

  True

  False

 7. Using examples from this scenario, explain what is meant by abstraction.
A theme park uses a 3D computer simulation of a rollercoaster. Riders must wear a virtual reality headset to experience the ride.

  a representation of a concept / object / thing… …in this case, the rollercoaster.

  A detailed and thought provoking novel that accurately describes a thing - e.g. a rollercoaster

  a conceptual thought cloud of an object which cannot be seen, heard or touched.

  an exact recreation of a concept/object thing - in this case a rollercoaster

 8. In abstraction it is important to pick out the important / relevant parts / components / ideas / details.
In the scenario of simulating a rollercoaster this would be: track / rider / car / physics  / etc

  TRUE

  FALSE

 9. In the example of a rollercoaster 3d simulation examples of the unimportant details you would NOT include would be:

  general physics

  queues / weather / smells / etc.

  track, rider

  car

 10. One definition is: Abstraction is the process of removing unnecessary detail from a problem. Why is this useful?

  It isn't important - it's just an art

  It is important because the details just don't matter - the devil is in the detail!

  So a programmer can focus on what is needed to get on with problem solving!

  It is important because detail orientated people are entirely pointless and inefficient