New Mexico Computer Science For All Abstraction in Life and Computer Science Maureen Psaila-Dombrowski
What is Abstraction? Abstraction Ignoring some details or parts so that you can focus on what is important to you at that time. As your interests change the amount of abstraction you need can change too. Levels of Abstraction These are the levels or layers in your abstraction. The layer in your abstraction includes things that can be grouped together in the same way.
Some Types of Abstraction Physical Abstraction ▫Levels - physical parts of an object. Modeling Abstraction ▫Levels - what you want to include in a model. Control Abstraction ▫Levels - how something is controlled Data Abstraction ▫Levels - some characteristic of the data and how you want to use it.
What? No Way! I never do that….. Yes you do… you are doing it right now! Everyone uses abstraction – otherwise …. Your brain automatically filters or abstracts ▫Sights ▫Sounds Your mind automatically changes levels of abstraction ▫Driving, walking ▫Looking for a friend in a crowd
Applying Abstraction in Everyday Life Abstraction Simplification to what’s important. Focus on the important part Ignore the other parts until later, if at all Powerful! Don’t waste time and energy Make’s things manageable, doable Then use decomposition to figure out the steps
Applying Abstraction in Everyday Life: Go to a Amusement Park
Abstraction: Go to a Amusement Park
Applying Abstraction: CAR
Driver Automotive Engineer Mechanic Car Parts Designer Materials Engineer Mechanical Engineer Physicist
Applying Abstraction: Modeling Driving a Car
CAR Accelerator Brake
Applying Abstraction: Modeling Driving a Car CAR Accelerator Brake Wipers Indicator Mirrors Gas Guage
One Last Abstraction: After learning about what is inside a computer, You realize that a computer can be abstracted as follows
Computer Programmer System Designer Average Person One Last Abstraction: Hardware Engineer
Computer Programmer Operating System Designer One Last Abstraction: YOU Before this Class Average Person
Computer Programmer Operating System Designer One Last Abstraction: YOU Before this Class YOU After this Class Average Person
Summary Abstraction - simplification, focus only on the important parts Levels of Abstraction - each level includes things that can be grouped together. You already use abstraction all the time You can apply abstraction to different things and for different reasons ▫Objects ▫Models