2032 Engineering Research Facility (ERF)
||aej at evl.uic.edu
|(312) 413-7585 (fax)
|OpenGL Shading Language 3rd Ed
aka 'the orange book'
Randi J. Rost
Heterogeneous Computing with OpenCL
Gaster, Howes, et al.
This might also be helpful
||Programming Massively Parallel Processors: A
Kirk and Hwu
SCHEDULE OF TOPICS TO BE COVERED:
Intro to the Class, History, Setting up
||Project 1 out|
||2. GLSL language study|| last
||3. Standard Effects from Shaders|
||4. Fancier Stuff|
|| Project 1 Review
||Proj 1 due, Proj 2 out|
||7. Case Studies|
||Project 2 Review||Proj 2 due|
||Project 2 Review|| Paper
| 3/20 3/22
|| \|/ Spring
||Paper Presentation||Proj 3 topic due|
||Project 3 Review||Proj 3 due, final out|
||Project 3 Review|
Exam from 1pm to 3pm
"so much time, so little to see ... wait a minute, strike that, reverse it" -- Willy Wonka
You should feel comfortable
programming in C or C++, and have access to a computer with a
modern graphics card capable of using the OpenGL Shading
Extensions (OpenGL 2.0 compatible) and running OpenCL. Having
experience programming OpenGL (at the CS 488 level) will be
Standard departmental disclaimer: If you do not have the prerequisites for this course make sure that you drop this course right away. The department will verify the prerequisites for all students registered in this course during the first few weeks of the term and if you do not have the prerequisites, you will be notified and dropped from the course after the normal drop/add period. By that time, you will not be able to enroll in any new course.
Programmable GPUs (Graphics Processing Units) emerged in 2001 and since then they have become a dominant topic in computer graphics and scientific visualization, allowing programmers to more directly take control of computer graphics hardware. We will look at the use of GPUs both for graphics processing and general parallel computation through a series of projects and presentations.
Attendance is very important, but not mandatory. Part of your grade will be based on your in-class participation (i.e. asking good questions, making good comments) so please take that into account.
I make a habit of putting
all of my notes on the web, however these notes should not be
considered 'official' until the day of class. If I make any
major changes to a page afterwards, then I will announce it in
class but note that at the bottom of each page is a
modification date so you should be able to tell when the notes
were last modified. I try to ensure that the notes on the web
accurately reflect the lecture, but its what is discussed in
class 'that counts', not what's written in the notes.
There is also a piazza page for the
class - please sign up at https://piazza.com/uic/spring2012/
UIC wireless is kind of iffy in the classroom. If you want better access to wireless then please fill out the survey at http://www.surveymonkey.com/s/26KJSQ8
"Those who are absent are
always wrong." - African proverb
More on the presentations
More on the projects
"I hear and I forget. I see and I remember. I do and I understand" - Chinese proverb
There will be a final exam at the end of the term covering the material presented in class. Most likely this will be a programming project that will be presented during the final exam period.
The final grade
will be calculated as follows
Projects (3 at 15% each)
A: 87% -
B: 75% - 86%
In class participation
C: 62% -
Final Exam (most likely another
D: 50% -
E: 00% -
Note: that you must get a passing (D or better) grade on _all_ projects and final to get a passing grade in the course.
Also note: I only give Incompletes for serious hospitalization issues which come up suddenly near the end of the term.
Also also note: I have no qualms about giving Ds or Fs in a graduate level course, though the vast majority of the grades have tended to be As and Bs. I also have no qualms about failing graduate students for cheating - so be good.