CISC 470/670  -   Programming Languages  -   Spring 2005

M/W/F 10:10am-11:00am, SHL 122


Instructor: Daniel Chester  TA: Xiang Cao 
Office: Room 205, 77-79 E. Delaware (The green house next to East Hall)  Office: Room 115B, Pearson Hall
Hours: M 5:00pm-6:00pm, F 4:00pm-5:00pm  Hours: W 1:00pm-3:00pm 
Phone: 831-1955 
Email: chester@cis.udel.edu Email: cao@cis.udel.edu

Textbook

Programming Language Pragmatics, by Michael L. Scott, Morgan Kaufmann Publishers

Web Page

http://www.cis.udel.edu/~chester/courses/670.html

Course Description

Selection, use and implementation of appropriate language(s) for given problems. Syntax, semantics, pragmatics, parameter passing and abstract data types.

Course Objectives

This course examines the fundamental principles at work in the most important contemporary languages, highlights the critical relationship between language design and language implementation, and devotes special attention to issues of importance to the expert programmer. Students should emerge better prepared to choose the best language for particular projects, to make more effective use of languages they already know, and to learn new languages quickly and completely.

Prerequisites

Programming skill in a block structured language and Lisp; an understanding of symbol tables, lists, trees, stacks, queues is assumed (e.g., CISC 220); CISC 301.

Recommended Background

CISC 320 (Algorithms and Advanced Programming).

Topics (tentative)

TOPIC READING 
Overview Ch. 1
Syntax Ch. 2 except section 2.2.4
Bindings Ch. 3
Control Flow Ch. 6
Data types Ch. 7 through section 7.7
Subroutines Ch. 8 through section 8.3
Exceptions section 8.5
Objects Ch. 10
Functional and Logic Languages Ch. 11

Grading

Grades will be based on (with the indicated weight) [tentative]:

Policies



recdes.cc
glass.idt
doctor.idt
animal.idt

Project 1
Revision to Project 1
solution to project 1 (undergraduate)
solution to project 1 (graduate)

project 2
sample finite state automaton diagram
corresponding CLIPS input file
BASIC INFO ABOUT PERL
BASIC INFO ABOUT CLIPS
DIFFERENCES BETWEEN CLIPS 6.0 AND CLIPS 3.1

WARNING! The file clips31.zip (found in ~chester on the composers) contains two .exe files. Execute clips.exe to run the clips 3.1 interpreter. DO NOT EXECUTE THE OTHER FILE, ROFF4ST.EXE; it will severely mess up your computer and crash it.



April 6, 2005
chester@cis.udel.edu