CSC 274
Discrete & Computational Geometry
(Spring 2020)

Joseph O'Rourke

Last Updated: 

DCG text

Syllabus Link

InstructorJoseph O'Rourke

Textbook: Discrete and Computational Geometry, S. Devadoss & J. O'Rourke.

Location: Ford Hall 241

Class Times: Wed & Fri, 9:25-10:40.

Office Hours: FH256, Mon & Tue afternoons: 2:45-5:00.

Overview: The field now called "discrete and computational geometry" (D&CG) sits at the intersection of pure mathematics—math pursued for its own sake—and applications-driven computer science. It is a vibrant, growing field, growing both in pure math (e.g., with new advances in computational topology) and in computer science applications (e.g., to computer graphics). My plan is to pursue the two sides of the D&CG coin in parallel, in a way that will interest math majors, computer science majors, engineering majors, and others. I will arrange that the assignments and exams have two "tracks," one emphasizing the mathematics, one the computation. The former will require proofs, the latter computer programs.

Prerequisites: Ideally a student should have taken both MTH 153 Discrete Mathematics and CSC 111 Introduction to Computer Science through Programming. However, the former is not necessary if the student emphasis the CS track, and the latter is not necessary if the student emphasizes the Math track. Calculus will help but is not essential. If you are uncertain about your preparation, please contact me.

How it "Counts": For CS majors, the course counts as a 200-level course covering either Theory or Programming (but not both). It can serve as a substitute for Algorithms, as I will teach basic algorithms (big-O notation, etc.) For Math majors the course counts as a 200-level elective, contributing 2 credits (not 4) toward the MTH major. For any student, the course carries the Latin Honors M designation.

Enrollments: The course has no enrollment limit.

Programming Language: For the CS majors, I will generally assume knowledge of Python, but in fact you can use any programming language you know. The material is in a sense language-independent. I will introduce Mathematica for everyone.

Course Structure:  We meet two times a week; there is no lab, although we will have "minilabs" during nearly every clas .  There will be one assignment per week, due (generally) each Tuesday at midnight. Ideally you get started over the weekend and can make use of my Mon & Tue office hours.. Collaboration is permitted—even encouraged—on assignments. Use name=274, pass=274 for web access-restricted files.

Submitting Assignments: Via the Moodle page for this course. (If you are registered for the course you should be automatically enrolled to access Moodle.)

Collaboration: Collaboration is encouraged on all aspects of the course except for the two take-home exam-assignments. You may collaborate in groups of 2 or 3 (but not larger groups). You need only submit one copy of the homework for the group. All members of the group get the same grade. I will treat individual submissions and group submissions identically.

Exams:  Two of the assignments will be one-week take-home "exams," which are very much like assignments except that (a) they focus more on understanding rather than "doing," they may have an associated (untimed) Moodle quiz, and (c) unlike assignments, there is no collaboration permitted. You can view the assignment-exams as more comprehensive assignments; they count roughly the same as a regular assignment.

Project: There is a final project, due on the last day of the exam period. (Here collaboration permitted.) Students must give a presentation on their projects in the last week of the course. A typical project would be a series of web pages that explains a particular topic or algorithm professionaly and thoroughly, something like an excellent Wikipedia entry.

Tutors: <none>


n Assignments (n~=6)
Class participation
2 Assignment-exams (take-home): 15% each
See also: Grading Numerology.

Corona Virus 2nd Half


Many aspects of the course will change. Let me first discuss grading. As you know, all courses Spring 2020 are now manditory S/U. But all instructors must submit letter grades as usual. So I will continue to grade each assignment, but I am aware that you might decide not to tackle certain questions in the assignments, and accept the lower grade. When you skip a question in an assignment, I'll give that question an E, numerically 55, and then I average as usual. So you can easily absorb that and still maintain an overall grade of S. It is perfectly fine by me for you to make these strategic skip-decisions, so don't worry about hurting my feelings.

Here is a revised grading table, an attempt to stick to the spirit of the original grading rubric, but adjusted for the new reality:

Assignments A1,A2,A3,A5
Class participation
2 Take-homes, A4, A6: 15% each
Project: A7, A8, A9

So A6 is your last technical assignment, treated as a Take-Home (even though it was originally designed as just a normal assignment). All the other "assignments" will be focussed on your project, as outlined in the Syllabus.

Assignments Due Dates


Obviously we cannot make 3D-prints, a disappointment! I've thought of some easier options for projects. See the Project Ideas link in the Syllabus. I have not thought through whether we should still have project presentations. I am thinking of: Every project producing a poster. What do you think of that idea?

Class Schedule

I'm going to try Wed & Fri @noon EDT, but let's see if this works. At least that will be the schedule for Apr 1st & 3rd.

Strike the above plan, in light of guidance from our Provost / Dean of the Faculty:

Provost Michael Thurston (24Mar): "I also want to urge faculty who are planning to conduct synchronous, real-time activities with their classes to hold those during the course’s scheduled time block. "

New plan:

All times EDT (GMT-4).

All via Zoom. In a more succinct display:

  Wednesday Thursday Friday
10:00-10:30 Class   Class
Noon-12:30+ Off Hrs Off Hrs Off Hrs
4:00-4:30+ Off Hrs Off Hrs  

The "+" means for as long as needed. I would like each of you to "show up" in one or more of the three on Wed & Fri.