CSE 462/562 Computer Animation (Fall 2005, 2006, 2007)

I have been the teaching assistant for the Computer Animation course. This course covers the core subject matter common to the fields of robotics, character animation and embodied intelligent agents. The intent of the course is to provide the student with a solid technical foundation for developing, animating and controlling articulated systems used in interactive computer games, virtual reality simulations and high-end animation applications. The course balances theory with practice by "looking under the hood" of current games, animation systems and authoring tools and exams the technologies and techniques used from both a computer science and engineering perspective.

Topics covered include: geometric coordinate systems and transformations; quaternions; parametric curves and surfaces; forward and inverse kinematics; dynamic systems and control; computer simulation; keyframe, motion capture and procedural animation; behavior-based animation and control; facial animation; smart characters and intelligent agents.

Prerequisites: CSE 120 and Math 240. Some 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.

    Course projects I designed
  • I provide the students with the code frameworks, so that they can better understand and focus on the core algorithms.
  • Curve Editor. Video[1.2M]
  • BVH Player and Motion Blending. Video[17.3M]
  • Particle System Simulation. Video[2.3M]
  • Crowd Behavior Simulation. Video[6.9M]
  • Motion Capture and Motion Builder Authoring. Video[2.1M]

CSE 110/120 Introduction to Computer Science, programming with Java. (Fall and Spring 2004)

This is an introductory level class for those with no or some experience in programming. It will teach the core concepts of programming and the Java language as well as how to solve real-world problems computationally.

I was the teaching assistant for both classes. My responsibility is giving lectures in lab sessions, designing and grading homework projects, and hosting review sessions.