CPS 6, Summer I, 1999, Important Information


General Information

+
Name:
Office:
Phone:
Hours:
+
E-mail:
Instructor
Dietolf Ramm
D226 LSRC
660-6532
MW 2:00pm
+ or by appointment.
ramm@cs.duke.edu
Teaching Assistant
____________________
____________________
____________________
____________________
+ or by appointment.
__________@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 significant programming experience (e.g., functions, procedures, arrays) with another programming language, you should consider enrolling in CPS 100E. 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 handed out in lab, but will also be available on the web before each lab. Attendance at labs is mandatory. Sometimes one part of the lab must be completed during the lab period, and another part can be 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 in-lab part of the lab missed.

You will not normally be able to finish everything during the formal lab period. You will be expected to work on labs on your own time. All lab assignments must be submitted by within three days of the date the lab was scheduled to be performed. Late labs are penalized 10% for each day late. Weekends do not count as late days, so a lab due Friday that is turned in on Monday the following week by 5:00pm is 10% off, Tuesday by 5:00pm is 20% off, Wednesday by 5:00pm is 30% off, etc.

The first lab introduces you to the Sun workstations, and shows you how to edit, compile and run a C++ program. This first lab will be held on Thursday, May 21 and should be turned in by 11:59pm, Tuesday, May 25.

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.

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 and written assignments 20%
programming/project assignments 30%
random quizzes 10%
tests (2) 10% each
final exam 20%

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 random quizzes grade includes your quiz grade and your participation in activities during class. These activities may involve some preparation work before class.

Late Programming Assignments

Unless specified otherwise, all programming assignments will be due on at 11:59pm of the date specified on the assignment (note that programming assignments are submitted electronically). Late programming assignments are penalized 10% for each day late (three days late is 30% off) and weekends do not count as late days.

Electronic Submissions

Your homework and lab work 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 be able 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.

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.

Weekly Individual Meetings

There will be sign-ups for weekly meetings with the instructor. These are required. Normally the schedule will be for 15 minutes. However, if you are having difficulties, longer meetings may be scheduled.

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