Abstraction | Teaching London Computing: A RESOURCE HUB From ...

Abstraction is a way to make problems or systems easier to think about. It simply involves hiding detail – removing unnecessary complexity. The skill is in choosing the right detail to hide so that the problem becomes easier without losing anything that is important. It is used as a way to make it easier to create complex algorithms, as well as whole systems. A key part of it is in choosing a good representation of a system. Different representations make different things easy to do.

For example, when we play cards, we use the word ‘shuffle’. Every player understands that ‘shuffle’ means putting the cards in a random order. The word is an abstraction. The same type of abstraction works when programming. Implementing ‘shuffle’ in a computer game means giving a way to randomise the cards. We can refer to shuffling throughout the program and understand what is meant without having to think about how it is actually done by the program. All that is needed is that the program does include a description somewhere of how shuffling is to be done.

The following links to cs4fn articles that illustrate abstraction.

  • A computer can beat the world champion at chess, even fly a plane more skilfully than a human. How do they do it?

    How do computers become so clever? [cs4fn-pdf]

  • A perfect, working mind is locked inside a useless body: the sufferer can sense everything around but is unable to communicate with anyone.

    Locked-In syndrome [cs4fn-pdf]

  • Spend as little time as possible travelling and leaving more for watching whales

    Watching whales well [cs4fn-pdf]

  • Looking at a picture from your digital camera or a digital movie, it’s all just 11001100011– hardly inspiring, and I don’t really see what it means!

    Picture This? JPEG It! [cs4fn-pdf]

  • It turns out though that some missions really are impossible for computers and even Tom Cruise wouldn’t be able to make a difference even if he was given unlimited time.

    Mission:Impossible [cs4fn-pdf]

  • Computer programs look just like a series of rules to control the way cash is moved around.

    Who wants to be the weakest millionaire? [cs4fn-pdf]

  • How might you go about designing computer judges?

    Strictly X-Factor [cs4fn-pdf]

  • To be a good computer scientist you have to enjoy problem solving. That is what it’s all about: working out the best way to do things.

    Kakuro, Sudoku and Computer Science [cs4fn-pdf]

  • How is a computer program like a recipe? Paul Curzon explains, and as a bonus, tells you how to cook a quick pasta dish.

    A recipe for programming [cs4fn-pdf]

  • The code hidden in knitting, and what might happen when computers learn to read it.

    Knitters and coders: separated at birth? [cs4fn-pdf]

  • If humans are ever to get to like and live with robots we need to understand each other.

    How to get a head in robotics? [cs4fn-pdf] The emotion machine [cs4fn-pdf]

  • The future of movies and TV isn’t film, it’s streams of digits. Both are going digital… So what’s your favourite MPEG then?

    MPEG: Movie magic [cs4fn-link]

  • One of the nastiest errors in computer software can come from something called a stack overflow, the computer pops or pushes from its current position, where the stack pointer is pointing, and shoots off the end of the stack, like a magician counting past 52 cards.

    Johnny Ball’s ‘Two Wrongs Do Make a Right’ Trick [cs4fn-link]

  • Magicians want to move cards around efficiently; computers want to move data around in their memory efficiently.

    Magical Memories just shuffling along 12 [cs4fn-pdf]

  • When we have to communicate with a computer and give it instructions we want to make life easy for ourselves.

    tlhIngan Hol Dajatlh’a’ (Do you speak Klingon) [cs4fn-pdf]

  • Could you make the most powerful computer ever created … out of chocolates? It’s actually quite easy. You just have to have enough chocolates (and some lollies). It is one of computer science’s most important achievements.

    Chocoholic Turing machines [cs4fn-pdf]

  • Use Binary addition to emulate a small-scale feat of memory magic, impressing your friends with your mind’s memory power.

    The mind boggling memory experiment [cs4fn-link]

  • Data compression helps get information small enough to be transmitted quickly, so we can download texts movies and music.

    Little Data: Compressing Vicky Pollard [cs4fn-link]

  • Rather than having to learn how to use your computers, your computers will have to learn how you would like to use them.

    Making computers that treat you right [cs4fn-pdf]

  • Using clever computer vision techniques it’s now possible for your ingredients to tell you how they should be cooked in a kitchen.

    Cooking up computer style [cs4fn-pdf]

  • Researchers have come up with a way for people with visual impairment to get more out of images – a method for automatically turning photos of faces into raised pictures that people can feel with their fingers.

    Fingers feeling focus [cs4fn-pdf]

  • Computers are much better off letting our brains do the tricky thinking.

    Let the brain take the strain [cs4fn-pdf]

  • An operating system is the software that has direct control of the hardware that applications are to run on.

    Smart Phones, Operating Systems and Google Android [cs4fn-link]

  • Most computers get round problem of lack of memory using ‘virtual memory’ hardware. What is virtual memory? It’s just a clever way to give the appearance of having more memory than you really do.

    Raspberry Pi: How do you make a $25 computer? [cs4fn-link]

  • Grace Hopper is famous for more than just the word ‘bug’ though. She was one of the most influential of the early computer pioneers, responsible for perhaps the most significant idea in helping programmers to write large, bug-free programs.

    Sorry to bug you: Grace Hopper [cs4fn-link]

  • Humans are great at multitasking so as a cook becomes more confident they start to overlap some of the tasks, checking what to do next while stirring the pot perhaps, or leaving a sauce to simmer while chopping the herbs. Computers do similar things.

    Ratatouille: Rats doing massively parallel computing [cs4fn-link]

  • Tiny technologies will be able to serve as a window onto the vast world wide web of information, education and entertainment.

    Gadgets that Change the World [cs4fn-link]

  • In real life, the connection is food, but on the web the connections are links.

    How nature works like Google [cs4fn-link]

  • When you send an email, ever thought how it actually gets from here to there?

    Real snail mail [cs4fn-pdf]

  • When pop star Madonna took to the stage at Brixton Academy in 2001 for a rare appearance she made Internet history and caused more that a little Internet misery.

    Die another Day? Or How Madonna crashed the Internet [cs4fn-pdf]

  • Computer science isn’t just about using language, sometimes it’s about losing it. Sometimes people want to send messages so secret that no one even knows the messages exist.

    Hiding in Skype [cs4fn-pdf]

  • You are revamping a hotel and are introducing new card locks rather than ones with keys. Your first thought is to connect all the doors to a computer network. Would that work?

    Hotel Doors and Keycode algorithms [cs4fn-link]

  • Technology changes society. Whether fire, wheels, guns or skyscrapers, all have made a massive difference to the way we work, live and play. Computer technology is accelerating the change and raising whole new issues society has to tackle.

    The FUNdamentals of Computers and Society [cs4fn-link]

  • Since the advent of the microprocessor by Intel in 1971, electronic computers have made their way into more areas of our everyday life. It is now unlikely that most people in the developed world will get through a day without some use of a computer. So what are the impacts of this technological revolution which benefits and detriments our society?

    So What’s the Problem? The Impact of Computers [cs4fn-link]

  • With more and more opportunity to tell the world your stories, through web blogging, or networking sites like myspace and youtube, there are so many tales being told, but which of them are true and which of them made up.

    Peer into science – It makes a good story [cs4fn-link]

  • Social scientists have found that people don’t always help others, even if they realise someone’s in trouble. The only way to figure out why this happens, and what makes a difference whether bystanders help someone, is to study situations like it. But how? Scientists can’t just go around beating people up to see how others will react.

    Stirring up virtual trouble [cs4fn-pdf]

More of our resources, including linked computing ‘story’ booklets can be found in our resources section. You may also want to look at cs4fn’s teacher resources or browse the latest cs4fn magazine.

It is suggested that:

  • Primary teachers focus on the badge statements from the Pink to Purple row.
  • Secondary teachers focus on the badge statements from the Purple to Black row.
  • The white row overlaps with the KS4 qualification specifications.

Share this:

  • X
  • Facebook
  • Email
Like Loading...

Leave a comment Cancel reply

Δ

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Search this blog Search Follow Blog

Enter your email address to follow this blog and receive notifications of new posts by email.

Email Address:

Click to follow our blog by email

Join 889 other subscribers Follow Teaching London Computing: A RESOURCE HUB from CAS LONDON & CS4FN on WordPress.com
Blog Stats
  • 2,704,219 hits
  • RSS - Posts
  • RSS - Comments
  • Subscribe Subscribed
    • Teaching London Computing: A RESOURCE HUB from CAS LONDON & CS4FN
    • Join 889 other subscribers Sign me up
    • Already have a WordPress.com account? Log in now.
    • Teaching London Computing: A RESOURCE HUB from CAS LONDON & CS4FN
    • Subscribe Subscribed
    • Sign up
    • Log in
    • Copy shortlink
    • Report this content
    • View post in Reader
    • Manage subscriptions
    • Collapse this bar
%d

Tag » What Is Abstraction Computer Science