ECE Offering Three Digital Media Courses in the Spring 2011 Semester

24 November 2010

The ECE department will be offering three digital media courses, which can be used for the AVATAR minor, in the Spring 2011 semester. These courses cover GPU/GPGPU hardware and programming(EE 7700-2), game algorithms and networking (EE 4700-2), and computer vision (EE 4780). The graduate course can be taken by undergraduate students who have completed 75 credits and have at least a 3.5 GPA.

EE 7700-2, GPU Microarchitecture, will cover GPU design, and include case studies of current NVIDIA products, almost-here future designs such as Intel's Larrabbee, and ideas for longer-range products. The course will look at advanced GPU programming techniques, including coverage of PTX, NVIDIA's pseudo assembly language as well as the GPUs' true machine language uncovered by others. A question to be looked at throughout the course is the essential reasons for the differing designs of CPUs and GPUs, though both are multicore processors with vector instructions. These questions will be examined using visualization tools and code examples, including animations in which the GPU is used for both graphics and physics. The video to the right shows one such animation, in which large heavier balls drop into a pool smaller lighter ones. The animation uses CUDA for physics and a geometry shader for special reflection effects. (Those with an older Web browser will see a still image.) The course will be offered by David M. Koppelman.

EE 4700-2, Computer Game Algorithms and Networking. Computer games are widely popular, with online games capable of supporting tens of thousands of simultaneous players around the world. Making these games work quickly, fairly, and consistently is not trivial. This class will examine two engineering aspects essential for a successful game: algorithms and networking. Algorithms determine, for instance, the actions of non-player characters. How to control these characters so that they act in a way that seems realistic to a player? How to control thousands of these characters? Supporting thousands of players in the same game entails high computation and bandwidth demands. Scaling up to ever larger numbers of players poses large challenges in networking. It also raises new issues; for instance, if a game distributes computation over player machines to avoid a bottleneck at a central server, then new opportunities to cheat arise that must be countered. The course will be offered by Jerry Trahan.

People with their eyes and face outlined. EE4780, Introduction to Computer Vision. This course will cover the fundamentals of digital image processing and computer vision. Topics include digital image fundamentals, geometric and photometric image formation models, image enhancement techniques, Fourier domain image analysis, image restoration, segmentation, edge detection, interpolation, stereo vision, motion estimation, color imaging, and image compression. There will be one midterm, one final, several homework assignments and one semester project. The homework assignments and semester project will require Matlab programming, which will be covered in the course as well. The course will be offered by Bahadir Gunturk.