Course Description

Welcome to the one of the coolest engineering courses in the country! How do you create a complete computer / video game from start to finish? What are the different elements to a game? What makes a great game? Computer game development requires all facets of Computer Science, including Computer Graphics, Artificial Intelligence, Algorithms, Data Structures, Networking, and Human-Computer Interaction. It also requires knowledge of other disciplines including Economics, Mathematics, Physics, and Psychology. The value of this course goes beyond culminating Computer Science. It is largely a hands-on course where real-world skills including design, teamwork, management, documentation, and communications are critical. This course will delve into topics such as the game engine, rendering, user interfaces, sound, animation, and game hacking. This course will also cover designing MMORPGs and mobile games.

Instructor

Ming Chow, mchow@cs.tufts.edu

Class Time

Mondays and Wednesdays, 3 - 4:15 PM in Halligan 111A

Prerequisites

Teaching Assistants (TAs)

Grading

Final grade will consist of the following components (and percentage towards final grade):

Textbook

Late Policy, Extensions, and Assignment Submissions

Each student is given five (5) homework tokens at the start of the semester. A homework token buys one 24 hour extension of the assignment's due date. As many as three (3) homework tokens may be used on any assignment. To use a token, you must notify me either via e-mail or in person before the assignment is due.

All homework will be submitted electronically and will be due at the 11:59 PM on the due date. Students are allowed a maximum of three submissions for all assignments. We will grant an automatic extension of ten (10) minutes at no cost to you (a.k.a., "grace period"), so the real deadline is 12:09 AM the following day. If you plan on submitting your work at midnight, you will have nine (9) minutes for last-minute changes.

No late assignments accepted! If tokens are used up, no extension will be given without exception. For extraordinary difficulties, such as serious illness, family emergencies, or other extraordinary unpleasant events, your first step should be to make contact with your associate dean for undergraduate education. You must take this step before the assignment is due. Ask your dean to drop me an email or give me a call, and we will make special arrangements that are suited to your circumstances.

Collaboration and Academic Misconduct

Students should read the Tufts Code of Conduct available at http://uss.tufts.edu/studentaffairs/codeofconduct/, and the policy on Academic Integrity available at http://uss.tufts.edu/studentaffairs/judicialaffairs/Academic%20Integrity.pdf.

Absolute adherence to the Code of Conduct is demanded of the instructors, teaching assistants, and students. This means that no matter the circumstance any misconduct will be reported to Tufts University.

You strongly encouraged to discuss a problem and your ideas with friends and colleagues. You will do much better in the course, and at Tufts, if you find people with whom you regularly discuss problems. However, when the time comes to write code, group discussions are no longer appropriate.

Every source of assistance must be acknowledge in writing. This rule applies to discussions with classmates or course staff as well as assistance you might find in the library or on the web. There is never a penalty for seeking help with a problem, but help must be acknowledged.

You are encouraged to submit general programming questions to online forums such as Stack Overflow. Questions about particular homework problems must never be posted online --send an e-mail to the course staff.