Class Time:    Monday through Friday, 2:00 - 3:15 PM
Location:        Social Sciences 229 (ICC)
Instructor:      Joseph Farfel (joseph <dot> farfel <at> duke <dot> edu)
TA:                  Sam Slee (                            )
Office Hours: After class, or by appointment
  1.  A printable pdf of the final project presentation/web requirements has been posted.
  2.  Notes on how to do Javadoc are online -- note: the “Javadoc command” in the export window has been changed in the notes; on lab computers it is                                           C:\Program Files\Java\jdk1.5.0_08\bin\javadoc.exe
  3. (on home PCs try changing the “08” to a higher/lower number if it doesn’t work)
  4.  A new example is up in the final project snarf folder -- 07_timers
  5.  The Final Project presentation and web page requirements have been posted!
  6.  The Exam 2 Answer Key has been posted.
  7.  The Exam 2 Study Guide has been updated!  Also, code for the asteroids game (which will be given to you for reference during the test) is snarfable (under classwork)!
  8.  Starter code for the final project will be snarfable soon!
  9.  The Exam 2 Study Guide is up!
  10.  Don’t forget -- the Final Project Proposals are due in-class tomorrow, the 27th!
  11.  HW 3 - Breakout’s due date has been moved back a day -- to Thursday, the 26th
  12.  There’s a new “racers” on the Snarf site, which has everything we did on the 20th.
  13.  HW 3 - Breakout added -- due Wed., July 25th!
Course Description:
This course covers an introduction to the basic concepts of computer programming. The course material focuses on using Java as applied to video game development, but the concepts covered are widely applicable across programming languages and applications. These concepts include loops, selection statements, structured and object-oriented design, data structures, event-driven design, and user interface design. Designing,implementing and documenting a Java video game within a small group is a major component of the course. These projects are intended to build upon assignments completed throughout the semester, and will extend and enhance previous course work. This course is intended for non-majors and has no prerequisites.
Acknowledgments: The video games version of this course was designed by and many of the materials were assembled by (and were often written by) Jam Jenkins. He also wrote the Java game platform that will be used in many of the assignments.  Also, this course uses updated and modified versions of original notes and assignments written by professors Robert Duvall and Dietolf Ramm (see last semester’s class web site).
Java Concepts (4th Edition) by Cay Horstmann.  This book is recommended, but not required... it’s possible you can get through the class without it (by paying attention to lectures and notes), but it might be nice to have everything you need to know in a printed and portable form that requires no batteries.  The book might be in the bookstore (although perhaps labeled under CPS 006), or you can order it from Amazon by clicking this link (you’ll also contribute to Duke CS research if you click that link and order!).  Some of the used copies there are quite cheap.
  1.  50%: Homework / Classwork
  2.  30%: Tests (2 mid-terms)
  3.  20%: Final Project
Late Homework Policy:
10% will be deducted for each late day.  A weekend (Sat. + Sun.) counts as one and a half days (for the purposes of grading... don’t set your clocks by this policy).
Update:  A maximum of 30% will be deducted -- this is to encourage you to turn in completed assignments even if they are really late!
Computer Science 4: Java for Video Games