Algorithms in GIS (cs3225): Schedule
Here is a detailed schedule of the class, to be updated as the semester progresses:
Sept 1:
- Topics: Introduction and setup.
- Notes:
- Other useful materials:
Sept 6, 8, 13, 15:
- Topics: Data models in GIS and topological representation: Networks, grids, TINs and polygonal meshes. Raster and vector models.
- Notes:
- Assignments:
- Other useful materials:
Sept 20, 22:
- Topics: Hydrologic modeling on terrains (flow direction, flow accumulation, flooding, river and watershed hierarchy, sea level rise).
- Notes:
- Assignments: Working on assignment 2. You need to implement both the quadratic as well as an efficient algorithm to compute FA on the whole grid, run experimenst and be ready to discuss.
- Other useful materials:
Sept 27:
- Topics: Sea level rise.
- Notes:
- Assignments: Wrap up assignment 2 and fill the quick report sheet. Programming 3 (computing viewsheds) is posted.
- Other useful materials:
Sept 29, Oct 4th:
- Topics: Visibility on terrains (basic algorithm; viewshed via radial sweep; a detour through augmenting red-black trees; visibility and horizons; viewshed via a concentric sweep; total viewshed).
- Notes:
- Assignments: Work
on Programming
3 (computing viewsheds). Due before fall
break. Report sheet.
- Other useful materials:
Oct 6th, 13th:
- Topics: Parallel programming with OpenMP.
- Notes:
- Notes: OpenMP (html)
- Code: openmp
- We'll use the OpenMP hands-on tutorial by Tim Mattson from
Intel, available on YouTube
( link). You need to go through the first 10 videos
(modules 1 through 5).
- 01: intro (4.5 min)
- 02: part 1 (8 min) Module 1
- 02: part 2 (7 min) Module 1
- 03: Module 2 (5 min) compiling
- 04: Discussion 1 (10 min)
- 05: Module 3 (11.5 min) creating threads
- 06: Discussion 2 (11 min) the simple PI program in parallel
- 07: Module 4 (8 min) synchronization
- 08: Discussion 3 (5 min) overhead and eliminating false sharing
- 09: part 1 Module 5 (10 min) parallel loops
- 09: part 2 Module 5 (7 min) parallel loops
- 10: Discussion 4 (6.5 min) parallel PI program wrap -up
- Assignments:
- Programming 4 (parallel
viewshed with OpenMP). Due Tuesday 10/25 (or, when you are ready).
- Other useful materials:
Oct 18th:
- Guest lecture by Eileen Johnson (ES).
Time: usual class time
Location: Electronic classroom, HL
Eileen teaches GIS classes in the ES program. She will do a
hands-on tutorial on ArcGIS, including working with LiDAR data.
- Notes:
- Assignments:
- work on PA4 (parallelizing your viewshed)
- post questions on piazza
- Other useful materials:
Oct 20th:
- Meeting I with Peter Norvig and CS students and faculty.
Time: Class meets 2:30 to 4. Come if you can.
Location: Maine Lounge, Moulton Union
- Material:
- Assignments:
- work on PA4 (parallelizing your viewshed)
- post questions on piazza
Oct 25th, 27th:
- Topics: OpenMP exercises. LiDAR data in GIS. Preview of LiDAR to grid. Quadtrees.
- Notes:
- Readings/Internet:
- Assignment:
- Assignment 3 should be done and your times posted on piazza.
- This week you shoud be wrapping up assignment 4
- Read papers and prepare for a class discussion using the following questions review1 | review2
- Install LAStools (on a Mac, first get wine: brew install wine) and run lasinfo, lasview, lasground and lasdem on one las dataset.
Nov 1st, 3rd:
- Topics: LiDAR data and problems on LiDAR data. Memory-hierarchy-efficient algorithms. Quadtrees.
- Notes:
- Internet:
- Assignment:
- You should be running experimenst on the grid and thinking of false sharing and asking lots of questions on piazza. Who can obtain the best speedup on washington dataset?
- Assignment 5 (quadtrees) posted. Due on Thursday 11/10.
Nov 8th, 10th:
- Topics: Neighbor queries with quadtrees. Compressed quadtrees. Handling large data: Quadtrees and tiling. From point cloud to grid (las2grid). Surface simplification.
- Notes: quadtrees (II) | simplification
- Internet:
- Assignment:
- Assignment 5 (quadtrees) posted. Due on Thursday 11/10.
- read line simplification with Douglas Peucker algorithm; read paper on terrain simplification above
Nov 15th, 17th:
Nov 22nd:
Thu Nov 24th, Thanksgiving break
Nov 29th, Dec 1st, Dec 6th:
- Space filling curves slides
- Projects.
Dec 8th:
- Last class: Preliminary project demo.
Dec 18th, 2-5pm: