Course List
Credit: Stewart Hills, Karl Li, and Adam Mally |
CIS 277 - Introduction to Computer Graphics Techniques Prerequisite(s): CIS 120 This course is focused on programming the essential geometric and mathematical concepts underlying modern computer graphics. Using 2D and 3D implementations, it covers fundamental topics on scene graphs, computational geometry, graphics algorithms, and user interface design. Programming languages introduced include C++, OpenGL, FLTK and Python.
|
Credit: Nop Jiarathanakul |
CIS 460 - Computer Graphics Prerequisite(s): CIS 120, 121, and preferably CIS 277. Offered Fall 2010.
|
Credit: Matt Jones |
CIS 462 - Computer Animation Prerequisite(s): Previous exposure to major concepts in linear algebra (i.e. vector matrix math), curves and surfaces, dynamical systems (e.g. 2nd order mass-spring-damper systems) and 3D computer graphics has also been assumed in the preparation of the course materials.
|
Credit: Kai Kai Wang |
CIS 497 - Senior Project (DMD Students only) Prerequisite(s): Senior standing or permission of instructor. The goal of this course is to provide an opportunity for seniors to define, design, and execute a project of their own choosing that demonstrates the technical skills and abilities that they have acquired during their 4 years as undergraduates. Evaluation is based on selecting an interesting topic, completing appropriate research on the state of the art in that area, communicating your objectives in writing and in presentations, accurately estimating what resources will be required to complete your chosen task, coding necessary functionality, and executing your plan.
|
Credit: Peter Kutz |
CIS 563 - Physically Based Animation Prerequisite(s): Students should have a good knowledge of object-oriented programming (C++) and basic familiarity with linear algebra and physics. Some background in computer graphics is helpful.
Offered Spring 2011.
|
Credit: Daniel Garcia |
CIS 564 - Game Design and Development Prerequisites: Basic understanding of 3D graphics and animation principles, prior exposure to scripting and programming languages such as Python, C and C++.
Offered Summer 2010 and Fall 2010.
|
Credit: Fan Deng |
CIS 565* - GPU Programming and Architecture Prerequisite: CIS 460 or CIS 560, and familiarity with computer hardware/systems. The hardware/systems requirement may be met by CIS 501; or CIT 593 and 595; or CIS 240 (with CIS 371 recommended); or equivalent coursework. This course examines the architecture and capabilities of modern GPUs. The graphics processing unit (GPU) has grown in power over recent years, to the point where many computations can be performed faster on the GPU than on a traditional CPU. GPUs have also become programmable, allowing them to be used for a diverse set of applications far removed from traditional graphics settings. Topics covered include architectural aspects of modern GPUs, with a special focus on their streaming parallel nature, writing programs on the GPU using high level languages like Cg and BrookGPU, and using the GPU for graphics and general purpose applications in the area of geometry modeling, physical simulation, scientific computing and games. Students are expected to have a basic understanding of computer architecture and graphics, and should be proficient in OpenGL and C/C++. *This course is appropriate as an upper-level undergraduate CIS elective. Undergraduates who have satisfied the prerequisites are welcome to enroll. No permission from the instructor is needed. Not expected to be offered 2010-2011
|
CIS 568 - Game Design Practicum Prerequisites: CIS462/562: Computer Animation, CIS277 or CIS460/560: Computer Graphics Co-requisites: CIS564: Computer Game Design and Development The objective of the game design practicum is to provide students with hands on experience designing and developing 3D computer games. Working in teams of three or four, students will brainstorm an original game concept, write a formal game design document then develop a fully functional prototype consisting of a playable level of the game. In addition to creation of original art and animation assets for the game, technical features to be designed and implemented include a novel game mechanic and/or user interaction model, game physics (i.e. particle systems and rigid body dynamics), character animation, game AI (i.e. movement control, path planning, decision making, etc.), sound effects and background music, 2D graphical user interface (GUI) design and optional multiplayer networking capabilities. Consistent with standard industry practices, game code and logic will be written using C++ and popular scripting languages such as Python and Lua. State-of-the-art game and physics engine middleware also will be used to expose students to commercial-grade software, production methodologies and art asset pipelines. As a result of their game development efforts, students will learn first hand about the creative process, design documentation, object-oriented software design and engineering, project management (including effective team collaboration and communication techniques), design iteration through user feedback and play-testing, and most importantly, what makes a game fun to play.
|