CS4803PGC/CS8803PGC Design and Programming of Game Consoles
In this course, we will explore game console architectures, and also
GPU architectures. This course is a project-based course in which you
will learn GPU architectures and graphics/GPGPU programming by actually
implementing a subset of graphics hardware features using a FPGA
(Field-Programmable Gate Array) board, together with some applications
that will run on this processor. You will also program one of the game consoles (Nintendo DS)
to understand the detail of the hardware.
The course will provide background knowledge of hardware graphics
processors and game console architectures. It will also provide
understanding of architecture, system understanding, assembly programming, and programming
Students will also learn OpenGL programming to learn programming models for GPUs.
- ARM processor programming
- I/O, interrupts, frame buffers
- GPU architectures
- 2D/3D Graphics
- FPGA programming, hardware description language
- Case study of Game console architectures (Xbox360, playstation3, etc.)
CS2200 or an equivalent course
Good knowledge of C/C++ programming
Graphics courses are not required. CS3220 (Processor Design) is also not required to take this course.
Textbooks: There is no required textbook for the course, but you will need to purchase
your own Altera DE1 board. With the academic discount, these boards cost $125, and they can be purchased directly from Altera .
Course Home Pages: http://www.cc.gatech.edu/~hyesoon/spr12/index.html
Grading for CS4803PGC
Grading for CS8803PGC
- 10 % Exam-I
5 Assignments (50%)
- 10 % Exam-II
(Exam-II can be waived if you diligently do your assignments. see the below.)
6th assignment (15%)
Class participation and pop quizzes (15%)
Final grade algorithm
Survey presentations (10 %) : presentation 7%, report 3%
5 assignments (50%)
6th assignment (15%)
Class participation and pop quizzes (15%)
90 ~ 100 (out of 100): A
Assignments: All the assignments are 2-student projects.
However, each student should submit his/her own report. The report
Collaboration with other
students other than the project partner is prohibited. Submitting any work other
than you and your partner's own is a violating of the Academic Honor Code. If you are
not sure what you can discuss or not, please contact the instructor.
80 ~ 89: B
70 ~ 79: C
60 ~ 69: D
~50 : F
Assignment late policy: All 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
Assignments except the last assignment received after the due date will lose 5% of the grade.
Many assignments are built on the previous assignments. Allowing
late submissions encourages you to complete all the assignments.
6th assignment The 6th assignment is
performance optimizations of your hardware design that you have built during earlier assignments.
The target application will be provided much earlier in the semester. FPS (frame per second) will be the
metric to measure the performance. This final competition will on in the class.
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 5% of grade. For reports, you must turn in a hardcopy of your
report during the class time.
Exam-I covers the basic understanding of the course and the assignments. Exam-II for CS4803 students can be waived if you complete all the first 5 assignments with the average 90% by two-day prior to the Exam-II date.
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
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
Lab Lectures and Introductory Tasks Policies : Some classes will be lab lectures, where students will
do actual programming during class. Especially when we start new programming assignments,
such as Nintendo DS, OpenGL, and FPGA assignments, students will complete the introductory tasks
during the class. Since students have different skills, if you already have experiences of
any of these lab day programming, you can show your previous work and get class participation credits for the introductory tasks.
Those introductory tasks will not be graded separately. If you show up and complete or partially complete the introductory
tasks during the class, you will receive the full credits. These credits will count for class participation.
Pop Quizzes and Class Participation Grading Policies : There will be 2-3 pop quizzes in the class.
Class participation grading includes these pop quizzes, participation of introductory tasks on lab days, active class participation
such as asking/answering questions, and active on-line activities in group mailing lists. Any other activities that will help other students in the class learn the class material will also counter for class participation points.
CS8803 Students: CS 8803 students will some more work addition to
- Presentation: A group of two CS 8803 students will present one game console architecture in the class. Before the presentation, the students will meet with the instructor to discuss the contents of the report and the presentation.
Based on the preference of students, the instructor will recommend a game console architecture.
- 6th assignment: In the 6th assignment, CS8803 students
need to add more additional features in their FPGA designs.
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