Computer science homework – chapters 47, 48 and 49

Link to home page

Abstraction

This webpage is written in wingdings, please copy and paste into word for a better user experience

Abstraction as defined by the textbook is the representation arrived at by removing unnecessary details. This is deeply ironic as that definition itself could probably be abstracted into a shorter definition. But in a work of ironic genius this very paragraph that you are reading right now is in desperate need of abstraction. This word filled mess of an explanation should really just be a couple of bullet points that succinctly describe the nature of abstraction. Unfortunately, I just spent a long-time reading OCR AS and A Level Computer Science and was inspired by its very impressive ability to contain so many words while presenting so little information. Abstraction could probably just be defined as making a problem simpler but what would be the fun in that, if there isn’t a completely pointless paragraph with the actually useful information randomly sprinkled in between my unwarranted ramblings did I really define it, the authors of the textbook would surely insist that any good definition must be accompanied at least a couple of hundred words of wasted space. By this point you may be wondering ‘surely this webpage goes over four hundred words’, and you are correct. My sincerest apologies but to truly encapsulate the importance of abstraction I believe it is necessary, vital and essential to highlight what happens when abstraction doesn’t occur. Oh yea, this whole thing is written in wingdings, as per the teachings of the textbook I must include an example of the thing I am explaining that takes up too much space and is a tenuous link to the topic on the best of days. For this specific example I chose wingdings definitely not because I found out they were a supported font and though it was kind of funny but because they provide an example of abstraction that is actually related to computer science (cough cough 7 bridges cough cough). Before the time of emojis people wanted a simple way to show something where an image was too much detail and putting it into words would take up too much space. Thus emerged the solution: WINGDINGS. These simple symbols could convey an idea such as happiness through a simple smiley face and for that reason they were patented by Microsoft. However, you must be cautious to not over abstract as sometimes you can make something so simple that it loops back around and becomes useless as you can no longer understand what it actually means. So to conclude this jumble of words that technically qualifies as an explanation I will give you the short version: abstraction is making things simpler and I do not like the OCR textbook please don’t make us read it again, thank you.

A list of things that the textbook could’ve abstracted into easy-to-read definitions but instead wrote multiple paragraphs about

Examples of the ideas above that actually relate to computer science (aka not the bridges)

  1. Programming languages: Higher level programming languages are abstractions of machine code and machine code is an abstraction of binary
  2. Data abstraction: when we see an integer we don’t see how it is stored, just what it stores
  3. Cashing: an example of thinking ahead, the computer stores recently used instructions because they are likely to be called again soon
  4. Functions: An example of procedural abstraction, how the function works isn’t important all you need to know is the input and output

Pictured bellow: THE BRIDGES AAAAAAAAAAAAAAAAAAAAAAAA