CS4803 Design and Programming of Game Consoles
Spring 2011
|
Course Description
In this course, we will explore game console architectures, parallel
processors and GPU architectures. The course will provide background
knowledge of programming in a game console architecture to better
understand the hardware. The course will cover architectures in
Xbox360, playstation3, NVIDIA GPUs, Nintendo DS (ARM processors), SoC
Design, Tegra and other emerging game platforms.
The course focuses on the microarchitecture level of both traditional
architectures and game console architectures. We will learn the
details of how processors will work through programming
assignments. The first 3 lab assignments will cover GPGPU programming
(programming using graphics processors) and the following 3 lab
assignments will cover Nintendo DS Programming to better understand
embedded processors.
Topics:
- Game console architectures (Xbox360, playstation3, NVIDIA GPU, Intel Larrabee, ARM processors)
- GPU architectures
- GPGPU programming (CUDA programming, OpenCL programming)
- Microarchitecture
- Game console programming (Nintendo DS)
- OpenGL ES
Pre-requisite:
CS2200 or an equivalent course
Good knowledge of C/C++ programming
Textbooks: There is no required textbook for the course.
Suggested books:
- [H&P]Computer Architecture, 4th Edition by Hennessy and Patterson
- [RTR] Read-time rendering, 3rd edition, by Tomas Akenine-Moller, Eric Haines, Naty Hoffman
- Other papers and websites (please see the class homepage)
Course Home Pages: http://www.cc.gatech.edu/~hyesoon/spr11/index.html
Grading
Quizes (25%)
- 12.5% quiz-I
- 12.5% quiz-II
Survey Presentations (10 %)
Programming assignments (45%)
- Assignment #1 (5%)
- Assignment #2 (7%)
- Assignment #3 (10%)
- Assignment #4 (5%)
- Assignment #5 (8%)
- Assignment #6 (10%)
Final project (20%)
Final grade algorithm
90 ~ 100 (out of 100): A
75 ~ 89: B
60 ~ 74: C
50 ~ 59: D
~50 : F
Programming assignments: I encourage you to study in
groups. However, examinations and your work on all programming
assignments must be your own individual work. Collaboration with other
students or other persons is prohibited. Submitting any work other
than your own is a violating of the Academic Honor Code. If you are
not sure what you can discuss or not, please contact the instructor.
Programming assignment late policy: All programming
assignments are due on the day specified by the assignment description
and posted online. Typical due date is Friday. To account for
short-term unexpected events like computer crashes, submission
problems, and clock skew, we will allow 5:55 hours of slack and accept
projects until exactly (due time + 5 hr 55 m).
Projects received after the due date will lose 10% of the grade on the
first late day, 20% on the second, 40% on the third, 80% on the forth,
and 100% on the fifth day. Weekend days are counted in exactly the
same way as weekdays (e.g., if the project deadline is Friday and you
turn it in Sunday, that's two days late).
Programming assignment extension: You can request an
extension for programming assignments for up to 1 week without any
penalty only once during the semester for special situations such as
interviews etc. You must request the extension 2 days before by
e-mail. No late policy will be applied together if you request an
extension.
Assignment submission rules: You must follow the submission
guidelines specified in the assignment description. We will use
T-squares. Wrong file names, broken file formats, missing files will
lose 20% of grade. For reports, you must turn in a hardcopy of your
report during the class time.
Exams: Absolutely no collaboration at all. Copying or receiving any
other information from another person or their exam, with or without
their consent, is unethical and unacceptable. Cheating is a direct
violation of the GT Academic Honor Code and will be dealt with
accordingly.
Regrades: Regrades are obtained by submitting a written
explanation to the instructor within a week of when the work was
returned in class. Regrades will only be discussed after submitting
the work in this manner. In order for a test to be re-graded, you must
neatly state in writing the reason that you would like your test to be
re-graded. If a test is submitted for a re-grade, I have the right to
re-grade the entire test-so keep it mind that it is possible to
lose additional points. Therefore, it is strongly recommended that you
do not ask for a re-grade unless you have substantial reason to
believe that I made a mistake when originally grading the test.
Student honor code: Zero tolerance toward a violation of the
student honor code. Any misbehavior will be reported to Dean of
Students directly.
Class Room Policies: No cell phones and no computers (except
lab lectures) during the class time.
Office Hours: Please respect the office hours of the instructor by
planning ahead. Other times are possible by appointments.
Newsgroup: It is your responsibility to check the
newsgroup. Discussions in the newsgroup are also considered as class
discussions.
|