Syllabus


Meeting Times

Staff

Professor: Robert Duvall
  • Office: LSRC Room D228
  • Email: email address
  • Phone: 660-6567
  • Office Hours: immediately after class, or anytime for a quick question
Graduate TA: Sam Slee
  • Office: North Building, Room 006
  • Email: email address
  • Phone: 660-4006
  • Office Hours: Wednesday 4:20-6pm, or by appointment
Undergraduate TA: Robert DeMason
  • Email: email address
  • Helper Hours: Sunday, 7-9pm
  • Location: Soc Science 229 (the ICC lab)
Undergraduate TA: Sandeep Kagzi
  • Email: email address
  • Helper Hours: Tuesday, 7-9pm, and Thursday, 9-11pm
  • Location: Soc Science 229 (the ICC lab)
Undergraduate TA: Jinghui Lim
  • Email: email address
  • Helper Hours: Wednesday, 9-11pm
  • Location: Soc Science 229 (the ICC lab)
Undergraduate TA: Rick Lindquist
  • Email: email address
  • Helper Hours: Sunday, 9-11pm
  • Location: Soc Science 229 (the ICC lab)
Undergraduate TA: Zach Marshall
  • Email: email address
  • Helper Hours: Monday, 8-10pm and Thursday, 7-9pm
  • Location: Soc Science 229 (the ICC lab)
Undergraduate TA: Dan Rosenberg
  • Email: email address
  • Helper Hours: Wednesday, 7-9pm
  • Location: Soc Science 229 (the ICC lab)
Undergraduate TA: Charlie Suwankosai
  • Email: email address
  • Helper Hours: Monday, 10-midnight, and Tuesday, 9-11pm
  • Location: Soc Science 229 (the ICC lab)

Textbooks

Textbooks are available in the Duke textbook store. You can also find them online, e.g., at Amazon.

Java Concepts by Cay Horstmann

If you already have the third edition of the book, there is a chart online to convert reading assignments into its page numbers.

Computing

In lab work will be done on IBM Workstations running Windows XP. 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. You will be able to work in the classroom any time there is not another activity scheduled there. Additionally, you will be able to work on any acpub Unix machine on campus. To facilitate working in your dorm room, any software discussed in class is available for download here.

Grading

Grading is done on an absolute, but adjustable scale. This means that there is no curve. Anyone earning 90% or more of the total number of points available will receive a grade in the A range; 80% or more guarantees a grade in the B range, 70% or more guarantees a grade in the C range, 60% or more guarantees a grade in the D range. This scale may slide down, but it will not go up.

There will be several types of assignments during the term, each contributing to your final grade by approximately the following percentages:

large programming/written assignments 25%
labs 20%
in-class quizzes 10%
midterm exams 25%
final exam 20%

Points on assignments will vary. Harder assignments will be worth more than previous assignments, and most assignments will get harder as the semester progresses (harder means takes more time, requires more thought).

The programming projects will be open-ended, providing a lot of room for you to express some creativity and go beyond the basic specification. For each assignment, you will be expected to complete all of the assignment's basic functionality as well as use good style so your program "looks" nice. To earn an A grade on these projects, you must do more than merely meet the requirements, you must go beyond them. However, any extra credit features that you add will not be counted unless you get the basics working first. 

The classwork grade involves your participation in group activities during class. These activities may involve some preparation work before class.

There may be several optional assignments that can earn points towards raising your grade.

Turning in Assignments Late

All projects must be submitted electronically by midnight the day they are due according to the directions given here.

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. A weekend represents one-day for the purposes of measuring lateness. Assignments turned in early may receive bonus points, we will announce this for each assignment.

You cannot make up a missed quiz or an in-class assignment. We will provide several opportunities to earn extra points on quizzes and in-class work so that if you miss a small number of these your grade will not be affected. However, frequent absences from class will affect the portion of your grade based on quizzes and in-class work.

Individual extensions will be granted only for medical reasons (see the Short-term Illness Notification policy) or other circumstances beyond your control that must be presented with an official Dean's excuse. We do not grant extensions after an assignment is due, you must request an extension before an assignment is due.

Due to the pace of the course, assignments will not be accepted after one week has passed from the due date. If this happens to you, you should talk to one of the course staff immediately. It is important that you do not get behind in this class, its pace is too fast to allow you fall behind. The secret to successfully surviving this course is to start early and work steadily; it is not possible to cram or skim in Computer Science classes. If you are having trouble, be sure to the professor as far before the due date as possible. Do not give up, ask for help.

Collaboration

During class and lab you will work on problems with another student. For other assignments, you are to work on them individually. On such programming assignments, you may consult with the course staff and up to two other students in any section of the course, but should limit collaboration otherwise. 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 for several people is not acceptable! For each such assignment you are expected to include a list of the people with whom you have consulted (including students, TA's, tutors, professors) in a README file submitted with each assignment.

Quizzes and Exams must be your own work.

Exam Dates

Quizzes, Midterm, and Final exams will be held during the lecture time. The quizzes and midterm exams will be closed book and closed notes. The final exam will be open book and open notes. This is not because we expect you to memorize material for the midterm exams, but because we do not want you to spend time looking up answers when a test is roughly one hour long. Instead, for the midterm exams, a handout will be given with material that does not need to be memorized. You may request specific material to appear on the handout.

Information Online


Comments?