WPI Worcester Polytechnic Institute

Computer Science Department
------------------------------------------

CS2135 Programming Language Concepts 
Syllabus - A 2000

PROF. CAROLINA RUIZ 

WARNING: Small changes to this syllabus may be made during the course of the term. 
------------------------------------------


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


PROFESSOR:

Prof. Carolina Ruiz

Email Address: ruiz@cs.wpi.edu

Office and Phone Numbers: FL232, 831-5640

Office Hours:
Mondays 11:00 pm - 12:00 m
Thursdays 3:00 pm - 4:00 pm
or by appointment


TEACHING ASSISTANTS:

Messages sent to cs2135_ta@cs.wpi.edu reach both the professor and the TAs.


CLASS MEETINGS AND LABS:

Lecture Hours
Mondays, Tuesdays, Thursdays, and Fridays: 10:00 pm to 10:50 pm. Classroom: AK116

Lab Sessions
There are regularly scheduled lab sessions each Wednesday in KH202. Because most lab sessions are completely filled, we ask that you attend your scheduled session.
Section 1: 2:00 pm - 2:50 pm
Section 2: 1:00 pm - 1:50 pm
Section 3: 4:00 pm - 4:50 pm
Section 4: 3:00 pm - 3:50 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 15
Exam 2: Friday, October 6
Exam 3: Thursday, October 19

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 5:00 pm on Thursdays, with the EXCEPTION of hw7 which is due on Wednesday, Oct. 18. Homework assignments will be tiedly coupled with lab. assignments. Late homework, with a 30% late penalty, will be accepted until 9 am of the day after the homework is due, EXCEPT for hw7, for which no late homework will be accepted. Solutions to the homework will be made available soon after late homework is collected. At the end of the term your worst homework grade will be dropped. You may discuss the homework with your classmates, but you should develop and write your *OWN* solutions.

LAB. SESSIONS

CS 2135 has weekly lab meetings in KH202 every Wednesday. Laboratory participation (i.e. actively working on the lab assignment for the 50 min. period) counts for 5% of the course grade. There is nothing to hand in; the lab assignments are closely related to the homework assignments. Hence, it is to your best interest to attend the lab. sessions and gain as much feedback from the TAs on your progress on the homework assignments as possible.


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 lists for this class are:

CLASS WEB PAGES

The web pages for this class are located at:
http://www.cs.wpi.edu/~cs2135/2000a/
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.

SCHEME INFORMATION

See
http://www.cs.wpi.edu/~cs2135/2000a/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.

Online References

Books


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)