Computer Science 200 Multimedia Computing
View the Python projects from Multimedia Computing (.pdf)
Computer Science 253 Theory of Computation
Lindenmayer Systems Lab (.pdf)
Short Stories with a Theory of Computation Theme:
- "The Tale of the Cursed Beekeeper" by Daniel Norris (.pdf)
- "Choose Your Own Adventure: How Much Power Do I Need?" by Ellen Wagner (.pdf)
- "The Not So Clever but Definitely Lazy CS Student" by Joe Pletcher (.pdf)
- "Beating Tetris" by Kenda Albertson (.pdf)
- "A Short Story" by Mark Wellons (.pdf)
- "Musical Analysis Proves Britney Spears is Not Like J.S. Bach" by Matt Snively (.pdf)
- "Theory of Travel Computation" by Rick Drushal (.pdf)
- "Chip's Mighty Challenge" by Robert Taylor (.pdf)
- "The Story of the TA" by Traian Andrei (.pdf)
- "The Lowry Caper" by Zachary Patterson (.pdf)
Computer Science 356 Computer Graphics
Abbreviated lab and project descriptions are provided below. All implementations use the OpenGL and GLUT APIs.
- Lab 1 Use all of the OpenGL graphics primitives to draw a 2D orthographic scene.
- Lab2 - Apply simple 3D rotations and translations to a smooth shaded GLUT quadric object.
- Lab 3 Use composed 3D transformations, input events, and an animation loop to simulate a "whirlygig" hierarchical object.
- Lab 4 Apply texture maps to simple GLUT or user defined objects.
- Lab 5 Investigate the OpenGL lighting model using emissive, diffuse and specular reflections for a positional light source.
- Lab 6 Draw hermite and bezier joined curves with C0 continuity.
- Group Project 1 Show the orthographic elevations of an architectural model.
- Group Project 2 Design a complex hierarchical 3D model of a "real world" object and create a "realistic" animation of the object.
- Group Project 3 Create a 3D world through which an observer may navigate.
- Group Project 4 Design a fractal terrain using Fourier's "diamond-square" algorithm. The terrain is colored based on elevation and is shadowed based on the light ray intersection with terrain polygons. Texturing, blending, or multi-texturing may be applied.