DOC PREVIEW
MIT 6 001 - Lecture Slides

This preview shows page 1-2-3-21-22-23-42-43-44 out of 44 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 44 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 44 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 44 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 44 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 44 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 44 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 44 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 44 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 44 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 44 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

6.001: Structure and Interpretation of Computer ProgramsSlide 2Course structureSlide 46.001 – contact informationOther logisticsSlide 7Slide 8Slide 9Slide 10Slide 11Slide 12What is the focus of 6.001?Declarative KnowledgeImperative Knowledge“How to” knowledgeDescribing “How to” knowledgeUsing procedures to control complexityKey Ideas in 6.001Slide 20Computation as a metaphorPrimitives for representing basic information – what is the right level?Binary numbers and operationsSlide 25Slide 26Assuming a basic level of abstractionOur language for 6.001Rules for describing processes in SchemeKinds of Language ConstructsLanguage elements – primitivesSlide 32Slide 33Language elements – combinationsLanguage elements - combinationsLanguage elements -- abstractionsSlide 37Scheme BasicsRead-Eval-PrintA new idea: two worldsSlide 41Define special formMathematical operators are just namesPrimitive procedures are just valuesSummary01/14/19 6.001 SICP 1/446.001: Structure and Interpretation of Computer Programs•Today–The structure of 6.001–The content of 6.001–Beginning to Scheme01/14/19 6.001 SICP 2/446.001: Structure and Interpretation of Computer Programs•Main sources of information on logistics:–General information handout–Course web page•http://sicp.csail.mit.edu/01/14/19 6.001 SICP 3/44•Lectures–Delivered live here, twice a week (Tuesday and Thursday)–Versions of lectures also available on the web site, as audio annotated Power Point. Treat this like a live textbook. Versions are not identical to live lecture, but cover same material.•Recitations–Twice a week (Wednesday and Friday)–DON’T go to recitation assigned by registrar. We are going to do section assignments based on your input yesterday. Please check the web site for your assigned section. If you have conflict, contact course secretary by EMAIL only.–You are expected to have attended the lecture (or listened to the online version) before recitation–Opportunity to reinforce ideas, learn details, clarify uncertainties, apply techniques to problems •Tutorials –Once a week (typically Monday)–Mandatory–Ask questions, participate in active learning settingCourse structure01/14/19 6.001 SICP 4/446.001: Structure and Interpretation of Computer Programs•Grades• 2 mid-term quizzes – 25% • Final exam – 25%• 1 introductory project and 4 extended programming projects – 30%• weekly problem sets – 10 % BUT MUST ATTEMPT ALL OR COULD RESULT IN FAILING GRADE!!•Participation in tutorials and recitations – 10%01/14/19 6.001 SICP 5/446.001 – contact information•Course secretary–Donna Kaufman, [email protected], 38-409a, 3-4624•Lecturer –Eric Grimson, [email protected]•Web site: http://sicp.csail.mit.edu/01/14/19 6.001 SICP 6/44Other logistics•Problem sets–Are released through the online tutor (see website for link – will create login for you when first used)–Are due electronically on the date posted–Includes lecture problems which are due on day of associated recitation–First one was posted today!•Projects –First one was released today–Check website for updates01/14/19 6.001 SICP 7/4401/14/19 6.001 SICP 8/4401/14/19 6.001 SICP 9/4401/14/19 6.001 SICP 10/4401/14/19 6.001 SICP 11/446.001: Structure and Interpretation of Computer Programs•Other issues–Collaboration – Read description on web site–Use of bibles – see description on web site–Time spent on course•Survey shows 15-18 hours/week•Seeking help –Lab assistants–Other sources•6.001 Lab – 34-501•Combination – 72962*01/14/19 6.001 SICP 12/446.001: Structure and Interpretation of Computer Programs•Today–The structure of 6.001–The content of 6.001–Beginning to Scheme01/14/19 6.001 SICP 13/44What is the focus of 6.001?•This course is about Computer Science• An analogy is to Geometry:• This comes from Ghia & Metra or Earth & Measure• Geometry deals with Declarative or “what is” knowledge• Computer Science deals with Imperative or “how to” knowledge01/14/19 6.001 SICP 14/44Declarative Knowledge•“What is true” knowledge0 and that such theis 2 yxyyx01/14/19 6.001 SICP 15/44Imperative Knowledge•“How to” knowledge•To find an approximation of square root of x:–Make a guess G–Improve the guess by averaging G and x/G–Keep improving the guess until it is good enough.2for :Example xxX = 2 G = 1X/G = 2 G = ½ (1 + 2) = 1.5X/G = 4/3 G = ½ (3/2 + 4/3) = 17/12 = 1.416666X/G = 24/17 G = ½ (17/12 + 24/17) = 577/408 = 1.414215601/14/19 6.001 SICP 16/44“How to” knowledgeWhy “how to” knowledge?• Could just store tons of “what is” information (e.g. tables of logs from the 1970’s)• Much more useful to capture “how to” knowledge – a series of steps to be followed to deduce a particular value (e.g. the mechanism underlying the log function on a calculator)– a recipe–Called a procedure•Actual evolution of steps inside machine for a particular version of the problem – called a process•Distinguish between procedure (recipe) and process (actual computation)01/14/19 6.001 SICP 17/44Describing “How to” knowledgeNeed a language for describing processes:•Vocabulary – basic primitives•Rules for writing compound expressions – syntax •Rules for assigning meaning to constructs – semantics•Rules for capturing process of evaluation – procedures01/14/19 6.001 SICP 18/44Using procedures to control complexityGoals:• Create a set of primitive elements– simple data and procedures• Create a set of rules for combining elements of language• Create a set of rules for abstracting elements – treat complex things as primitivesWhy? -- Can create complex procedures while suppressing detailsTarget:• Create complex systems while maintaining: robustness, efficiency, extensibility and flexibility.01/14/19 6.001 SICP 19/44Key Ideas in 6.001• Management of complexity:• Procedure and data abstraction• Conventional interfaces & programming paradigms• manifest typing• streams• object oriented programming• Metalinguistic abstraction:• creating new languages• evaluators01/14/19 6.001 SICP 20/446.001: Structure and Interpretation of Computer Programs•Today–The structure of 6.001–The content of 6.001–Beginning to Scheme01/14/19 6.001 SICP 21/44Computation as a metaphor•Capture descriptions of computational processes•Use abstractly to design solutions to complex


View Full Document

MIT 6 001 - Lecture Slides

Documents in this Course
Quiz 1

Quiz 1

6 pages

Databases

Databases

12 pages

rec20

rec20

2 pages

Quiz II

Quiz II

15 pages

Streams

Streams

5 pages

Load more
Download Lecture Slides
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 Lecture Slides 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 Lecture Slides 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?