CPS 6, Spring, 2001
Important Information


General Information

+
Name:
Office:
Phone:
Hours:
+
E-mail:
Instructor
Dietolf Ramm
D226 LSRC
660-6532
Mon 10:15,Thu 10:30
+ or by appointment.
ramm@cs.duke.edu
Teaching Assistant
Jiefu Shi
D339 LSRC
660-6594
Thu 6:00-7:30, Sun 5:00-6:30
+ or by appointment.
jshi@cs.duke.edu

Required Background

This is the first course for computer science majors who have no programming experience. It is also suitable for other students who desire to make a serious study of program design, implementation, and analysis. If you have absolutely no computer background and have few skills in math you could take CPS 4 or even CPS 1 first. However, this is not required. See the guide for choosing the correct computer science course for more information or talk to the instructor.

Text

Reading

In general you should read the text in order to be prepared to ask and answer questions in class. If you've looked at material before it's discussed in class you'll get much more out of the class discussion. This is especially true once class has been going for a while.

Labs

In each lab, you will be given an assignment that addresses the new concepts discussed during lecture. Assignments will be available before lab either as a handout or on the web. Attendance at labs is mandatory. Normally part of the work must be done before lab, another part of the lab must be completed during the lab period, and sometimes an additional portion is completed outside of lab. There will be a lab assistant to answer any questions you have. If you have an excused reason for missing lab, talk with the assistant or instructor to arrange to make up the lab missed.

All labs are in Teer 106.

Computing

All programming projects should compile and execute on the acpub Sun workstations. Projects may be developed on other platforms (e.g. your personal computer), but the final version must compile and execute on the lab machines. Sun clusters are found in Teer 106, Hudson 117, Engineering 139, Soc-Psych 133, Bio-Sci 002CC, Teer 106, and Carr 125. All projects will be submitted electronically.

Collaboration

You may consult with one or two other students (and as many times as you want with the lab assistant and the instructor) on programming assignments and labs, but should limit collaboration otherwise. This means you can discuss the programs before writing code, and get help with debugging your program, but you should write your own code. Writing one program and making multiple copies of it is not acceptable! For each assignment and program you are expected to include a list of the people with whom you have consulted (including students, TA's, tutors, professors). Finally, you may not work with the same students on two consecutive assignments/labs.

Quizzes and Tests must be entirely your own work.

Newsgroup

You should regularly read the newsgroup duke.cs.cps006 as it may contain announcements, hints, and information relevant to this class. The Introduction to the Public Unix Clusters at Duke explains how to read newsgroups.

Grading

labs 10%
lab exam 5%
programming/written assignments 30%
quizzes/groupwork 10%
tests (2) 10% each
final exam 25%

Grading is done on an absolute, but adjustable scale. This means that there is no curve in the traditional sense. Anyone earning 90% or more of the total number of points available will receive a grade in the A range; 80% = B, 70% = C, 60% = D. This scale may go down, but it will not go up. However, note that to get an A+, you will have to do something extra or extraordinary. Just routinely doing everything correctly may get you 100%, but still not qualify you for an A+.

There may be optional assignments. Completion of these can earn points towards raising your final grade. Sometimes optional quizzes or extra credit will be given. These can earn points only in their category, i.e., optional quizzes can earn quiz points to bring your quiz grade up to a 100. The maximum grade recorded in any category is 100.

The tests and final exam will be closed-book.

The quiz grade includes your quiz grade and your participation in activities during class such as group work. These activities may involve some preparation work before class.

Late Programming Assignments

Assignments turned in on time receive no penalty. Assignments turned in up to two days late incur a 10% penalty, more than two days late incurs a 25% penalty. Assignments will not be accepted after one week has passed from the due date.

You will be given four free late days that will be used to count towards late days for programming assignments. A free late day can waive or reduce the penalty if an assignment is turned in late. These free late days will automatically be counted starting with the first assignment turned in late until the free late days are used up. At that point, late days will begin to incur penalties.

If you're having trouble, be sure to see a UTA/TA and preferably the professor in charge of the course as far before the due date as possible. Don't give up, ask for help.

Points on assignments will vary. Later assignments may be worth more or less than previous assignments.

Electronic Submissions

Your homework will be submitted electronically. On rare occasions, this can malfunction (although it is usually an error on the part of the person submitting the work). If you have problems with electronic submission, do not "touch" the files being submitted. The system keeps track of the last alteration date of each file. If you did not touch the files, then even if the submission failed, the time stamps on the files will allow us to verify that the work was done one time. If you do anything with the files, the time stamps are updated and you will lose proof that the work was completed at the earlier time. Please promptly send the instructor mail when any of these problems occur.

Records

Your grade is based on a record of your work. Occasionally thing get lost or transcription errors are made in recording grades. It is your responsibility to keep a copy of everything course related until you are happy with your final grade. Every effort will be made to correct any errors, if you have the appropriate copies to show that an error was made.

If you are having lots of problems, please do NOT give up --- talk to the instructor.