CS2135 Programming Language Concepts
Small changes to this syllabus may be made during the course of the term.
Syllabus - A 2000
- Course Description
- Teaching Assistants
- Class Pictures
- Class Meeting and Labs
- Recommended Background
- Weekly Schedule
- Daily Class Schedule
- The turnin system
- Homework and Lab. Assignments
- Homework and Lab 7 - Due WEDNESDAY, Oct. 18, 2000 at 6 pm.
- Homework and Lab 6 - Due Thursday, Oct. 12, 2000 at 5 pm.
- Homework and Lab 5 - Due Thursday, Oct. 5, 2000 at 5 pm.
- Homework and Lab 4 - Due Thursday, Sept. 28, 2000 at 5 pm.
- Homework and Lab 3 - Due Thursday, Sept. 21, 2000 at 5 pm.
- Homework and Lab 2 - Due Thursday, Sept. 14, 2000 at 5 pm.
- Homework and Lab 1 - Due Thursday, Sept. 07, 2000 at 5 pm.
- Lab. Sessions
- Class Participation
- Grading and Academic Honesty Policy
- Class Mailing List
- Class Web Pages
- Scheme Information
- Additional Recommended References
- ACM Help Sessions
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
Office and Phone Numbers: FL232, 831-5640
or by appointment
| Mondays || 11:00 pm || - || 12:00 m
| Thursdays || 3:00 pm || - || 4:00 pm
Office Hours: FL A20
| Mondays || 2:00 pm || - || 3:00 pm
| Tuesdays || 11:00 am || - || 12:00 m
| Wednesdays || 11:00 am || - || 12:00 m
| Fridays || 2:00 pm || - || 3:00 pm
Office Hours: FL A20
| Tuesdays || 12:00 m || - || 1:00 pm
| Wednesdays || 5:00 pm || - || 6:00 pm
| Thursdays || 1:00 pm || - || 2:00 pm
| Thursdays || 2:00 pm || - || 3:00 pm
Messages sent to firstname.lastname@example.org reach both the professor and the TAs.
CLASS MEETINGS AND LABS:
Mondays, Tuesdays, Thursdays, and Fridays: 10:00 pm to 10:50 pm.
There are regularly scheduled lab sessions each Wednesday
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
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
MIT Press supports a
website for the text.
See also: Scheme info below.
CS2005 Techniques of Programming.
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.
| Exam 1: || Friday, || September 15
| Exam 2: || Friday, || October 6
| Exam 3: || Thursday, || October 19
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.
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.
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.
Pop quizzes may be given during the term. Be prepared!
Students are expected to attend class and to read the material assigned to each
class in advance. Class participation will add extra points to
GRADING AND ACADEMIC HONESTY POLICY:
| Exam 1
| Exam 2
| Exam 3
| 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.
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:
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.
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.
- G. Springer, D. P. Friedman.
Scheme and the Art of Programming
The Massachusetts Institute of Technology, 1989.
- B. Harvey, M. Wright.
Simply Scheme, Introducing Computer Science, Second Edition
The Massachusetts Institute of Techmology, 1999.
- D. S. Touretzky
Common Lisp: A Gentle Introduction to Symbolic Computation
Symbolic Technology, Ltd, 1999.
- M. Hailperin, B. Kaiser, K. Knight
Concrete Abstractions, An Introduction to Computer Science Using Scheme.
Brooks/Cole Publishing Company Inc. 1999.
ACM HELP SESSIONS
WPI Student Chapter of the Association for Computing Machinery
is holding help sessions for this class.
The WPI ACM
page contains information about when and where this help sessions are held.
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