CS2135 Programming Language Concepts. A98
SYLLABUS

Prof. Carolina Ruiz
Department of Computer Science
Worcester Polytechnic Institute


Exam and homework solutions posted on this webpage will not be available during A-Term 1999 to honor the request of the current CS2135 instructor.

COURSE DESCRIPTION:

This course provides an introduction to several fundamental concepts in programming languages. It focuses on the design, interpretation, and debugging of computer programs. The design of a program in a given programming language involves the study of the basic building blocks of the language, the legal ways in which basic blocks can be combined into more complex ones, and the means of abstraction offered by the language, i.e. the mechanisms provided for generalizing a piece of code so that it applies to a wider set of problems. The interpretation of a computer program consists of carrying out the process described by the program. The complexity of this process is analyzed and techniques for controlling the complexity of computational processes are studied. The debugging stage involves finding and fixing inaccuracies in a program. The programming language Scheme (a dialect of Lisp) will be used throughout the course to illustrate the above concepts.

See the WPI undergraduate catalog for the official description of this course


LECTURER:

Prof. Carolina Ruiz

Email Address: ruiz@cs.wpi.edu

Office and Phone Numbers: FL232, 831-5640

Office Hours:
Mondays 1:30 pm - 2:30 pm
Thursdays 2:30 pm - 3:30 pm
or by appointment


TEACHING ASSISTANTS:

Messages sent to cs2135_ta@cs.wpi.edu reach both the lecturer and the TA.


CLASS MEETINGS AND LABS:

Lecture Hours
Mondays, Tuesdays, Thursdays, and Fridays: 12:30 pm to 1:20 pm.
Classroom: HL116

Lab Sessions
There are regularly scheduled lab sessions each Wednesday in Fuller B17, the Garden lab. Because most lab sessions are completely filled, we ask that you attend your scheduled session.
Section 1: 2:30 pm - 3:20 pm
Section 2: 1:30 pm - 2:20 pm
Section 3: 3:30 pm - 4:20 pm

REQUIRED TEXTBOOK:

Structure and Interpretation of Computer Programs, 2nd edition, by Harold Abelson and Gerald Jay Sussman with Julie Sussman. MIT Press and McGraw-Hill, 1996.

Available at the WPI Bookstore and amazon.com.

MIT Press supports a website for the text. (http://mitpress.mit.edu/sicp/)

See also: Scheme info below.


RECOMMENDED BACKGROUND:

CS2005 Techniques of Programming.


EXAMS

Format
There will be a total of 3 exams. Each exam will cover the material presented in class since the beginning of the term. In particular, the final exam is cumulative. Exams will be in-class, 50 minute, closed-book, individual exams. You are allowed to bring one 8.5x11 in. 2-sided sheet of notes to the exams.

Dates
Exam 1: Friday, September 11
Exam 2: Friday, October 2
Exam 3: Thursday, October 15

Makeups
Makeup and/or early examinations are not given except under the most dire of circumstances, and then only with corroborating documentation. Note well that neither oversleeping, forgetting to show up for an exam, nor conflicting travel arrangements are considered dire circumstances.

HOMEWORK

Weekly homework will be due at 12:00 noon on Tuesdays. Solutions to the homework will be made available soon after homework is collected, so no late homework will be accepted. You are encouraged to discuss the homework with your classmates, but you should develop and write your own solutions.

LAB. ASSIGNMENTS

CS 2135 has weekly lab meetings in the Garden Lab, FL B17, every Wednesday. Laboratory participation counts for 5% of the course grade. There is nothing to hand in; the exercises are for your edification only and are intended to provide additional exposure to the course material and the opportunity to get quick feedback from the teaching assistants.


QUIZZES

Pop quizzes may be given during the term. Be prepared!

CLASS PARTICIPATION

Students are expected to attend class and to read the material assigned to each class in advance. Class participation will add extra points to students' grades.

GRADING AND ACADEMIC HONESTY POLICY:

Exam 1 25%
Exam 2 25%
Exam 3 25%
Homework 20%
Labs. 5%
Class Participation Extra Points

You are encouraged to discuss the homework with your classmates, but you should develop and write your own solutions. You should explicitly acknowledge any sources of ideas used that are not your own; this includes other people, books, web pages, etc. Failure to identify non-original work is considered academic dishonesty. Collaboration or other outside assistance on exams is not allowed.

Your grade will reflect your own work and achievements during the course. Any type of cheating will be penalized with an NR grade for the course and will be reported to the WPI Judicial Board. See http://www.WPI.EDu/Pubs/Policies/sect5.html for the WPI's Academic Honesty Policy.


CLASS MAILING LIST

The mailing list for this class is:
cs2135@cs.wpi.edu
You MUST subscribe to the mailing list by sending the following one-line email message to majordomo@cs.wpi.edu:
subscribe cs2135

CLASS WEB PAGES

The web pages for this class are located at:
http://www.cs.wpi.edu/~cs2135/1998a/
Announcements will be posted on the web pages and/or the class mailing list, and so you are urged to check your email and the class web pages frequently.

COMPUTATIONAL FACILITIES

The official facility for this course is Fuller B17 ("the Garden lab"), which features X terminals connected to garden.wpi.edu. File service is provided by the
Campus Computer Center (CCC). The CCC is responsible for setting Garden Lab hours (see http://www.wpi.edu/Academics/IMS/CCC/Labs/index.html).

SCHEME INFORMATION

See
http://www.cs.wpi.edu/~cs2135/1998a/Scheme/ for a variety of information on how to obtain and use Scheme.

ADDITIONAL SUGGESTED REFERENCES

The following additional references complement and/or supplement the material contained in the required textbook.

ACM HELP SESSIONS

The
WPI Student Chapter of the Association for Computing Machinery is holding help sessions for this class. The WPI ACM Activities (http://www.wpi.edu/%7eacm/Activities/#act3) page contains information about when and where this help sessions are held.

WARNING:

Small changes to this syllabus may be made during the course of the term.
(Special thanks go to
Prof. Michael Gennert for allowing me to include portions of his course web pages in this document)