Skip to content

Latest commit

 

History

History
128 lines (82 loc) · 2.23 KB

File metadata and controls

128 lines (82 loc) · 2.23 KB
author Jared Siirila
title Programming Concepts

The Dip

the dip


  • Programming Concepts
    • Abstraction
    • Algorithms
    • Composition

Abstraction

--

  • 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


Algorithms

--

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

Composition

--

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

Practice

--

Drawing a square on the whiteboard

--

Choosing a banana at the grocery store

--

Filling the gas tank in your vehicle

--

Making a sandwich

--

Washing the dishes

--