[Bowdoin Computer Science]

Csci 3225: Algorithms for GIS (Fall'14)


Lecture: Tu, Thu 1-2:25, Searles 126

Professor: Laura Toma
Office: Searles 219
Contact: ltoma at bowdoin dot edu, (207) - 725 - 3569

Prerequisites: csci 101 (Intro to CS) and csci 2101 (Data Structures), and 2200 (Algorithms).

Textbook (required): none.

Class webpage: http://www.bowdoin.edu/~ltoma/teaching/cs350/fall14/. Note that this is a link from my personal website at Bowdoin. This site will contain all class-related material along the semester. The class does not have a Blackboard site (I believe class information and materials shoud be public, not hidden behind logins).

Schedule: For useful links and detailed class schedule, check Syllabus

Course overview

Geographic Information Systems (GIS) are systems for storing, displaying and analyzing geographically referenced, or geospatial data. GIS started many years ago with primitive systems that served mainly to visualize maps. In the past twenty years, with the growth of computer technology and the explosion of digital data, GIS have seen a tremendous growth and have established as a field of its own. GIS are used by a growing number of people in earth, atmospheric and oceanographic sciences. Routine GIS tasks range from visualization, to sensor monitoring, to modeling of phenomena like flow, radiation, erosion, deposition, infiltration, visibility, to network computations like shortest paths.

For the disciplines that use GIS, the study of GIS usually starts with the study of the functionality provided by the standard GIS packages to manage and analyze data and model specific problems. For example, a city planner may want to find the best location to host an ugly construction. To this end, she might ask: What data is available? How can all the layers of data be integrated? WHat sort of functions may be provided by a particular GIS that can be used for this problem?

For Computer Scientists, GIS is a rich source of problems, spanning from theory, to data bases, networks and systems and algorithm engineering.

This class explores some of the fundamental problems encountered in GIS from an algorithmic point of view. The class is an elective, "projects" class and involves a significant amount of programming, culminating with a project.

Course goals:

From a systems point of view, someone who completes this class is expected to: More broadly:

Office hours and TAs

Office hours (Toma): Tu, Th 2:30-4pm

For quick questions you can drop by any time the door is open. If you cannot come during these times, send me an email to make an appointment. For specific questions on the assigments, I encourage you to talk to the TAs first and attend at least one of the study groups. They hold study groups for YOU!

TAs: Josh Imhoff

Homeworks, Exams and Grading policy

Quizes: There will frequent (at least weekly) in-class quizes. Quizes will be short and will test basic understanding of concepts.

Homework:Throughout the semester there will be small programming or reading assignments.

Exams: There will be no exam.

Project: The first half of the class is for a broad presentation of some basic algorithmic problems in GIS. The second part of the class is for in-depth presentations (based on your interests), and projects. I will compile a list of suggested project topics. Half-way through the semester you will chose a project (either from this list or your own), discuss it with me, make a proposal, present it to class, and then you got roughly half of the semester to work on it. During this time there will be regular check-ins.

Collaboration policy: You are encouraged to find a partner for the project. At the end I will discuss with each member of the team individually to determine if the contribution of the memebrs of the team were equal and the collaboration was fair.

Grading policy: The final grade is determined as follows:

Course topics