DOC PREVIEW
U of I CS 421 - Introduction to Course

This preview shows page 1 out of 4 pages.

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

Unformatted text preview:

CS 421 – Spring 2007Lecture Notes Set 1:Introduction to CourseElsa L. Gunter1Corresponding to Slides: 01-introMade available: January 17, 2007Revision 1.01 Change Log1.0 Initial Release.2 Course Administration2.1 Course StaffThe instructor for CS 421 Spring 2007 is Elsa L. Gunter. Contact information for her is as follows:• Office: 2112 SC• Office hours: Wednesdays 10:00am - 11:15am. Also by appointment• Email: [email protected] TAs for the course this semester are: T. Baris Aktemur, Munawar Hafiz, and Chris Osborn. They will use acommon office, 0207 SC. Their contact information is as follows:• T. Baris Aktemur– Email: [email protected]– Hours: Mon 10:00am - 11:00am & Thurs 1:00pm - 2:00pm• Munawar Hafiz– Email: [email protected]– Hours:Tues 3:00pm - 4:00pm & Fri 2:30pm - 3:30pm• Chris Osborn– Email: [email protected]– Hours: Tues 11:00am - 12:00am & Wed 3:30pm - 4:30pm1c 2007, Share and Enjoy12.2 Course ResourcesAn important resource for the course is the course website. The main web page for the course is found at: http://www.cs.uiuc.edu/class/sp07/cs421/.This page contains a summary of news items for the course, and is frequently updated. You should check this webpage on a daily basis. This web page also contains links to several other important web pages:• policy - describes rules governing course• lectures - contains the course syllabus and links to slides for the lectures; it also contains links the lecturesfrom the two previous semesters• mps - provides information about homework, including links to download the assignments and their accompa-nying files.• Exams - dates and information for preparing for exams• Unit Projects - some information for 4 credit students, with some suggestions as to projects, and somepossible papers to read and present.• Resources - tools and helpful info• FAQ – information on a range of topics that sometimes cause students difficulties.There is no required textbook for this course. Some books of relevance to this course include:• Essentials of Programming Languages (2nd Edition) by Daniel P. Friedman, Mitchell Wand and Christopher T.Haynes, MIT Press 2001.• Introduction to the Objective Caml Programming Language by Jason Hickey• Compilers: Principles, Techniques, and Tools, (also known as ”The Dragon Book”); by Aho, Sethi, and Ullman.Published by Addison-Wesley. ISBN: 0-201-10088-6.• Advanced Programming Language Design, by Raphael A. Finkel. Addison Wesley Publishing Company, 1996.• Programming Language Pragmatics, by Michael L. Scott. Morgan Kaufman Publishers, 2000.• Concepts, Techniques, and Models of Computer Programming by Peter Van Roy and Seif Haridi, MIT Press,2004.The first text, Essentials of Programming Languages (2nd Edition) covers most of the topics in this course,but uses a different programming language (Scheme). The second item is an on-line text from Cal Tech found athttp://www.cs.caltech.edu/cs134/cs134b/book.pdf, and is a recommended resource for learningabout OCaml.2.3 Coursework and GradesYour course grade will be determined by your performance in three components: weekly assignments (MPs andHWs), two midterms, and a final exam. The combined weekly assignments are worth 30% of the course grade. eachmidterm is worth 15%, and the final is worth 40%. These percentages are approximate, with the possibility of theexams weighing more. In particular, if there is a large discrepancy between the homework and the exams, with the thehomeworks being much better, then the homework may be substantially deemphasized.The first midterm for the course is on Friday, February 9, 2007, and the second is on Friday March 16, 2007. Thefinal is on Saturday May 5 at 8:00am - 11:00am. Do not miss these exam dates.There will be about 9 MPs (in Ocaml) and 3 written assignments (HWs). The MPs are to be submitted electroni-cally using the handin program on on the EWS computers. You must have an account on the EWS system to submityour assignments. This is covered more fully on the policy web page of the course website.2The following are guidelines for the degree of collaboration allowed on homeworks for this course. You maydiscuss homeworks and their solutions with others. Discussing the material in this course, the meaning statementsof homework problems, and approaches and solution outlines with fellow students is a good way to gain a deeperunderstanding of the material in this course. However, you may not leave the discussion with a written solution. Youmust finally do homework solution alone. In particular, you must write your own solution alone without looking atanother’s solution. You may look at examples from class and other similar examples.3 Course OverviewThe aims of this course are• to broaden and strengthen your knowledge of programming paradigms, with a focus on– higher-order functional programming,– modeling problems with recursive algebraic data types, and recursive programming over them– tail recursion and continuation passing style• phases of an interpreter– lexing and parsing– type checking– evaluation– transformations and optimizations• semantics (formal meaning) of programming languages, including– discussion of order of evaluation of expressions– the lambda calculus as a formal model of computation– and structured operational semantics as a method of describing how to evaluate a program in a givenprogramming language, and to what it evaluates.To help solidify your knowledge of each of these topics, over the course of this semester, we will build an interpreterfor a simple functional programming language.4 Introduction to OCamlThe compiler for OCaml is on the EWS-linux machines at /usr/local/bin/ocaml. It is also possible to down-load and install ocaml onto PCs, Macs, and Linux machines. The main website for OCaml is http://caml.inria.fr/index.en.html.To install OCaml on your computer see, visit the website http://caml.inria.fr/ocaml/release.en.html.The following a some references for OCaml. That are not References for CAML Supplemental texts (not required):• The Objective Caml system release 3.09, by Xavier Leroy, is an on-line manual• Introduction to the Objective Caml Programming Language, by Jason Hickey, mentioned earlier• Developing Applications With Objective Caml, by Emmanuel Chailloux, Pascal Manoury, and Bruno Pagano,on O’ReillyAll of these may be found through links on the course resources web page.34.1 A Brief Overview of


View Full Document

U of I CS 421 - Introduction to Course

Documents in this Course
Lecture 2

Lecture 2

12 pages

Exams

Exams

20 pages

Lecture

Lecture

32 pages

Lecture

Lecture

21 pages

Lecture

Lecture

15 pages

Lecture

Lecture

4 pages

Lecture

Lecture

68 pages

Lecture

Lecture

68 pages

Lecture

Lecture

84 pages

s

s

32 pages

Parsing

Parsing

52 pages

Lecture 2

Lecture 2

45 pages

Midterm

Midterm

13 pages

LECTURE

LECTURE

10 pages

Lecture

Lecture

5 pages

Lecture

Lecture

39 pages

Load more
Download Introduction to Course
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 Introduction to Course 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 Introduction to Course 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?