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
- 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 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.