CS 381, Fall 2002



Class location/time: Owen 102, Tuesday/Thursday 2:00-3:20
Instructor: Dr. Burnett
Office: 217 Dearborn
Phone: 737-2539
E-Mail: burnett@cs.orst.edu
Dr. Burnett's Office Hours: changed for finals week: see announcements page Teaching Assts: Joe Ruthruff and Liu Zheng
TA E-Mail: ruthruff@cs.orst.edu and liuzh@cs.orst.edu
TAs' Office Hours: changed for finals week: see announcements page

Office Hours Summary: There is someone you can go to with questions almost every weekday. If students cannot make the above office hours work with their schedules, appointments are also possible. To make an appointment, request one over email (with plenty of advance notice).

Class Web Page: http://www.cs.orst.edu/~burnett/CS381/ (This is the page you are looking at. Please check it every day for clarifications and announcements.)


What's Here

New announcements, news, clarifications
Homework solutions and grading
General Information
Readings Schedule (pdf)
Other CS 381 On-Line Resources


General Information

Course Objectives

In this course, we will study the fundamentals of programming languages, such as the different kinds of scope rules that might be designed into a language, different kinds of parameter passing possibilities, ways to handle types, exception handling, and so on. This is important to your ability to understand new programming languages as you encounter them during studies and throughout your career.

A second objective is for you to become proficient in a declarative programming paradigm -- functional programming, as represented by the language Lisp. Today, many new kinds of declarative programming languages are being developed, and it is becoming increasingly clear that proficiency in only traditional imperative-style programming would seriously limit your ability to adapt to the languages of the future.

We will also briefly touch upon a few other programming languages to note important ideas from them, including Ada (an advanced imperative language with support for some kinds of parallel programming), Java (an object-oriented language), and one or two visual programming languages. Most of these are simply visits to ideas, not to the entire language, but you will experience at least one other language in some detail besides Lisp.

A detailed list of some specific learning objectives is given at learningObjectives.html.

Commonly-Asked Questions

Q. What language will we be programming in?
A. Most of the programs will be done in Lisp. You will also do a little programming in at least one other language.

Q. Will there be a lot of programming?
A. Yes. You can expect a problem set almost every week. This is the way you will become proficient in the language you are using. (Practice is required for proficiency.) It is also the way you will explore the fundamental concepts being covered about how programming languages work.

Q. Why aren't the assignments and lectures on the web?
A. It really matters that you come to class in this course. If you don't, it will be very difficult for you to master the material and pass the tests. For this reason, I avoid giving any cues, such as putting assignments on the web, that seem to tell students that skipping a class is fairly convenient. However, I do understand that sometimes it is necessary to miss. In those cases, you can get lecture notes from your classmates. Extra copies of assignments and handouts are always in the envelope outside my door. And, we have office hours almost every day to help you with questions that might arise about any of those materials.

Textbooks

1. Object-Oriented Common Lisp, Stephen Slade, 1998.
2. Concepts of Programming Languages, **5th** Edition, by Robert Sebesta, 2002.

Office hours and policy

The TA will keep office hours in the Dearborn lab (room 115) at the times given at the beginning of this document.

My office hours are held in my office (Dearborn 217) and are listed at the beginning of this document.
 

If you wish to communicate with me at some time other than my regular office hours, try one of these choices: (1) ask the question over e-mail, (2) make an appointment (use e-mail to set it up for best results), (3) if my door is open, visitors are welcome. However, if my door is not open, I prefer not to be interrupted.

Grading

Exams 80% (midterm=35%, final=45%). Programs & homeworks 20%

Grading policies

(1) You must receive a passing grade in each component of exams and programs in order to pass the course.

(2) All assignments are due on time and are to be submitted according to the instructions given on the assignment handout. No late work will be accepted unless previous arrangements have been made.

(3) All programs must be written and debugged on an individual basis. No assignment-specific assistance should be given nor received on any programming assignment. Any and all use of programs from other texts or references must be explicitly stated as part of program documentation. If any aspect of this is unclear, please refer to the CS Department policy on academic dishonesty (http://www.cs.orst.edu/acad/policies/dishonesty.html).

(4) There are no make-up exams. If serious illness prevents you from taking an exam, written documentation (such as a photocopy of your prescription) will eliminate the 0 for the missed exam from your course average. 


Margaret M. Burnett, burnett@cs.orst.edu
Date of last update: Dec. 17, 2002