The purpose of this class is to provide a gentle introduction to the design of virtual, real-time and interactive environments (both 2D and 3D) to non-majors of computer science, using Python, Alice and Blender Publisher GameKit v. 2.24, and in doing so to ensure a thorough overview of advanced programming techniques usually taught at this level: user-defined functions and types, recursion versus iteration, parameter-passing mechanisms, classic abstract data types and algorithms. And since the class is designed to accomodate the specific background of non-major CSCI students with only one semester of programming behind them, it will provide a thorough overview of programming style and object-oriented programming, including event-driven programming, in a style customized to fit the background and knowledge of a recent graduate of A201/A597. This class is particularly suited to serious art students interested in determining exactly what it takes to create a meaningful 2D or 3D game, and to students with an exploratory major that might acquire an interest in the underlying principles of engineering a virtual, real-time interactive environment for entertainment, education, visualization or other purposes. (Note: Python networking, GUIs and Python web and database programming will also be covered in this class.)

The class does not have a final exam, just a final project. There are ten homework assignments, weekly labs a midterm written exam and a midterm practical exam, with the final capstone project at the end of the course. For any questions please e-mail dgerman@indiana.edu, call 5-7860, or come to LH201D (Lindley Hall) to get your questions answered in person.

A detailed syllabus for the spring semester of 2007 will be posted here shortly.