| On This Page |
|
|
| Instructor Information |
| Name |
Ed Parrish |
| Email |
See instructor's homepage. |
| Office location |
See instructor's homepage. |
| Office hours |
See instructor's homepage. |
| Phone |
See instructor's homepage. |
| Contacting Instructor |
If you have any questions about the course or need assistance, please contact me during office hours in person or by telephone, or at any time by e-mail. |
^ top |
| Catalog Information |
| Course title |
Game Programming in Java |
| Course Number |
CIS 160GP |
| Section Number |
45932 |
| Course description |
Introductory game programming using Java. This couse explores the algorithms, data structures and techniques for producing 2D arcade style computer games. Topics include: 2D graphics, animation, sound and sprites. |
| Course dates |
02/06/06 through 06/03/06 |
| Location |
Room 509 |
| Meeting day(s) |
Monday |
| Meeting time(s) |
6:00 P.M. to 9:10 P.M. |
| Prerequisite(s) |
An object-oriented programming language course such as CS-12J, CS-11 or equivalent experience.
|
| Recommended Preparation |
CS 20J or equivalent; Eligibility for ENGL 100 and READ 100 |
| Online option |
Students can elect to take this course "online". This means that you read the lecture notes, which are posted online, rather than attending class. You are still responsible for completing all the work by the scheduled times. Note that attendance is still required at two meetings: the first meeting (for orientation) and the final exam. If you are interested in this option, please contact the instructor for more information. |
^ top |
| Course Objectives |
| |
At the end of this course you will be able to:
- Display and animate two-dimensional images
- Transform images to produce visual effects
- Program sound effects and music for games
- Produce arcade-style video games
- Add "intelligent" behavior to sprites
- Optimize program performance
- Deploy games on multiple platforms
|
^ top |
| Who Should Take This Course |
| |
The following people will benefit from this course:
- Gamers who want to develop their own video games.
- Programmers who want to learn more about Java's graphics and sound producing capabilities.
- Computer Science students who want to expand their knowledge of graphics, animation and sound.
|
^ top |
| Skills Needed |
| Email |
All students are requested to have an e-mail account. |
| Internet Access |
You need Internet access to view course materials on my web site, to turn in assignments and to take quizzes. Internet access is available in the CTC for all students enrolled in this course. |
| Programming Skills |
Prior object-oriented programming education or experience is important preparation for this course. You should know how to develop computer algorithms and have experience coding methods (functions) and classes. If you are not familiar with Java syntax, then you can learn it during the Java language review portion of the course.
|
^ top |
| Textbooks and Other Materials |
| Required books |
DGJ: Developing Games in Java, David Brackeen, apress, ISBN 1592730051, book Web-site.
KGP: Killer Game Programming in Java, Andrew Davison, O'Reilly, ISBN 0-596-00730-2, book Web-site. |
| Recommended books |
Murach's Beginning Java 2, JDK 1.5; Doug Lowe, Joel Murach and Andrea Steelman; Mike Murach & Associates, Inc.; ISBN 1-890774-29-4, book Web-site: Excellent introduction and reference to Java
KGP: Andrew Rollings and Ernest Adams on Game Design, Andrew Rollings, Ernest Adams, New Riders, ISBN 1-59273-001-9: Thoughtful and inspiring book on game design. |
| Other Materials |
Source code files for textbooks are available from the book Web-sites. |
^ top |
| Course Structure |
| |
The course is organized around the classroom, like most traditional courses. In addition, there is considerable online content. |
| Typical Class Session |
A typical class session is organized like the following:
| Time (P.M.) | Event |
| 6:00 | Announcements and discussion of questions that have short answers or broad interest within the class |
| 6:05 | Lecture/demonstration |
| 7:00 | Break |
| 7:10 | Lecture/demonstration |
| 8:00 | Break |
| 8:10 | Lecture/demonstration |
| 9:00 | Exit classroom |
| 9:10 | Class officially over |
Each week you have assigned reading, which you are expected to complete before class. During class, you will be expected to join in the discussions and answer questions when called upon.
|
^ top |
| Grading Policies |
| Assessed areas |
Your final grade is weighted based on your performance in the following areas:
| Assignments |
40% |
| Quizzes |
25% |
| Final Project |
35% |
|
| Assignments |
Homework assignments are due at the date and time posted in WebCT. I will not accept late assignments because solutions are posted. However, it is possible to improve homework assignment scores by completing extra credit work and most assignments have some extra-credit suggestions. |
| Quizzes |
Most weeks, you will have the opportunity to take a quiz covering the reading. Quizzes are given instead of a midterm to provide faster and continuous feedback to both the student and the instructor. You will have about a one-week period to complete a quiz and due dates are posted in WebCT. There will be no make-ups for any reason. However, I will drop the lowest quiz score in determining the final grade.
Note that if you add the class after the first meeting, you are still expected to complete the initial quiz on time. Not completing the quiz will count toward your lowest score.
|
| Final Project |
The purpose of the project is to integrate all the techniques you have learned from this class. The finished project is a "platform game" (like Super Mario) of your choice that uses animated graphics and sound. You present your game project during the final exam period, demonstrating your mastery of the subject. The game project counts as the final exam for the course and you must demonstrate your completed project to the instructor to pass the course. |
| Grade interpretation |
Overall grades are calculated using the sum of the weighted averages of each performance area. Extra "points" from one area does not affect another area. Your overall grade is interpreted on the following scale.
| Grade |
From |
To |
Description |
| A |
90% |
100% |
Outstanding work demonstrating mastery of the subject. |
| B |
80% |
89.9% |
Above average work with a solid understanding of the subject. |
| C |
70% |
79.9% |
Satisfactory work meeting all minimum requirements. |
| D |
60% |
69.9% |
Substandard work not meeting expectations in one or more areas. |
| F |
0% |
59.9% |
Unsatisfactory work. |
If you have questions about scores on any assessment, please contact me right away. I want to ensure both that you understand the material and that your grades are accurate and fair.
|
^ top |
| Alternate Grading and Incompletes |
| Credit/No Credit Option |
By default, everyone receives a letter grade. If you request the Credit/No Credit Option, you must complete the course work at a satisfactory (that is "C") or better level. For more information, see the Cabrillo Academic Policies & Procedures document. |
| Incompletes |
You may request an incomplete from the instructor if you are doing passing work and regularly attending at least 75% of a course, but are unable to take the final exam (or otherwise complete the course) because of illness or other unforeseeable emergency and justifiable reasons. You have one year to complete the incomplete. For more information, see the Cabrillo Academic Policies & Procedures document.
|
^ top |
| Academic Honesty |
| |
Academic honesty means that you give credit where credit is due. Students who are academically dishonest hurt both themselves and other students. They rob themselves of both the knowledge of the material and the experience of learning how to learn. This harms other students as well because nobody can trust that the graduates of a course know the material.
Academic dishonesty includes:
- Cheating: Intentionally violating the rules of the course by possessing, communicating, using, or attempting to use materials or to take actions that the instructor has prohibited.
- Plagiarism: Use of distinctive ideas, words or code belonging to another person, without sufficiently acknowledging that person's contribution.
For any work submitted in this course, you are not authorized to copy or use work from any source without crediting the source. You may use small snippets of work posted on the web or found in books, as long as it is lawful. However, you must acknowledge the source well enough so that it is easy for the instructor to find. Note that the instructor uses various services and tools to detect cheating by comparing your work with other students, books and the web.
Quizzes are open book and open notes. However, you must complete the quiz without help from another human being. Similarly, you cannot have another person complete assignments or projects. If you need help on an assignment or project, you should see the instructor.
Any person caught cheating or plagiarizing will be given a grade of zero for the assignment or quiz. The second offense will result in a no-pass or failing grade for the course. These offenses will be reported to the Dean of Student Services for inclusion in your academic record.
If you have questions about what is permissible, please ask me.
|
^ top |