CS 526 Computer Graphics 2, Fall 2015    Seminar on computational aesthetics   Angus Forbes    aforbes@uic.edu

Information
When   Wed 3:30pm-7pm
Where   EVL CyberCommons, 2068 ERF
Website   http://evl.uic.edu/creativecoding/cs526
Announcements   Piazza
Office hours   2032 ERF, Wed 12noon-1pm (or by appointment)

Description
This course provides a forum for investigating advanced topics in contemporary computer graphics, with an emphasis on the creation of computational aesthetics projects. We will investigate current hardware-accelerated programming techniques using OpenGL and GLSL, as well as a range of tools that facilitate creating interactive graphics applications (such as WebGL, Three.js, and Unity3D). We will read widely from both seminal work in the fields of graphics and visualization as well as from recent papers from top-tier conferences and journals (TOG, SIGGRAPH, CG&A, TVCG, CHI, etc) and curated editions (GPU Pro, GPU Gems, ShaderX). In addition to the completion of weekly programming and writing assignments, students will be responsible for two projects that involve the creation, demonstration, and documentation of novel interactive graphics techniques. A particular focus of the course is on computational aesthetics, broadly defined to include novel image processing techniques, special effects for games and films, new media arts projects, and investigations into creative visual explorations of current computational topics, such as data mining, signal processing, machine learning, and natural language processing, among others.

Prerequisites
Students should be of graduate standing with a strong interest in computer graphics. Students will be expected either to work on novel research related to fundamental topics in graphics or visualization, or to the application of contemporary graphics techniques to a topic in an area that they are already familar with, or both. A working knowledge of programming for 3D computer graphics is expected (e.g., OpenGL, three.js, Processing, VTK, Unity, etc). Finally, students should have completed CS 488 or a similar introductory graphics course (or be taking CS 488 concurrently). Exceptions to these prequisites can be made at the discretion of the instructor.

Slides / Demos
Week1.pdf     Week2.pdf     Week3.pdf     Simple Demos    

Class Projects
Research Journals   Marco Cavallo     Hoang Minh Huynh Nguyen     Abeer Alsaiari     Tomasz Rybiarczyk     Kyle Almryde     Paul Murray     Igor Fortel     Creative Projects    Street view timelapse    3D city reconstruction    Emphemeral bits    Kinect-based audio-visual interaction    Artistic 3D sculpture composition    RF visualization    Imagining Macondo    A Web-based UI for designing 3D sound objects and virtual sonic environments    Reas Processes 3D    3D Software Interpretation of Reas’s Processes    Web audio API example code    Chromatic fantasy code

Grading
Research/Project Journal   

Grading will be based on your contributions to discussions and critique sessions, the thoughtful and timely completion of programming assignments, and especially the creation, evaluation, and documentation of innovative computer graphics projects. All students are required to participate in one group project and to act as the lead for a project of their own choosing.

     Research/project journal    15%   
     State-of-the-art (STAR) reports    16%   
     One project as lead    30%
     One project as assistant    15%
     Discussion and critique sessions    9%
     Short programming assignments    15%

Policies
Attendance is required. Any student missing more than three classes for any reason will not pass the course. You can use these absences as you like, for sick days, holidays, or special events observed by organized religions (for students who show affiliation with that particular religion), or those pre-approved by the UIC Dean of Students (or Dean's designee). No social media in class; no eating in class (gum or coffee is okay); no texting or phone calls in class.

Resources
Libraries and Frameworks    Threejs.org    OpenGL ES 2.0 Reference Pages    OpenGL ES 2.0 API Quick Reference Card    WebGL 1.0 API Quick Reference Card   

Conferences    ISEA 2016, Cultural R>evolution    ISEA 2015, Disruption    SIGGRAPH'15, Xroads of Discovery    VISAP'15, Data Improvisations   

Texts & Tutorials    Real-time Rendering    The Little Grasshopper (new)    The Little Grasshopper (old)    Iñigo Quílez    Kajiya's “The Rendering Equation” paper   

Demos    oos.moxiecode.com    Shadertoy   

Courses    CS 524 S2015    CS 488 F2014   

Inspiration    An Interview with Garry Winograd    Sabrina Raaf’s Test People    The Philosophy of Andy Warhol    Inventing Abstraction 1910-1925    George Legrady’s Swarm Vision    Lena Gieseke’s Guernica 3D    Davis et al., “The Visual Microphone”    Eulerian Video Magnification    Christian Marclay‘s The Clock    Graeme Brown‘s analysis of REM‘s Imitaion of Life