CS 240 Software Project: Green Sheet,
Prof. Rudy Rucker, MH 213, 924-5147, How to email me.
T, Th 12:00 - 1:30
T, Th 4:15 - 5:00
Section 1: Meets T & Th 1:30 - 2:45 PM, MH 225.
Section 2: Meets T & Th 3:00 - 4:15 PM, MH 225.
Midterm: Thursday, March 25
Final Reports and Demos Section 1: Monday, May 24 1215-1430
Final Reports and Demos Section 2: Wednesday, May 26 1445-1700
In this course we are going to carry out some projects relating to game
programming as it relates to artificial life, computer graphics and artificial
intelligence. We will be using Ruckers' Pop game framework code, which
is in C++. See the Pop website.
The required text for the course is
Rucker, Sofware Engineering and Computer Games (Addison Wesley,
If you don't know C++, you should definitely study up on it before taking
this course. If you have trouble with C++, or are rusty with it, read
this quick review of C++. Although not required,
it is recommended that you have taken a course such as our CS 151: Object
Simple assignments relating to instructor-specified programs
will be given in the first part of the course by way of getting the students
up to speed with the material.
Students will work on small individual projects and we will also put
together some team projects in each class. The software projects will
be discussed and designed by the students and the professor over several
iterations. Project goals will be assigned by the instructor, taking into
account student suggestions and classroom discussion. Each project must
be based on a solid object-oriented design.
Our goal is for each section to produce at least one project that we
can enter by September 2004 to appear at the Independent Games Festival
Student Showcase held at the
Game Developer's Conference in March, 2005.
In addition, you will write an individual term paper on which you will
give two in-class oral reports, and which will be posted on our class
web site. The paper will count for 30% of your grade. The writing project
must be related to issues relating to game programming and either artificial
life, computer graphics, or artificial intelligence. Rucker will post
a list of suggested programming project and writing project topics.
Note that, to prevent plagiarism, professor will search Google for unusual
phrases in your paper. As long as any evidence of plagiarism is found,
you will get a 0 on the paper. Whatever you haven't written in your own
words, you must place in quotation marks and attribute!
be based on some small writing and programming assignments (10%), on an
in-class written midterm (30%), on your final contribution to a software
project (30%), and on your term paper (30%).
Note that we will not have a final exam. Instead the time scheduled
for the final will be used for the oral reports and final demos of the
As this may not provide enough time for everyone,
Some of the last few class days may also be used for oral reports and
The software projects will involve several preliminary assignments (requirement,
specifications, prototype, alpha releases, class-room demos) as well as
the final release with documentation. Grading of the projects will be
based on (a) Lack of Bugs, (b) Originality and Difficulty of the Project,
(c) Simplicity and Strength of User Interface, (d) Quality of Printed
and Paintings & Links Documentation, (e) Classroom Presentations and Demos.
The writing projects will be graded on (a) complexity and significance
of the topic, (b)
research on and presentation of known results
(c) good writing style (d) original content (if any) (e) neatness (f)
correct spelling, grammar, and English.
Programs are to be submitted in a two-pocket folder holding (1) a floppy
disk or disks with runnable Windows *.EXE file with buildable source
code and (2) printed documentation. Source code should build with no warning
messages. Specs and documentation should be attractively formatted and
printed out. Assignments are due at the START OF CLASS on the due dates.
Assignments will be graded down 20% for 1-7 days late. Assignments later
than 7 days will not be accepted. WARNING: Skipping an assignment can
lower your grade by a full point.
The prerequisite for this course is (a) grad
student status and CS 100W or, (b) undergrad status and CS 151 with B-
grade or higher.
Cheating policy: Copying on an exam will result in a score of 0 on that
exam for both parties.