⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 http:^^www.cs.indiana.edu^classes^c311^index.html

📁 This data set contains WWW-pages collected from computer science departments of various universities
💻 HTML
📖 第 1 页 / 共 2 页
字号:
Date: Wed, 20 Nov 1996 22:32:32 GMT
Server: Apache/1.0.3
Content-type: text/html
Content-length: 15646
Last-modified: Tue, 19 Nov 1996 05:01:05 GMT

<html><title>C311 Fall 1996</title><body bgcolor="#ffffe0"><H2><!WA0><A HREF="http://www.indiana.edu/iub/">Indiana University</A> <!WA1><ahref="http://www.cs.indiana.edu/">Computer Science Department</a></H2><h1>C311 -- Programming Languages -- Fall 1996</h1><ul><li> <!WA2><A HREF="#generalinfo">General Information</A><li> <!WA3><a href="#overview">Overview</a><li> <!WA4><A HREF="#texts">Textbooks</A><li> <!WA5><A HREF="#syllabus">Syllabus</A><li> <!WA6><A HREF="#assign">Assignments</A><li> <!WA7><A HREF="#tools">Tools and Advise</A><li> <!WA8><A HREF="#exams">Grading</A><li> <!WA9><A HREF="#admin">Administrivia</A><li> <!WA10><a href="#eval">Course Evaluation</a></ul></p><p><hr size=2><P><h2><A name="classinfo">General Information </A></h2><dl><dt> Instructor<dd> <!WA11><A HREF="http://www.cs.indiana.edu/hyplan/chaynes.html">     Christopher T. (Chris) Haynes</A>, email <!WA12><A	HREF="mailto:chaynes@indiana.edu">chaynes@indiana.edu</A> <dt> Associate Instructor<dd> <!WA13><A HREF="http://www.cs.indiana.edu/hyplan/ggomezes.html">GustavoGomez</A>, email <!WA14><A HREF="mailto:ggomezes@cs.indiana.edu">ggomezes@cs.indiana.edu</A><dt> Credit Hours<dd> 4<dt> Requirements<dd> C335 (Prerequisite) and C343 (Pre- or Corequisite)<dt> Lecture<dd> Section 1139 meets Tuesday and Thursday, 2:30P to 3:45P in LH102<dt> Discussion Sections<dd>      <ul>       <li> Section 8763 meets Monday, 2:30P to 3:20P in SE245       <li> Section 1140 meets Wednesday, 2:30P to 3:20P in LI451     </ul><dt> Office Hours <dd>      <dl>       <dt> Tuesday       <dd> 	    <ul>	      <li> 1:30A to 2:30P in LH 230F (Chris Haynes)	      <li> 2:30A to 3:45P in LH 230F (Chris Haynes)	    </ul>       <dt> Thursday       <dd> 	    <ul>	      <LI> 9:00A to 12:00A in LH230 (Gustavo Gomez)	      <li> 1:30A to 2:30P in LH 230F (Chris Haynes)	      <li> 2:30A to 3:45P in LH 230F (Chris Haynes)	    </ul>     </dl><dt> Local newsgroup<dd> <!WA15><A HREF="news:ac.c.311">ac.c.311</A><DT> Web URL<DD> <CODE>http://www.cs.indiana.edu/classes/c311/</CODE></dl><P><hr size=2><P><H2>Catalog Description</H2>Systematic approach to programming languages.  Relationships amonglanguages, properties and features of languages, and the computerenvironment necessary to use languages.<h2><a name="overview">Overview</a></h2>This course provides an introduction to the foundations of programminglanguages, allowing a thorough understanding of programming languagesemantics and critical implementation characteristics.  This providesthe basis for the best choice and use of existing languages, as wellas language design.  <P>Interpreters and other language-processingprograms are used throughout to present the essential elements ofprogramming languages in a precise, analytic, manner.  The extensiveuse of interpreters in this course also develops skill in<EM>meta-linguistic abstraction</EM> -- a powerful programming paradigm.<P>To thoroughly understand programming languages (or most any topic), it isnecessary to have a variety of models, or views, at varying levels ofabstraction.  In this course we will employ a range of models from veryhigh-level (almost mathematical semantics) to very low-level (almostassembly language), and emphasize the connections between levels.<P>Scheme is used as a meta-programming language throughout the course, butthis course is about fundamentals that are the basis for most programminglanguages, not just Scheme.  Special attention will be given to modelingthe semantics of the Java language via a series of type checkers andinterpreters.<P>(A <!WA16><A HREF="http://www.cs.indiana.edu/classes/c311/p.html">slide presentation</A>, available in <!WA17><AHREF="http://www.cs.indiana.edu/classes/c311/intro.html">condensed form</A> summarizes these points and others.)<P><H3>Topics include</H3><UL><LI> Induction, Recursion, and Scope<LI> Direct semantics interpreters<LI> Continuation-passing style<LI> Continuation-semantics interpreter<LI> Imperative form and stack architecture<LI> Static and dynamic semantics for object-oriented programming<LI> Object-oriented run-time architecture</UL><P><hr size=2><P><h2><A name="texts">Materials</A></h2><DL><DT> Required<DD> <i>Essentials of Programming Languages</i>, by Friedman, Wand andHaynes.This text, known hereafter as <EM>EOPL</EM>,should be available in any of the three big textbookbookstores (T.I.S, Aristotle's or the I.U. Bookstore), but you may getit cheaper if you can find a grad or undergrad student who'staken C311 or C511 and is willing to part with it.<DT> Recommended<DD> <i>The Little Schemer</i>, by Friedman and Felleisen.This should also be available in the bookstores, and a couple copiesare on reserve in the Swain Hall library.<i>The Little Lisper</i> is older, but similar.<DT> Other<DD> Other materials may be required through the semester.  Thesematerials will be announced in class and will be made availablethrough the White Rabbit on Indiana (near Kirkwood) and will cost afew dollars to cover copying costs.</DL><P><hr size=2><h2><A name="syllabus">Syllabus</A></h2>Read the indicated material for each week <EM>before the week begins</EM>!You are not expected to understand the material on first reading, buthaving read it once first you will be much better prepared for class anddiscussion sections.  Read the material for the first two weeks in thefirst week (much of it should be review).  More material on Java will be made available later.<P>Links in the list below are to the lecture scripts.<dl><dt> Week of September 2<dd> (Re)introduction to Scheme: <EM>EOPL</EM> preface and chapter 1,chapter 2 through section 2, and chapter 3 through section 3.<dt> Week of September 9<dd> <!WA18><A HREF="http://www.cs.indiana.edu/classes/c311/script2.txt">Static Properties of Programs</A>:<em>EOPL</em>, remainder of chapters 2 and 3.<DT> Week of September 16<DD> Quiz.  Imperative programming: Chapter 4 sections 5 and 6.  <!WA19><A HREF="http://www.cs.indiana.edu/classes/c311/script3.txt">Simple interpreters</A>: <EM>EOPL</EM> chapter 5through section 2. <DT> Week of September 23<DD><!WA20><A HREF="http://www.cs.indiana.edu/classes/c311/script4.txt"> Local binding, procedures, and assignment</A>:<EM>EOPL</EM>, sections 5.3 through 5.5.<DT> Week of September 30<DD> <!WA21><A HREF="http://www.cs.indiana.edu/classes/c311/script5.txt">Recursion and dynamic scope</A>:  <EM>EOPL</EM>,rest of chapter 5. <DT> Weeks of October 7<DD> <!WA22><A HREF="http://www.cs.indiana.edu/classes/c311/script6.txt">Continuation-passing style</A>: <EM>EOPL</EM>chapter 8 sections 1, 2, 3, and 5.<DT> Week of October 14 <DD> <!WA23><A HREF="http://www.cs.indiana.edu/classes/c311/script7.txt">CPS rules</A>: <EM>EOPL</EM> chapter 8 sections 4,7, and 8. First exam.<DT> Week of October 21<DD><!WA24><A HREF="http://www.cs.indiana.edu/classes/c311/script8.txt"> Representation-independentinterpreter, continuations as records, and reified continuations</A>:<EM>EOPL</EM> sections 9.1 through 9.3.First-class continuations and exception handling.<DT> Week of October 28<DD> <!WA25><A HREF="http://www.cs.indiana.edu/classes/c311/script9.txt">Imperative form and control stackarchitecture</A>: <EM>EOPL</EM> sections 10:1 and 10:2, thoroughly.<DT> Week of November 4<DD> Environment stack architecture: <EM>EOPL</EM>, restof chapter 10 for general information: not responsible for code details.<!WA26><A HREF="http://www.cs.indiana.edu/classes/c311/script10.txt">Paramater passing</A>:<EM>EOPL</EM> chapter 6; not responsible for material involving arrays.<DT> Week of November 11<DD> Second exam. <!WA27><A HREF="http://www.cs.indiana.edu/classes/c311/script11.txt">Introduction to object-orientedprogramming</A> and <!WA28><AHREF="http://www.cs.indiana.edu/hyplan/chaynes/java/talk">Java</A>:<EM>EOPL</EM> section 7.1.<DT> Week of November 18<DD> Java programming tutorial.  Static-methods-only Java type checker and interpreter. <DT> Week of November 25 <DD> Thanksgiving break.<DT> Week of December 2

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -