Page type: course

CSE 413 (Winter 1996) Home Page;CSE 413 (Winter 1996);PROGRAMMING LANGUAGES AND THEIR IMPLEMENTATION; Instructor:; Steve Tanimoto, Department of Computer Science and Engineering, University of Washington,;Seattle, WA 98195.; TA:; Ruth Anderson;Meetings:; Tuesdays and Thursdays 10:30 AM to 11:50 AM in Sieg 325.;(EXCEPT ON THURSDAY, JAN 4, WE WILL MEET IN THOMPSON HALL, ROOM 3!);SLN in Time Schedule:; 2408; Steve's Office Hours:; Tuesday from 4:30 to 5:30 in Sieg 312.; Thursday from 12 to 1 PM in Sieg 312.; Ruth's Office Hours:; Mondays 12:30 to 1:30, 326a Sieg;;Wednesdays 1:30 to 2:30, 326a Sieg.; Course Mailing List: cse413; Mailing list archive.; Schedule:; This is a tentative schedule: of topics and examinations.;Most of the transparencies from past lectures are also posted here.; Number of Credits:; 3; Grading:; Homework 20%; Midterm exam 25%; Final exam 35%; Project 15%; Class participation 5%; Hardcopy Readings:; Text (selected sections).;Many of the readings for the course will be online, but the first set of;readings is part of my recent book on Lisp and artificial intelligence.;There will be several readings from the book throughout the course,;including readings on Lisp, logic programming and Prolog, grammars and;parsing, language understanding systems, and shells for expert systems.;You can either purchase the whole book at the bookstore (approximately;15 copies have been ordered) or do a combination of getting copies from;the copy center and reading in the library. The book is entitled,;The Elements of Artificial Intelligence Using Common Lisp, 2nd edition,;W. H. Freeman, 1995. Chapter 2 (Introduction to Programming in;Common Lisp) and the Lisp glossary may be purchased;separately at the Copy Center in the basement of the Communications Building.; Online reference materials for Lisp:; What Lisp is.;;The Lisp FAQ provides the answers to many questions about Lisp and;its implementations.;;Common Lisp: The Language, 2nd edition is the standard reference;on Common Lisp. (It seems best if you access it via the table-of-contents;page, rather than by trying to download the entire HTML file or;postscript.); You can get the source code for;the Lisp programs from The Elements of Artificial Intelligence Using;Common Lisp, 2nd edition.; The web site for;Digitool, Inc., the company that;maintains and supports Macintosh Common Lisp, provides the most current;information about MCL.; Here are some interesting links to info about how to use Lisp for; programming World-Wide Web applications.; Online reference materials for C.; Introduction;to C Programming is an online tutorial.; Programming in C is another online tutorial, but it's on a website in the UK that;doesn't always respond promptly.; These are two of the several tutorials that are listed; here.; Online reference materials for Java.;;The Java language trail map.;Announcements; January 2.; Welcome to this course and its course web!;This course is about programming languages and their implementation.;In some of the department's listings, it is called "Languages and Compilers,";although in the catalog it is called "Programming Languages and Their;Implementation.";It covers interpreters, compilers, and other techniques for building;programming systems. Our attention will focus mainly on two particular programming;languages: Lisp and C. With Lisp, we will explore many issues relevant to;intepreted languages, while with C, we will investigate compilers.;In addition to traditional language issues and techniques, we will also;look into current issues such as visual programming systems and programming;facilities for the World-Wide Web.; January 2.; Facilities:;This quarter, CSE 413 students will have the use of both the MSCC Macintoshes;(running Macintosh Common Lisp 3.0) and the MSCC Unix systems.;MSCC is the;Mathematical Sciences Computing Center. The MSCC Macs are located in the;basement of Thompson Hall. Some of the Macs are in Room 3 and some in Room 9.;While the Macs offer MCL (and a variety of other languages such as Mathematica);the MSCC Unix hosts offer, C, Lex, Yacc, Allegro;Common Lisp, and other software facilities.;Macintosh Common Lisp provides a particularly powerful;environment including full implementation of the Common Lisp standard,;integrated editor (called FRED), and extensive facilities for graphics;and user interface construction. The Macintosh computers are networked,;and files can easily be transferred between them and the Unix host machines;of MSCC.; Students who have difficulty getting to the Macintoshes in;Thompson Hall can supplement their Macintosh work with work on their;own PCs, using such packages as XLISP-STAT for Windows and Micro-Emacs.;However, due to our limited ability to support alternative facilities,;students who wish to work on their own PCs will need to access these;resources themselves from archives on the Internet. Also, note that;XLISP-STAT is a bare-bones implementation of Common Lisp and does not;have the extensive program-development support that MCL has.;While we are fortunate to have the powerful MCL system for this course,;there is one disadvantage of using it---you must use it in the MSCC lab;unless you purchase your own copy of it from;Digitool, Inc..;(MCL normally costs about $500 a copy, but there is a special student deal;allowing students to purchase it for $135.);It has been pointed out that there is a free version of Allegro Common Lisp;for Windows which can be downloaded from franz.com on the Web.;This may be an attractive tool for some students.; Final examination:; The final exam for CSE 413 will be given on Monday, March 11,;in Sieg 325 from 10:30 to 12:20. It will be a closed-book test.; January 4.; NOTE THIS: On Thursday, January 4, we will meet in;Thompson Hall Room 3, so that we can get introduced to the;laboratory facilities for the course. So go to Thompson this;time, instead of going to our regular classroom.; January 9.; THIS WEEK ONLY Ruth's Wednesday office hours are moved to Thursday;2:30 - 3:30 in Sieg 326a.; January 21.; A Beginner's guide to HTML might be helpful for Assignment #3.; January 22.; Post of the message sent to the class news group regarding;reading files with paths on the Mac.; January 23.; Reminder to please email your assignment #3 to Ruth (rea@cs) today,;even if you turned in a hard copy in class.;Click here for info on emailing files from the Macs.; January 29.; For assignment #4, please turn in a printout of your tokenize program run on several examples. Also please email a copy of tokenize to Ruth (rea@cs).; February 1.; The midterm examination will be from 10:30-11:50 AM on;Thursday, February 8. It will cover these;topics..; There will be an optional review session for the midterm exam.;The review session will be held 2:30-3:20 PM on Monday, Feb. 5, in;Sieg Hall room 422. Please bring in questions on the material to be;covered.; *** HOMEWORK #5 HELP ***. Click here for info on converting strings to numbers and symbols.; ** Check the cse413 mail archive for an important message about hw#5. The archive can be found at the top of this page. Send email to rea@cs if you have not received any mail from the mailing list.; February 5; Note modifications to the Assignment 5 page -- new deadlines (as announced;earlier via email), plus online reading material for part B.; February 6; A free postscript viewer for windows is available here.; February 12; A Picture of a Koch Snowflake here.; March 5; New details on completing the project are given in the project;general description page. Check it out to find out about;demonstrations and writeups.; The review session for the final exam has been scheduled.;It will be from 4:00-5:00 on Friday, March 8 in Sieg 422.; March 8; The final examination will be from 10:30-12:20 on;Monday, March 11. It will cover these;topics.. Part of the exam will be in multiple-choice format;;bring a mark-sense form and a few #2 pencils. The exam is "closed-book.";Assignment 1 due on Tuesday, January 9.;Assignment 2 due on Tuesday, January 16.;Assignment 3 due on Tuesday, January 23.;Solution:;Part 1.;Part 2.;Assignment 4 due on Tuesday, January 30.;Solution:;Exercises;Tokenizer;Assignment 5 (Part A is due on Tuesday, February 13, and;Part B is due on Thursday, February 15).;Part A Solution:;Parser;Tokenizer;Part B Solution:;Koch Snowflake;Assignment 6 due on Tuesday, March 5. Java Tutorial (local copy);** Assignment #6 Help!! **.;PROJECT: General description, including new info on;demonstrations and writeups.;PROJECT Milestone 1 (DUE FEBRUARY 22nd).;PROJECT Milestone 2 (DUE FEBRUARY 29th).;Here is the file that shows how to;display text in an MCL window.;Project Demonstrations are scheduled for Thursday, March 7 at 10:30.;Project Writeups are due at or before 4:00PM Friday, March 8.;You may turn them in at the review session for the final exam.;tanimoto@cs.washington.edu;