Date: Tue, 14 Jan 1997 20:34:50 GMT Server: Apache/1.1.1 Content-type: text/html Content-length: 5566 Last-modified: Mon, 09 Sep 1996 17:10:06 GMT General Information

Note: A printable, postscript version of this document is also available.

General Information

 
Instructor:	Andreas Leonidas Prodromidis
Class Hours:	Mon/Wed 6:10-7:25pm
Class Location:	259 Engineering Terrace
Office Hours:	Monday 4-5pm, Tuesday 12-1pm or by appointment
Office:  	511 Computer Science, 939-7059
e-mail:		andreas@cs.columbia.edu

Course Description

Programming Languages(C) (W3101-01) is a first course in C programming. However, prior programming experience is assumed.

From the course catalog description for 3101:

Introduction to a programming language. Each section is devoted to a specific language. Intended only for those who are already fluent in at least one programming language.

This is a five-week course and will meet from Wednesday, September 4, 1996 to Monday, October 7, 1996 (10 classes).

Texts

[IACU] Wang, Paul 1992 An Introduction to ANSI C on Unix, Wadsworth.
[TCPL] Kernigham Brian, Ritchie Dennis 1978 The C Programming Language, Prentice Hall

Only [IACU} is required. Both are available at Papyrus Bookstore (Broadway at 114th Street). Reserve copies are placed at the Enginneering library as well.

Course Requirements and Grading

There will be four homework assignments and one final exam. All homeworks and final have the same weight (20%).

Homework assignments are handed out each Wednesday and are due one week later at the BEGINNING of the class. There are no extensions; however, partial credit will be considered for all incomplete work. Assignments cannot be accepted after answers have been made available. During any lag time between the due date and the posting of answers homeworks will be accepted, but will be marked as late. Late homeworks will be penalized.

If you disagree with a grade, submit your grievance IN WRITING to the grader responsible, documenting the merits of your case.

The final exam will be given on the last day of class, Monday, October 7, 1996. It will be a closed-book exam.

Programming Policy

You will need an AcIS computer account. All programming may be developed in C on any machine. However, the programs must run on AcIS machines. Only those programs submitted electronically by the submit program on the AcIS machines will be accepted and graded.

It is critically important that all submitted program listings and executions be thoroughly documented. Further, all documentation must be internal (included in the comments of the C source file). Good programming style will account for a substantial portion of the grade assigned to the programming assignments.

Make sure you provide adequate test cases to indicate the correcteness and robustness of your approaches. In general, the failure of a grader to understand your work or to appreciate the thoroughness of its testing will be considered your error.

Homework Submissions

For each assignment, you are required to make two homework submissions. The first is a hardcopy (paper) submission to the class folder in the CS department front office. The second is an electronic submission. The submit handout describes how to submit your assignments from an AcIS account. Note that both submissions must occur by the deadline on the due date.

The hardcopy (paper) submissions of your assignments will be used to write comments and make corrections to your programs and will be returned to you. The electronic submissions will be used to test your programs.

Class Homepage

A class homepage- http://www.cs.columbia.edu/cs3101-1- has been created for class use. This will be the primary means of electronic announcements including corrections, hints, and extensions. Copies of all handouts, including homework assignments and solutions will be made available through this resource.

Class Newsgroup

AcIS has set up a class account on the cunix machines. From your account you can visit the class directory by changing directory (cd) to ~cs3101-1.

A class newsgroup- columbia.spring.cs3101-sec1 - has been created for class use. You are encouraged to use this resource as a forum for discussion of your projects (see the section on collaboration with other students).

Office Hours

The instructor will be available during office hours and also through e-mail.

Collaboration

  Discussion of material covered in class is strongly encouraged. It is acceptable to help or receive help from other students concerning features of the operating system or any of the other software programs you will be using for your projects. However, the work you submit must be your own work, no group work is permitted in this class. There is a line between discussion and cheating and this line will be enforced. Refer to the Computer Science Department handout for exact details.

Open Door Policy

We would like the course to run smoothly and enjoyably. Feel free to let us know what you find just, good and interesting about the course. Let us know sooner about the reverse. See us, leave us a note, or send up e-mail.