Principles of Computer Science

Time and Location

Class is Monday through Friday, 2:00pm-3:15pm. Labs are Tuesday and Thursday 3:20-4:20pm. Both lectures and lab are held in Social Sciences room 229. It's a big room with lots of Windows XP computers (which you'll be using to work on coding assignments).

Textbook

Great Ideas in Computer Science with JAVA
by Alan Biermann and Dietolf Ramm

Available from: The Duke Bookstore
Available from: the web.

Instructor

Directions to LSRC D206 from Duke Chapel

  1. Start facing the front of the Duke Chapel.
  2. Move along the left side of Duke Chapel and continue along the Bryan Center parking lot.
  3. When reaching the end of the parking lot, follow the sidewalk curve to the right.
  4. Continuing along the sidewalk will lead you pass a campus bus stop and to the roundabout deadend of the road.
  5. At the end of the road, take the long staircase down towards the Blue Express cafeteria and the LSRC building.
  6. After traveling down those steps and reaching the Blue Express cafeteria an open green quad should be on your right. Travel down this quad towards the road (Research Drive). The LSRC building is now on the left side of the quad.
  7. At the end of the LSRC building is the entrance to the D-wing where the Duke Computer Science department is located. Enter the building and take the staircase up to the second level. The D206 office is just down the hall, about 20 feet from the staircase.
  8. ( Map courtesy of: maps.google.com )

The Course TA

Grading

Contrary to popular opinion, the goal of this class is for you to learn the material - not go home with a good grade. However, grades are still a necessary requirement, and right now the grading scheme looks like this:

A couple small quizes may be added at some point if deemed appropriate, but they're not in the syllabus right now. There are several homeworks - right now one for each lab. The goal is to allow you to take each new concept you learn and implement it in real code or test it out in some way.

Late Homework Policy

Assignments turned one day late incur a 10% penalty, two days late incurs a 25% penalty. After that, it's going to be no credit unless there are unusual circumstances that you've discussed with me. A weekend represents one day for the purposes of measuring lateness.

Collaboration

(Taken from the general CompSci guidelines given here.)

We encourage collaboration on lots of the work you'll do in your computer science courses. However, in some situations, e.g., exams, your work must be done by yourself, consulting only those resources explicitly permitted by your instructor.

If you aren't sure what the collaboration policy is on a lab, program, or other assignment please ask!

Studying together is always encouraged, especially when preparing for quizzes, tests, and final exams. At other times you may be assigned to a group, e.g., for labs or group programming assignments.

Collaboration on Programming Assignments

On programming assignments, you may consult with professors, and TAs/UTAs about any aspect of the assignment. You may consult with other students only in a general way, e.g., about debugging or Java/language issues, or questions about wording on the assignment. You cannot actively work with someone unless the assignment specifically grants permission for you to work together with someone else in the class.

Consult 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 you are expected to include a list of the people with whom you have consulted (including students, TA's, tutors, professors) in the README file you submit with the assignment. You should also cite any resources other than class materials you use (e.g. webpages, notes from other courses at other universities, etc.).