CPS 108: Course Information
Spring 1999
-
Office: LSRC D228
-
Office Hours: To be Announced (or any time for quick questions)
-
Email: rcd@cs.duke.edu
-
Phone: 660-6567
UTAs
-
Office: LSRC D240 (yurt)
-
Office Hours:
Huned: Tuesdays, 8:30-9:00p, in Teer
Gabe:
Thomas:
Shawn:
Jason: Tuesdays, 8pm-9
Dave: Friday, Feb 12, 1pm-2
Garrett: Wednesday, Feb 3, 7pm-8
Doug: Wednesday, Feb 3, 4pm-7
-
Phone: 660-6526
Meeting Time
-
CPS 108.1: MWF 2:20pm-3:10 in LSRC
room B101 (Love Auditorium)
Overview
This is a course in object-oriented programming and design. It is based
on working in teams of two to five people; however, there are several individual
assignments too. Among the main goals you should have, and that I have
for those in the course, is to learn both low-level and high-level idioms
and patterns of programming that will make you wonderful, intelligent programmers
and designers. The course is not organized so that you will be become
3 a.m. Java hackers, but that is a reality that may happen.
If you don't already know C++, this probably is not the right course
to learn that language, although dedicated participants may be able to.
By the end of the course you should expect to have written several 500-1000
line programs, a few 1000-3000 line programs, and one 5000+ line program.
Of course using lines of code (loc) as a programming metric is not the
best thing to do, but it conveys a sense of the scale of the programming
you will do. You will become more proficient at object-oriented design
and programming and your programs will consist of hundreds of classes by
the end of the semester.
You will need to do a lot of reading and a lot of debugging outside
of lecture.
Required Books
You will use several books as well as online readings in the course. In
addition to those you can buy at the Duke textbook store, you can find
more useful resources at the Gothic bookstore, Barnes and Noble at New
Hope Commons, or online from Amazon books.
A few that we recommend are listed here.
In general you should read the text in order to be prepared to ask and
answer questions in class. If you have looked at material before it is
discussed in class you will get much more out of the class discussion.
Although time will be given at the beginning of lecture for you to ask
questions about the reading, the majority of the lecture will be an extension
of the reading, not a summary.
Computing
All programming projects should compile and execute on the acpub Sun ULTRA-SparcStations.
Projects may be developed on other platforms (e.g., you personal computer),
but the final version must compile and execute on the SparcStations.
Click here
for a list of the public clusters available on campus. You may work in
any of these clusters; however, only the clusters in Teer 106 and Carr
125 will be staffed by student consultants. Student consultants should
be on duty Sunday through Friday evenings. Click here
for the current schedule.
Comments?