CPS 6.3, CPS 6.4, Fall, 2000
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
____________________
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
- A Computer Science Tapestry: Exploring
Programming and Computer Science with C++, 2nd ed., McGraw Hill, 2000,
by Owen Astrachan.
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.
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.