CompSci 6
Summer 2003

Home
Administrivia
Calendar
Students
Resources

Administrivia

Course meetings will be every weekday from 11:00am-12:15pm in room 229 of the Social Sciences Building.

Staff

Robert C. Duvall
Office: D228 LSRC
Office Hours: TBA, or any time for quick questions or by appointment
Email: rcd@cs.duke.edu
Phone: 660-6567
 

Text Books

You will use one primary book as well as online readings in the course. Copies are available at the Duke book store, but you can find also find it and other useful resources at the Gothic bookstore, Barnes and Noble (online or at New Hope Commons), or online from Amazon books.
A Computer Science Tapestry: Exploring Programming and Computer Science with C++ (2nd edition) by Owen Astrachan, McGraw Hill, 2000
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 work. 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

This course will be taught in a workshop format in an Interactive Computer Classroom, ICC, that contains twenty HP workstations running Windows. If some of the software and descriptions do not include other computing platforms, like Macintosh or Linux, it is not meant to show a bias, simply the reality of the working environment.

In general, students will be expected to be active participants in group exercises involving the computers available during class time. This makes it vital that you prepare before coming to class. In fact, most of the graded work for the course will be done during the class meeting time.

You should expect to work with another student during class. This process is often referred to as pair programming, which is defined as follows:

Two programmers working side-by-side, collaborating on the same design, algorithm, code or test. One programmer, the driver, has control of the keyboard/mouse and actively implements the program. The other programmer, the navigator, continuously observes the work of the driver to identify tactical (syntactic, spelling, etc.) defects and also thinks strategically about the direction of the work. On demand, the two programmers can brainstorm any challenging problem. Because the two programmers periodically switch roles, they work together as equals to develop software.

-- Laurie Williams, North Carolina State University

In other words, it is essential that all students in the group are active participants. Done right, this can be a very positive experience for all involved. Here are some students enthusiastic responses to pair programming.

Policies

Collaboration
Grading
Submitting assignments
Late assignments

Information Online

All of the materials for this course (including this page) are available on the web at http://www.cs.duke.edu/courses/summer03/cps006.
 

Comments?