Welcome to Computational Geometry, Fall 2021!
Computational geometry studies algorithms for problems that involve geometric data: (finite) sets of points, line segments and polygons. It is a young and growing field, driven by applications in graphics, robotics, autonomous vehicles, vision, image processing, and GIS. Some classical examples of geometric problems: Is a point inside or outside a polygon? Do two polygons intersect? Given a set of points in the plane, what is the closest pair of points? What is the smallest convex polygon that contains a set of points in the plane? What are all the points that fall in a given query range? What is visible from a point in a polygon? How many points are sufficient to guard any polygon? Given two sets of segments, what are their intersections? Given a set of points, what is their smallest enclosing circle? Given a set of polygonal obstacles, and a polygonal robot moving in 2D with translation and rotation, what is an efficient path between a start and end location? And many more. This class is an introduction to computational geometry and will cover some of the fundamental problems and techniques in the field.
Syllabus overview:
Prerequisites: Data Structures (cs2100), Algorithms (cs2200) and Systems (2310). In other words, knowledge of:
CS curriculum: This is a 3000-level class that
fullfills the Algorithms/Theory requirement, and also Projects requirement. Although it has lots of
programming, it is not a projects
class.
Discussion forum We will use Slack to facilitate communication and discussion outside of class. Please try to use this forum and avoid sending email ---- your classmates will benefit from seeing everyone else's questions and answers. You are encouraged to follow the posts on Slack and jump into the discussion. If you want to send me a private message, you can direct message (DM) me on Slack. Another nicer feature of Slack is that you'll be able to create your own channels for group work.
TAs:
Office hours:
Class webpage: http://tildesites.bowdoin.edu/~ltoma/teaching/cs3250-CompGeom/fall21/. This is hosted on my personal website at Bowdoin and will contain all class-related materials throughout the semester. You can bookmark this page or you can follow the link from my website. We will use the class Blackboard site very minimally.
Textbooks: There is no required textbook. The course is based on two classical textbooks, below. You can find them in Searles 224 (you're more than welcome to read them, but please do not take them out of 224).
Work and Grading: The work for the class will
come from programming projects (approximately biweekly), with class
engagement/participation serving as a tie breaker.
The assignments are weighed equally, so each one is worth approx. 14.3% of the final grade.
Collaboration policy: You can work alone, or you can pair with a partner (pair-programming).
There are many advantages to working with a partner (e.g. more fun, more learning, good skill for the "real world"), and I encourage you to try. You may also consider alternating between working alone and with a partner, and changing partners.
Remember that you are responsible for reading, understanding, and adhering to the policy. If you have any questions about any aspects of the policy, please do not hesitate to ask for clarification.