Date  Topic  Reading  Assignment 
Jan 22  Introduction.
The C programming language. C: Input/output, loops, functions, call by value. 
Chapter 1 K&R
Overview (from Geometry Algorithms) Applications of Computational Geometry (from MIT) The C programming language (wikipedia) The C programming language The history of C 

Jan 24  C: Pointers.  K & R  Assignment 1 (DHlinked list) 
Jan 29  C: Pointers. Header files.  GNU Emacs reference card
Emacs quick reference 

Jan 31  C: More C (scanf, strings, Makefiles, compiling, command line arguments).  K & R  Assignment 2 (shifting segments) 
Febr 5  OpenGL basics. 
Example: graphics1.tar 
graphics2.tar
The Red Book: Chapter 1 (Intro)  Chapter 2 (Drawing simple objects) 
Assignment 3 (OpenGL warmup) 
Febr 7  OpenGL rendering (modelview and projection, order of transformations). 
Red Book: Chapter 3 (Viewing)  Assignment 4 (OpenGL, planets or robot) 
Febr 12  2D and 3D transformations. Homogenous coordinates.  Red Book: Appendix G  Assignment 5 (texture and lighting in previous assignment). 
Febr 14 
Visibility: rayshooting vs. object space. Painter's algorithm. OpenGL zbuffer algorithm. 
Project 1 (Visualize TIGER2006 data) (due Febr 26)  
Febr 19  BSP trees  BSP who? (from Smith)  
Febr 21  BSP trees  BSP faq  
Febr 26, 28  Project 1 demo
Btrees. (a, b)trees. 
Btree (Wikipedia)
Btrees (from Sedgewick, Princeton) Animations: Btree  234trees 

March 4  Btrees. (a,b)trees.  
March 6  Project 2 discussion.  Project 2 (SP on TIGER data)  
March 11, 13  Spring break.  
March 18, 20  Spring break.  
March 25  Modeling flow on terrains.
Terrain guarding. Terrain meshing and simplification. 
Richard Stallman & GNU. Stallman interview. Free software foundation.
Opensource software. Live and let license Linus Torvalds and Unix. 
(Due: Project 2 flowchart) 
March 27  Quadtrees.  Additional reading: bibliography
Demos: Region qdt  PR qdt  Spatial demos Applications: Terrain flythrough  Image representation  Collision detection 

April 1  Applications of Quadtrees.  (Due: Project 2 adjacency list of RT1 data)  
April 3  Spatial data (points, lines, polygons, rectangles) and spatial
data problems (range searching, intersctions, nearest neighbors,
containment, location). First shot: Grids and bucketing. 
(Due: Project 2 mouse clicking)  
April 8  Shortest paths and Dijkstra's algorithm.  
April 10  Levelofdetail (LOD) rendering.
Discussion: LOD on Tiger data using quadtrees. 
Readings:

(Due: Project 2 shortest paths)
Assigned: Project 3 (LOD on TIGER data) 
April 15  Discussion: LOD on Tiger data using quadtrees.  
April 17  Shortest paths algorithms.  Readings:
 
April 22  Improving and engineering shortestpath queries in road networks.
Range searching. 1D: binary search tree. 2D: The kdtree. Range tree. 
Readings:


April 24, 29  Rtrees and boundingvolume hierarchies.  Readings:

due April 29: construct and visualize tiles (Project 3 part 1) 
May 1  The R*tree. Spacefilling curves. The HilbertRtree.  Rtree demo (from UMD, by Hanan Samet)  
May 6  More on Rtrees and spacefilling curves.
Class overview. 
The Rtree portal
Readings: Sample chapters from Rtrees: Theory and Applications by Manolopoulos, Nanopoulos, Papadopoulos, Theodoridis: 

May 14, 25pm  Final project demo and presentations. 
Other topics: