Unformatted text preview:

33 3333 332010-02-16 04:03:49 / rev 01c046b62134+2Abstraction2.1 Diagrams 282.2 UNIX abstractions 312.3 Recursion 352.4 Low-pass filters 382.5 Summary and further problems 38Divide-and-conquer reasoning breaks enigmas into manageable prob-lems. When the reasoning is represented as a tree, the manageable prob-lems become the leaf nodes of the tree, and they are conceptually simplerthan the original problem or its intermediate subproblems. For example,the length of a classical symphony is a simple concept compared to thedata capacity of a CDROM.Being simpler, it is more likely than the parent nodes to be used in anothercalculation. Imagine that you are an architect designing a classical concerthall. One task is to ensure sufficient airflow to handle the heat producedby 1500 audience members during a concert. But how long is a concert?Reuse the symphony leaf node from the CDROM-capacity estimate. Con-certs often include a symphony before or after a break (the intermission),with a comparably long other half, so a rough concert duration 2.5 hours.Creating and using such reusable parts is the purpose of our second toolfor organizing complexity: abstraction. Abstraction is, according to theOxford English Dictionary [29]:The act or process of separating in thought, of considering a thing independentlyof its associations; or a substance independently of its attributes; or an attributeor quality independently of the substance to which it belongs. [my italics]The most important characteristic of abstraction is reusability. As Abelsonand Sussman [1, s. 1.1.8] describe:33 3333 332010-02-16 04:03:49 / rev 01c046b62134+2Abstraction2.1 Diagrams 282.2 UNIX abstractions 312.3 Recursion 352.4 Low-pass filters 382.5 Summary and further problems 38Divide-and-conquer reasoning breaks enigmas into manageable prob-lems. When the reasoning is represented as a tree, the manageable prob-lems become the leaf nodes of the tree, and they are conceptually simplerthan the original problem or its intermediate subproblems. For example,the length of a classical symphony is a simple concept compared to thedata capacity of a CDROM.Being simpler, it is more likely than the parent nodes to be used in anothercalculation. Imagine that you are an architect designing a classical concerthall. One task is to ensure sufficient airflow to handle the heat producedby 1500 audience members during a concert. But how long is a concert?Reuse the symphony leaf node from the CDROM-capacity estimate. Con-certs often include a symphony before or after a break (the intermission),with a comparably long other half, so a rough concert duration 2.5 hours.Creating and using such reusable parts is the purpose of our second toolfor organizing complexity: abstraction. Abstraction is, according to theOxford English Dictionary [29]:The act or process of separating in thought, of considering a thing independentlyof its associations; or a substance independently of its attributes; or an attributeor quality independently of the substance to which it belongs. [my italics]The most important characteristic of abstraction is reusability. As Abelsonand Sussman [1, s. 1.1.8] describe:Global comments 1Global commentsSo after reading this section, and the comments, I think, but I’m not sure if I got thisconcept correctly (it’s a bit confusing to read at first). Is the idea of abstraction to basicallymake "templates" in order to reduce/simplify/organize a task, and so that things lower onthe "tower" are unimportant to continue? If that is the case, then this example makes sensefinally at the end, by showing that a program/code designed to do a task does it betterthan just using a more general program that cannot do the specific tasks? I’m trying tothink of other more, non-obvious real life uses of abstraction and am having a hard timethinking of a good one?A resistor of a specified resistance is an abstraction of what is really an analog transfercurve with tolerances. All the elements are abstractions. We can think about them withouthaving to think about all their quarks and gluons or draw abstract diagrams like O-H-O.Scaling up, we can think about a bucket of water without imagining every molecule andtrying to keep track of its position. Think of it as collapsing a lot of information intoa more manageable concept. It’s key to engineering so you probably do it all the timewithout thinking.I think I’m having a lot of trouble seeing how this section fits in with approximations.It seems like the main point of the chapter is that you can write code to produce a treeeasily. I also don’t quite understand what abstraction in this context is.This is a very vague, hand-waving definition of abstraction.what is this boxes package? and how do we know which level of abstraction to look atwithout testing?how did you come up with these lines? which level of abstraction are you looking at? Ifind this to be a very confusing example overall...I didn’t realize all the scripts above weredescribing parts of an abstraction tower.aren’t most drawing programs designed this way? maybe I don’t understand exactly whatyou mean by graphical captive UI, but this way the user has lots of options to format thetree as he/she wished.So is abstraction using precreated shortcuts in creative ways? Also, I imagine it took awhile to make the program. Doesn’t it kinda cancel out?33 3333 332010-02-16 04:03:49 / rev 01c046b62134+2Abstraction2.1 Diagrams 282.2 UNIX abstractions 312.3 Recursion 352.4 Low-pass filters 382.5 Summary and further problems 38Divide-and-conquer reasoning breaks enigmas into manageable prob-lems. When the reasoning is represented as a tree, the manageable prob-lems become the leaf nodes of the tree, and they are conceptually simplerthan the original problem or its intermediate subproblems. For example,the length of a classical symphony is a simple concept compared to thedata capacity of a CDROM.Being simpler, it is more likely than the parent nodes to be used in anothercalculation. Imagine that you are an architect designing a classical concerthall. One task is to ensure sufficient airflow to handle the heat producedby 1500 audience members during a concert. But how long is a concert?Reuse the symphony leaf node from the CDROM-capacity estimate. Con-certs often include a symphony before or after a break (the intermission),with a comparably long other half, so a rough concert duration 2.5 hours.Creating and using such reusable parts is the purpose of our


View Full Document

MIT 6 055J - Abstraction

Download Abstraction
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Abstraction and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Abstraction 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?