CPS 6, Spring, 2000, Important Information


General Information

+
Name:
Office:
Phone:
Hours:
+
E-mail:
Instructor
Dietolf Ramm
D226 LSRC
660-6532
Mon 10:15,Thu 10:00
+ or by appointment.
ramm@cs.duke.edu
Teaching Assistant
Guangwei Yuan
D337 LSRC
660-4011
____________________
+ or by appointment.
yuangw@cs.duke.edu
Teaching Assistant
Heng Zeng
D125 LSRC
660-6537
____________________
+ or by appointment.
zengh@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 Tuesday, Jan 18 and should be turned in during the lab.

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 10%
programming/written assignments 35%
quizzes/groupwork 5%
lab exam 5%
tests (2) 12.5% 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 quiz grade includes your quiz grade and your participation in activities during class such as group work. hese 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); however, weekends do not add to the 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.

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