flâneur — a map of the web's best reading

Hw #6: Abstraction and Design

canvas.harvard.edu · 91 words · saved by 1 readers

In this homework, you'll grapple with the slippery topics of abstraction and design. To this point in the course, you've seen numerous examples of abstraction. We have also talked about the fact that abstraction hides the details that are ultimately necessary for the computer to perform our intended action, but which simultaneously distract us humans from a computation's big picture. In general, we humans find it easier to think about the intended action in the abstract when thinking about the work-to-be-done to solve the problem facing us. However, even after we've decided where to place an abstraction barrier (i.e., the barrier that hides the details from us), we are confronted with the choice of exactly how we design the abstraction. Recall our example of a procedural abstraction for exponentiation where we asked if we should create separate square and cube functions, each taking a single input parameter, or a single power function taking two parameters. Or should we, as the Python

HarvardKey - Sign In You are using an unsupported browser. For the best experience, update to a supported browser . Connecting to Sign in with your account to access Canvas Your OneDrive version is not supported Upgrade now by installing the OneDrive for Business Next Generation Sync Client to login to Okta Learn how to upgrade Cookies are required Cookies are disabled on your browser. Please enable Cookies and refresh this page. Refresh Privacy Policy The page has timed out If this page does not reload automatically, please refresh your browser.

Explore this link on the map →

related reading