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)
Office Hours: After class, or by appointment
  1.  Class is over!  The instructor’s “final project,” Professor Awesome and the Evil Space Blobs, is now online (note: not meant to be an example of a typical real final project...).
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... 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.
  1.  50%: Homework
  2.  30%: Tests (2 mid-terms)
  3.  20%: 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).
Computer Science 4: Java for Video Games