📄 http:^^lal.cs.byu.edu^cs532^homepage.html
字号:
Date: Wed, 20 Nov 1996 21:54:35 GMT
Server: Apache/1.0.3
Content-type: text/html
Content-length: 6069
Last-modified: Thu, 17 Oct 1996 14:57:29 GMT
<HTML><HEAD><TITLE>CS 532 Homepage</TITLE></HEAD><!-- describe the document, avoid context sensitive descriptions --><meta name="description" value="An on-line course on programming language concepts. The course offers lectures, assignments, and a mosaic of information about programming language design from all over the web."><!-- keywords for the document --><meta name="keywords" value="programming language, course"><!-- should be "document" unless providing a search, then "service" --><meta name="resource-type" value="document"><!-- use global for documents to be indexed outside BYU --><meta name="distribution" value="local"><BODY BGCOLOR="#FFFFFF"><H1>CS 532: Advanced Programming Languages</H1><H2>Fall 1996</H2>Welcome to CS 532, Advanced Concepts of Programming Languages. This pagecontains information related to the class such as class policies and theassignments. Please let <!WA0><AHREF="http://lal.cs.byu.edu/people/windley/windley.html">Dr. Windley</A> know if there'sanything we can do to improve it. <P><HR><H2>Class Information</H2><MENU><LI> <!WA1><A HREF="http://lal.cs.byu.edu/cs532/geninfo.html">General Stuff</A><LI> <!WA2><A HREF="http://lal.cs.byu.edu/cs532/policies.html">Policies</A><LI> <!WA3><A HREF="http://lal.cs.byu.edu/cs532/students.html">Students</A></MENU><HR><A NAME="orientation"><H2>Getting Started</H2></A>Survival in this course requires a working knowledge of UNIX commands, the Emacs editor, electronic mail (email), and Mosaic. <!WA4><A HREF="http://lal.cs.byu.edu/cs330/orientation/orientation.html">Information on getting started with each of these is online.</A><P><HR><A NAME="assignments"><H2>Assignments</H2></A><UL><LI> <B>Assignment 1: Lazy Functional Languages</B> Haskell (Gofer) is astrongly typed functional language with lazy evaluation. in thisassignment you will explore Haskell and see how it relates to otherlanguages with which you are familiar. The resource document is the <!WA5><AHREF="http://lal.cs.byu.edu/cs330/sources/haskell-tutorial.ps">Haskell tutorial</A> (inPostScript). Read it, run the examples, and write some code. Think abouthow it compares with other languages you know such as Pascal, C++, Scheme,Lisp, Prolog. How is it the same? How is it different? What's good aboutit? What's not good about it? Why does functional programming matter?<P>Obviously, you will not be able to cover every aspect of the language.Pick some part of Haskell that appeals to you or you think is interestingand explore that <EM>in depth</EM>.<P><!WA6><AHREF="http://www.cs.yale.edu/HTML/YALE/CS/haskell/yale-fp.html">More informationon the Haskell Programming language is available here.</A> A <!WA7><AHREF="http://lal.cs.byu.edu/cs532/gofer/docs/goferdoc/goferdoc.html">manual (in HTML)</A> isavailable online.<P><B><EM>Paper:</EM></B> Week of September 9th.<P><LI> <B>Assignment 2: Programming with Lists</B>Using Chapter 3 of Reade and Chapter 3 in Davie as references, explore theuse of lists in Haskell. Pay special attention to list comprehensions, howcomprehensions can be translated to simpler functions, and to the use ofstructural induction in proving properties of functional programs that uselists. <P><B><EM>Paper:</EM></B> Week of September 16th. This paper may be anextension of what you did last week or a new topic. <P><LI> <B>Assignment 3: Datatypes and Interpreters</B>Use Chapters 5 and 6 of Reade as your primary references with supportingchapters from Davie. There are a number of simple command interpreters inthe literature. In fact, its so easy to define simple interpreters usingconcrete datatypes to represent abstract syntax and pattern-matchingfunctions as the interpreter that the literature is full of examples ofsmall interpreters defined in functional languages.<P><B><EM>Paper:</EM></B> Week of September Sep 30th. I'd like you to explorethe use of functional languages to define the operational semantics oflanguages. There are some interesting extensions to what you'll find inReade. For example, can you define an interpreter for a small assemblylanguage and then define a translator from Reade's language into yourassembly language? Does interpreting a chunk of code using the<TT>interpret</TT> function give the result as translating it and thenrunning it on your assembly language interpreter? This is just oneidea. There are a lot of place to go with this.<P><STRONG>Note that you have two weeks to work on this. Your groups will not meetwith me the week of the 23rd since I'll be out of town Thursday and Friday.Continue to meet with groups. Ask me any questions you have. Since youhave two weeks to work on this, I'll expect the papers to be higher qualityand the work to be more complete. <P></STRONG><LI> <B>Assignment 4: Lazy Evaluation</B>I'd like you to explorelazy evaluation using Chapter 7 of Reade and whatever other resources youcan get your hands on. Brownie points for outside references.<P><B><EM>Paper:</EM></B> Week of Oct 7th. (continued to week of Oct 14th)<P><li> <b>Assignment 5: Denotational Semantics</B>Read and explore chapter 10 of Reade. There are a lot of resources ondenotational semantics, make use of them. Don't get into fixpointsemantics too heavily since we'll do that next week.<P><B><EM>Paper:</EM></B> During the week of Oct 21st, I'd like a preliminarypaper that we can discuss. You'll be expanding it over the coming fewweeks. <P></UL><P><HR><h2><!WA8><a href="http://www.cs.byu.edu/homepage.html"><!WA9><img align=MIDDLE src="http://lal.cs.byu.edu/images/buttons/button-home.gif" alt="[]"> Go to the BYU CS Department Home Page</a> </h2><p> <ADDRESS>Created Jan 6, 1995</ADDRESS><EM>UpdatedTue Sep 10 10:02:46 1996</EM><ADDRESS>by <!WA10><a href="http://lal.cs.byu.edu/people/windley/windley.html">Phillip J. Windley</a><<!WA11><a href="mailto:windley@lal.cs.byu.edu">windley@lal.cs.byu.edu</a>></ADDRESS><P><hr> © 1995-1996, PhillipJ. Windley. All rights reserved. Reproduction of all or part of this workis permitted for educational or research use provided that this copyrightnotice is included in any copy. <hr><P> </BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -