Time: Mon 2:30PM-3:20PM  (rescheduled due to Prof. James's conflict)
Location: PHL 403  (first class will be Sept 13)
Instructor: Prof. Doug James

Additional meeting time for students who can not attend the earlier time is:
    Time: Fri 11:15AM - 12:05PM  (first class will be Sept 17, however see materials posted on Sept 13, and comments in class)
    Location: OLH145

A goal of the graphics practicum is to architect a graphics program, typically in groups of 3-5 students, which is much larger in scope than those developed in CS4620. The topic of the Fall 2010 practicum, will be more self-directed than in previous years. Working with the instructor and other group members, you will propose graphics projects with clear technical components, design and implement the software infrastructure. The class will meet weekly to discuss progress, and satisfy project milestones. Class presentations will occur at mid-semester and the end of the course.

The programming language used is also flexible, but is typically either Java or C++.

A link to last year's practicum (with a greater emphasis on subdivision surfaces, and with less flexible project proposals) is here: CS4621 Fall 2009.


13,17  Introduction
20,24 Project brainstorming & formation of groups
Project proposal planning (due next Fri Oct 8)
Finalize project proposal (due Fri Oct 8 via CMS)
Fall break
Project feedback 
(No class Fri Oct 22)
Working class
Working class
Project Milestone Presentation
Working class
(No class Fri Nov 19)
Working class (Mon)
(Prof James @ Harvard + Thanksgiving)
Working class
Final Presentations
* Regular CS4620 class time/place (Thurs class)
Project submission (via CMS)

Final Project (Wed Dec 15)

Your final project should be submitted via CMS, and should include a formal written report, code, and results that demonstrate the effectiveness of your project.

The written report should be in PDF format (so that I can easily read it without random formatting issues), and should be structured as a CS technical report and include a bibliography. The report should clarify the topic and prior/related work, describe what you have done, implementation choices, and what was accomplished. You may write it in whichever format you wish, e.g., LaTeX, Word, or Google Docs, but output the final version in PDF.

Please include videos, images, and any other supporting material which help me evaluate the extent of your progress. Please do not rely on me to run your software. Make it easy for me to give you full credit. If you would like to give a demo of your more recent software, please email me to schedule a demo slot.

Milestone 1: Mid-Project Presentation (Week of Nov 8)

You will introduce your project (topic, goals, prior work, preliminary results) to the practicum class via a short presentation.  You should also demonstrate any implementation results that you have so far.

Milestone 0: Project Proposal (Due Fri Oct 8)

This 4–5 page document (in PDF) should cover the following aspects of your plans for your project:

  1. Define your project group.
  2. Introduction to proposed topic.
  3. Related work: Define the background academic/industry work (including references).
  4. Proposed work: Clarify what you will definitely do in the project, and sketch technical and software components. If possible, section the work into components to be done by individual team members.
  5. Optional work: What you hope to do (time-permitting).
  6. The software architecture you will use, including any particularly noteworthy parts. 
  7. Data structures used to support the more involved parts of the project, e.g., efficient editing of subdivision surfaces.
  8. Your plans for the user interface. For example, how will you handle selection and manipulation of vertices, edges, and faces? How will animation work? How will the UIs of your extensions work? Provide mocked-up screenshots, sketches, or other images to show what the UI will be like. 

Random ideas to start project discussions (by no means exhaustive!):

Sorting Topics (from SIGGRAPH 2008)

 Animation - 2D Techniques
Animation - Animation Systems
Animation - Animation with Constraints
Animation - Behavioral Animation
Animation - Cloth Animation
Animation - Collision Detection
Animation - Data Driven
Animation - Evaluation
Animation - Facial Animation
Animation - Fluid Modeling
Animation - Hair Animation
Animation - Human Simulation
Animation - Motion Capture
Animation - Motion Control
Animation - Motion Planning
Animation - Natural Phenomena Animation
Animation - Optimization
Animation - Physically Based Animation
Animation - Sound
Hardware - Architectures for Accelerated Graphics Computing
Hardware - GPUs and Graphics Hardware
Hardware - Model Acquisition and Scanning
Hardware - Novel Display Technologies
Hardware - Novel Input Technologies
Hardware - Parallel Computing
Imaging & Video - 2D Morphing & Warping
Imaging & Video - Annotation & Summarization
Imaging & Video - Color
Imaging & Video - Compression & Standards
Imaging & Video - Computational Cameras and Optics
Imaging & Video - Computational Illumination
Imaging & Video - Computational Photography
Imaging & Video - Halftoning & Dithering
Imaging & Video - High Dynamic Range Images & Tone Mapping
Imaging & Video - Image Databases
Imaging & Video - Image Processing
Imaging & Video - Interactive Editing
Imaging & Video - Matting & Compositing
Imaging & Video - Motion Estimation & Tracking
Imaging & Video - Multi-View & 3D
Imaging & Video - Segmentation
Imaging & Video - Shape Recognition
Imaging & Video - Stitching & Merging
Imaging & Video - Texture Synthesis and Inpainting
Interaction - Assistive Interfaces
Interaction - Display Technologies
Interaction - Haptic Interfaces
Interaction - Human Factors
Interaction - Human-Computer Interfaces
Interaction - Multimodal Interaction
Interaction - Pen-Based Interaction
Interaction - User Interface Design
Interaction - User Studies
Methods and Applications - Artificial Intelligence
Methods and Applications - Computer Games
Methods and Applications - Education
Methods and Applications - Entertainment
Methods and Applications - Machine Learning
Methods and Applications - Optimization
Methods and Applications - Robotics
Methods and Applications - Signal Processing
Modeling - Biological Modeling
Modeling - CAD
Modeling - Cloth Modeling
Modeling - Compression Algorithms
Modeling - Computational Geometry
Modeling - Constructive Solid Geometry
Modeling - Deformations
Modeling - Digital Geometry Processing
Modeling - Facial Modeling
Modeling - Fractals
Modeling - Geometric Modeling
Modeling - Hair Modeling
Modeling - Image-based Modeling
Modeling - Implicit Surfaces
Modeling - Mesh Generation
Modeling - Modeling Interfaces
Modeling - Natural Phenomena
Modeling - Object Scanning/Acquisition
Modeling - Parametric Curves & Surfaces
Modeling - Physically Based Modeling
Modeling - Point-based Graphics
Modeling - Polygonal Mesh Reduction
Modeling - Polygonal Modeling
Modeling - Shape Analysis
Modeling - Shape Blending/Morphing
Modeling - Shape Matching and Retrieval
Modeling - Solid Modeling
Modeling - Subdivision Surfaces
Modeling - Surface Parameterization
Modeling - Surface Reconstruction
Modeling - Typography
Rendering - Atmospheric Effects
Rendering - Global Illumination
Rendering - Illumination Rendering
Rendering - Image-based Rendering
Rendering - Natural Phenomena
Rendering - Non-photorealistic rendering
Rendering - Perception
Rendering - Ray Tracing
Rendering - Real-Time Rendering
Rendering - Reflectance & Shading Models
Rendering - Relighting
Rendering - Rendering Systems
Rendering - Sampling and Reconstruction
Rendering - Shadow Algorithms
Rendering - Texture Mapping
Rendering - Visibility Determination
Rendering - Volume Rendering
Virtual Environments - Augmented Reality
Virtual Environments - Immersive VR
Visualization - Information Visualization
Visualization - Medical Imaging
Visualization - Scientific Visualization