CSc 4821/6821 Fundamentals of Game Programming

Tentative Syllabus
CRN: 85711, 90791 (honors), 85712
Classroom South Room: 101
02:30 PM - 04:15 PM

Instructor: Dr. Michael Weeks
Computer Science Department
Office: 25 Park Place, room 754
Office Hours: for now, by appointment. I am also in the office from 1-2 Mondays and Wednesdays.

web-page: http://hallertau.cs.gsu.edu/~mweeks/csc4821

department phone (404) 413-5700 (does not receive texts)

Teaching Assistant: Lahari Appala (vappala1 @ student.gsu.edu)
TA's office hours (held via Webex): Monday: 12:30 PM - 1:30 PM, Tuesday: 1:00 PM - 2:00 PM, Thursday: 1:00 PM - 2:00 PM, Friday: 1:00 PM - 2:00 PM
Click here for the Syllabus policies

CSc 4821/6821. Fundamentals of Game Programming (4)
Four hours lecture per week.
Prerequisites: CSc 3320


Final Exam time slot

The Final Exam will be presentations, including Wednesday December 10, 2025 13:30-16:00 (the official final exam time).

Books

Main Text: Ernest Adams, Fundamentals of Game Design (3rd ed), Pearson, 2014, ISBN-10: 0321929675, ISBN-13: 978-0321929679.

Need a book on JavaScript? This one looks good:
Arjan Egges, Building JavaScript Games: for Phones, Tablets, and Desktop, 1st edition, September 23, 2014, Publisher : Apress, ISBN-10 : 1430265388, ISBN-13 : 978-1430265382

Here is another:
Marijn Haverbeke, Eloquent JavaScript, Third Edition, 2018 available here

Read the book as we cover it.

Prerequisites:
Computer Science majors: CSc 3320

Objectives:

Prerequisite: CSc 3320 with grade of C or higher. Students must meet the Computer Science Major Eligibility Requirement in order to enroll in this course. Covers major aspects of game design such as challenges, gameplay, actions, core mechanics, worlds, characters, game balancing, user interfaces, and game genres.

Topics

Format:
Approximately 4 hours of the course contact time will be in lectures. Weekly technology homework assignments and one project are planned. There will be about 4 quizzes scheduled. Any pop-quizzes will factor into the test average.

Grading:
There will be a team project during the semester that synthesizes the assignment procedures and course content learned. This project will be developed jointly by all student members of a team.

Tests are longer than quizzes, and count more. For example, a quiz might have 2 short answer/essay questions, while a test might have 8 to 10. Each short answer/essay question should take you about 10 minutes to answer. Other types of questions might be included along with, or instead of, short answer/essay questions.

Homeworks/Assignments may vary in weight. A Lab assignment requires a report, along with a demonstration, and thus has a typical weight of 20%. A programming assignment requires source code, along with a demonstration, and thus has a typical weight of 20%. A written homework assignment either has a weight of 5 to 10% when graded, or 1 to 2% when checked. Graded assignments are carefully reviewed for correctness, while checked assignments are not.

Graduate students will be assigned one or more research papers to read, and will be graded on their review of the material. A class presentation will be required on this assignment. The grade for the review will be factored in the assignment grade as a 7th assignment. In addition, graduate students may be asked additional questions on the tests, and may have additional work on the assignments.

Deliverable Weight CSc 4821:

Deliverable Weight CSc 6821:

Notes:

Tentative Project grade formula for Fall 2025:
((W2 + X2 + Y2/5 + Z2 + AA2 + AB2 + AC2/5 + AD2/2)*100)/320
W2 = Abstract (10), X2 = Update Video (100), Y2 = Update Feedback (100), Z2 = Milestones 1 (10), AA2 = Milestones 2 (10), AB2 = Final Video (100), AC2 = Final Feedback (100), AD2 = Design (100)
Values in parenthesis indicate the total possible points for that part. Design (for the project) is a catch-all term for documentation, code you've written, art you've created, etc. It can also include logs from your group meetings, commit logs, rough sketches, and whatever else you have that can establish how much time and effort went into the project.

Learning Outcomes: