CompSci 6 - Summer 2005


Course Information

Class Meeting Times
  • M-F, 11AM - 12:15PM in Social Sciences Rm. 229

Instructor: Sam Slee
  • Office: North Building, Room 006
  • Email: sgs[at]cs.duke.edu
  • Phone: 660-4006
  • Office Hours: Immediately after class or any time by appointment.

Textbook

We'll be using Java Software Solutions: Foundations of Program Design, Third Edition by John Lewis and William Loftus as the course text. Hopefully this will be a good resource for you to get all of the basic information about the Java programming language. The textbook is available at the campus bookstore in the Bryant Center, or you can order it online.

I will try to help you understand all of the new ideas and concepts that come with computer science, programming, and Java. To get all that you need to know about programming and Java, you're still going to need to do quite a bit of reading. Reading assignments will be posted on the Syllabus page next to the days to which they correspond.

Software

You'll need some application to save, compile, and run all of the code you'll be writing. The 'development environment' of choice for this course is called "Eclipse". You can get all of the instructions for downloading it - for Windows or Mac OS X - on the Resources page which has a link in the blue bar on the left.

Classroom

We'll be in the Social Sciences building, room 229. It's a big room with lots of Windows XP computers (which should already have Eclipse installed). We'll have lectures in this room, and you'll also have some time to work on the computers there for homework assignments. However, you will need to be doing most of your homework coding outside of class.

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:
  • 50% homework
  • 22.5% midterm
  • 22.5% final
  • 5% class participation.
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 6 small ones and 1 slightly larger one. The goal is to allow you to take each new concept you learn and implement it in real code.

Late Homework Policy

The class moves at a very fast pace, to it is imperative that you do not fall behind. 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.).

Exam Dates
  • Midterm Exam: Wednesday, July 20 (In class)
  • Final Exam: Friday, August 12, 2PM - 5PM