[courses.]
my teaching in computer science is in the field of computer graphics: shape modeling, video game design, rendering, opengl, physically-based animation, user interfaces, and related programming paradigms, languages, APIs and datastructures. If you are interested, you can access some of my previous game design/programming websites.
[spring 2012.]


CS 673

Video Game Design and Programming

This graduate seminar is about experimental gameplay in video games. We will explore the concept of meaningful play and its relation to video game design through the creation of a few very focused game prototypes using a variety of game engines such as XNA, flixel and Unity 3D. This will allow us to build a better understanding of what makes games interesting, and how game mechanics and systems can be developed and iteratively improved by means of rapid prototyping and play-testing. Video games encompass many fields of computer science, such as computer graphics, information visualization, human-computer interaction, artificial intelligence, software engineering and data structures, and are also very relevant to the perceptual and cognitive sciences. We will discuss how video games incorporate technologies and theories to form an interactive and unique medium in its own right.

course website

[spring 2011.]


CS 523: Computer Graphics

Shape Modeling

Digital 3D content creation is in high demand in the film and gaming industries, product design and manufacturing, architecture, surgical simulation and planning, medical prosthesis design and more, and it is backed up by affordable 3D acquisition technologies. Yet, shape modeling tasks, such as creation, editing, deformation and animation, remain extremely laborious, requiring artistic skills and high technical expertise. This course will survey state-of-the-art shape modeling research that aims at broadening our knowledge and understanding of shapes to create better digital modeling tools, and explores ways to communicate the human intentions of shape manipulation to the computer in a natural and effective manner. The course will begin by covering some introductory topics in geometric modeling, with an emphasis on discrete geometry processing: digital shape representations and related data structures, shape acquisition and reconstruction, smoothing and denoising, parameterization, remeshing. The course will then concentrate on recent shape creation and manipulation research, touching on variational modeling techniques, space deformations, sketch-based modeling interfaces, shape interpolation and skeleton-skin animation of articulated bodies. The necessary mathematical tools will be presented along the way (these include topics in linear algebra, differential geometry and optimization).

course website

[fall 2010.]


CS 428

Introduction to Computer Graphics

This course aims to provide a broad introduction to the field of Computer Graphics, and to describe the techniques that are commonly used in the graphics industry today (such as in production of special effects, computer animation, video games, and virtual reality). This course is combination of algorithms, numerical methods, representations and models of the shape and appearance of real-world objects, and methods for their display and manipulation. It involves a lot of programming, and requires a certain degree of mathematical sophistication (in linear algebra, specifically). But it's also a lot of fun. No artistic skill is required, but it does come in handy. An introduction to the field of computer graphics: displays, image formation, visual perception, images, transformations (viewing and projection), programmable pipelines (vertex and fragment programs), modeling (primitives, polygon meshes, smooth curves and surfaces, CSG, procedural models), animation (keyframing, procedural), rendering and realism (visibility, lighting, shading, shadows, texturing, ray tracing).

course website

[spring 2010.]


CS 672

Video Game Programming and Design

This graduate seminar is all about experimental gameplay in video games. We will explore the concept of meaningful play and its relation to video game design through the creation of a few very focused game prototypes using a variety of game engines such as XNA, flixel and Unity 3D. This will allow us to build a better understanding of what makes games fun, and how interesting game mechanics and systems can be developed and iteratively improved by means of rapid prototyping and play-testing. Video games encompass many fields of computer science, such as computer graphics, information visualization, human-computer interaction, artificial intelligence, software engineering and data structures, and are also very relevant to the perceptual and cognitive sciences. We will discuss how video games incorporate technologies and theories to form an interactive and unique medium in its own right.

course website

[fall 2009.]


CS 428

Introduction to Computer Graphics

This course aims to provide a broad introduction to the field of Computer Graphics, and to describe the techniques that are commonly used in the graphics industry today (such as in production of special effects, computer animation, video games, and virtual reality). This course is combination of algorithms, numerical methods, representations and models of the shape and appearance of real-world objects, and methods for their display and manipulation. It involves a lot of programming, and requires a certain degree of mathematical sophistication (in linear algebra, specifically). But it's also a lot of fun. No artistic skill is required, but it does come in handy. An introduction to the field of computer graphics: displays, image formation, visual perception, images, transformations (viewing and projection), programmable pipelines (vertex and fragment programs), modeling (primitives, polygon meshes, smooth curves and surfaces, CSG, procedural models), animation (keyframing, procedural), rendering and realism (visibility, lighting, shading, shadows, texturing, ray tracing).

course website

CS 500: Light Seminar

Computer Graphics: Modeling, Animation and Games

The seminar/reading group is designed as our weekly lab meetings, where members will present and discuss their work. From time to time we might have visitors (invited talks), but in general this meeting is meant to help all members of the lab with their research. Additionally, we will be reading and discussing papers from other labs, usually published at the annual SIGGRAPH venue. The readings can (and should) be suggested by participants, but they should also be somewhat related to our general topics of shape modeling, deformation, animation, and video game programming and design.

course website

Rutgers University Afternoon Workshop

Everything You Always Wanted to Know About Video Game Design

In this workshop, we will explore the concept of meaningful play and its relation to video game design through a number of practical examples. This will allow us to build a better understanding of what makes games fun, and how interesting game mechanics and systems can be developed and iteratively improved by means of rapid prototyping and playtesting.

workshop slides

[spring 2009.]


CS 195: Honors Seminar in Computer Science

Video Game Design

Experimental gameplay in video games has experienced a renaissance in the past few years. In this course, we will explore the concept of meaningful play and its relation to video game design through essays, talks and game design vocabularies, as well as a number of practical examples. Taken as a whole, these pieces will allow us to build a better understanding of what makes games fun, and how interesting game mechanics and systems can be developed and iteratively improved by means of rapid prototyping and playtesting. From a technical point of view, video games encompass many fields of computer science, such as computer graphics, information visualization, human-computer interaction, artificial intelligence, software engineering and data structures. And even though this course is not primarily about these technical details, we will discuss how video games incorporate these technologies to form an interactive and unique medium in its own right.

course website



CS 523: Computer Graphics

Shape Modeling

Digital 3D content creation is in high demand in the film and gaming industries, product design and manufacturing, architecture, surgical simulation and planning, medical prosthesis design and more, and it is backed up by affordable 3D acquisition technologies. Yet, shape modeling tasks, such as creation, editing, deformation and animation, remain extremely laborious, requiring artistic skills and high technical expertise. This course will survey state-of-the-art shape modeling research that aims at broadening our knowledge and understanding of shapes to create better digital modeling tools, and explores ways to communicate the human intentions of shape manipulation to the computer in a natural and effective manner. The course will begin by covering some introductory topics in geometric modeling, with an emphasis on discrete geometry processing: digital shape representations and related data structures, shape acquisition and reconstruction, smoothing and denoising, parameterization, remeshing. The course will then concentrate on recent shape creation and manipulation research, touching on variational modeling techniques, space deformations, sketch-based modeling interfaces, shape interpolation and skeleton-skin animation of articulated bodies. The necessary mathematical tools will be presented along the way (these include topics in linear algebra, differential geometry and optimization).

course website

Rutgers University Afternoon Workshop

Everything You Always Wanted to Know About Video Game Design

In this workshop, we will explore the concept of meaningful play and its relation to video game design through a number of practical examples. This will allow us to build a better understanding of what makes games fun, and how interesting game mechanics and systems can be developed and iteratively improved by means of rapid prototyping and playtesting.

workshop slides