Course Syllabus - Spring 2009

About the Course:

This course will provide students with a concrete knowledge of game design and programming for the World Wide Web. Students will create their own interactive games using popular web technologies such as JavaScript (including JQuery adn AJAX) and Python using PYGAMES.
Prerequisites: V22.0004 (or professor's permission) and one semester of programming in JAVA, C, or equivalent programming experience. 4 Points

Foundation of Game design and programming: We will also explore and analyze elements of game design, interface, interactivity, play strategy, and technology used in popular games for the web.

Game Interactivity and Interface:
Students learn to build an intuitive, friendly and interactive graphical user Interface (GUI) for games using object-oriented techniques used in JavaScript and Python. We will use JavaScript Document Object Model (DOM), JQUERY and AJAX to manipulate image, form, and window and document objects and build games with different level of play and strategy. We will also use DOM to integrate graphics and sound to create fun and interactive games. Cookies, PHP and MYSQL will be used to store and list scores from flat files on UNIX accounts (i5.nyu.edu).
Using Python, students will learn to use pygame, integrate sound and graphics to create full functioning fun games. Students will learn to use File IO to read and store players scores into a file and then use sort algorithm to sort and list score (highest to lowest) from previous players in the browser.

Group projects:
Students are required to work in groups to produce two groups’ projects
Two Games: One game will be developed in JavaScript and the second game will be developed using Python. The group projects are an opportunity for students to experience Game development while working within a group, similar to the way projects are created in the real world. Each team will create a fully functioning game for the web that employs a clean design, intuitive graphical interface, and technical functionality.
Students are required to produce two groups projects for this class and they will be judged based on the following:

  • Quality of Game:

    • · Level of Fun and creativity
      · User interface and overall design of the game (simple, friendly and intuitive)
      · Strategy & Playability (level of technical complexity)
      · Integrating graphics and sound
      · General styles and coding
      • Please comment your code
      · Code Efficiency
  • Quality of class presentations (There will be two class groups' presentations):

    • 1. Project proposal Presentations
      2. Project Demo presentations
  • Quality of weekly reports: (There will be a total of five weekly reports)
  • Quality of the website that accompany this project
  • Group Dynamics:
    o Ability to communicate (Members need to talk to me asap if you are having group issues.)
    o Ability to solve problems creatively (problem solving skills)
    o Number of meetings with your professor or etutor ( 1 meeting is required during the development of this project). This will help you plan and solve technical and design issue.

Help: Whenever you have a question about the course material, please feel free to drop by during my office hours or write me an email message. If at any time you feel that you are falling behind or are overwhelmed by the material, let me know: I will be very happy to help you.

Exams and Projects:

  • There will be no midterm and no final exams in this course.
  • Instead, students will submit four individual assignments and two group projects.
  • Midterm Project Presentation:TBA
  • Final Project Presentation: TBA

 

 

Help Options:

Whenever you have a question about the course material, please feel free to drop by during my office hours or write me an email message at odeh (AT) courant (DOT) nyu (DOT) edu . If at any time you feel that you are falling behind or are overwhelmed by the material, let me know: I will be very happy to help you.
Office Hours: Will be held every Monday 3:30 pm - 4:30 PM, Room 321 WWH

Homework Policy

    • Ten points will be deducted for each class day late, with a possible maximum of 30 points being deducted.
    • Home works will not be accepted past the third class date after their assigned date without prior permission.
    • You should save all of your programs and back them up or store copies of the files for the entire semester.
    • Style counts (that includes using meaningful names and providing sufficient comments in the body of the programs.)

Cheating:

For the purposes of this class, cheating is defined as:

    • Discussing homework concepts is fine, but you must submit your own work.
    • Copying all or part of another student's homework, project or exam.
    • Allowing another student to copy all or part of your homework, project, or exam.
    • Please note that If you are caught cheating, you will receive an immediate FAILURE for the course.
      Make sure to read the CS department statements on Academic Integrity for more details.

Exams and Grading :

      • There will be no midterm and no final exams in this course.
      • Instead, students will submit four individual assignments and two group projects.

    Grade Distribution:

      • 4 individual assignments (40%)
      • Two Group projects:
        • 1 Midterm group project developed using JavaScript (25%)
        • 1 Final group project developed using Java applet (25%)
      • Presentations (10%)

    Project deadlines (No extensions)

    • Midterm Project deadline and Presentation:TBA
    • Final Project deadline and Presentation: TBA

Unix account:

All students will be assigned a UNIX account on i5.nyu.edu for this class to use for their own websites.

Software:

The primary software for this course will be available on the i5 server through ITS.

 

> Required TextBooks

(Please note that O'reilly books are available free online (NYU access only) from Safari on-line books service for MYU students

Mandatory Text:

JavaScript Required Books:

1) JavaScript and Ajax for the Web, Visual QuickStart Guide, 7th Edition

    * By Tom Negrino, Dori Smith.
    * Published by Peachpit Press.
    * Series: Visual QuickStart Guide.
ISBN-10: 0321564081
ISBN-13: 978-0321564085

Python Required Books:

2) Beginning Game Development with Python and Pygame: From Novice to Professional
By Will McGugan
ISBN 1590598725, 9781590598726

 

Optional Text:

1) JQuery Visual QuickStart Guide by Steven Holzner (Author)

2) Game Programming: The L Line, The Express Line to Learning
Andy Harris

The following books avalible free online from Safari for NYU students:

2) JavaScript: The Definitive Guide, 5th Edition ( avalible free online from Safari for NYU students )
by David Flanagan
Publisher: O'Reilly
Pub Date: August 2006
Print ISBN-10: 0-596-10199-6