| author | Jared Siirila |
|---|---|
| title | Programming Concepts |
The Dip
- Programming Concepts
- Abstraction
- Algorithms
- Composition
--
- Hiding complexity by providing a simpler interface
- hides all but the relevant data about an object in order to reduce complexity and increase efficiency
- representing essential features without including the background details or explanations
- removing physical, spatial, or temporal details
--
Examples of abstractions
- Video game controller
- Web browser
Benefits of abstractions
-
A common interface can be used to interact with systems that operate very differently internally
-
Abstraction allows you to think about code at a higher level
--
A process or set of rules to follow to solve a problem
An unambiguous specification of how to solve a class of problems
--
Examples
- Recipes
- Tying your shoes
- Driving to work/school
- Finding the longest string in an array
- Sorting an array of numbers from smallest to largest
--
Using simple pieces to create something complex
The nature of something's ingredients or constituents
the way in which a whole or mixture is made up
--
Examples
- A symphony
- Legos
--
--
--
--
--
--
