CS/SE 7301.003.20F — About this Course

This is a course on Computational Topology, a topic in algorithm design and analysis. The course will cover various topics in computational topology such as embeddings of graphs; fast algorithms for standard problems that take advantage of these embeddings; and simplicial complexes, simplicial homology, and persistent homology for topological shape inference. Other topics will be determined by the interests or experiences of the instructor and students. The official course syllabus can be found here. All policies from both the syllabus and website apply, but if there is a contradiction, then the syllabus takes preference (but do email Kyle so he can fix the issue!).

Announcements and updates to the schedule including recommended reading will take place on the main course webpage. Kyle will also make announcements on eLearning.

Live and recorded lectures as well as office hours will take place on MS Teams in appropriate channels within the "CS 7301.003 2208" team. Please email Kyle if you need an invite. Everybody is also encouraged to chat about lecture topics and homework, including asking questions with each other or Kyle in appropriate channels within teams. However, see below on the policies regarding collaboration for homework. Additional details on the course and its policies are given below. Do make yourself familiar with them to avoid confusion later. And be sure to carefully read the writing policies and advice so Kyle can fairly grade you for the work you do on the homework.

Welcome! I hope you find this course both interesting and useful.


The topics for this course are rather specialized and mostly follow Kyle's own interests and expertise, so there is no one textbook we'll use. Kyle will post material to read in the course schedule as appropriate.


Your grade will be determined by a combination of homework, a project proposal, and a final project report. Your grade will be determined by a weighted sum of these items as shown below. Grade cutoffs will be determined by looking at the distribution of scores in the class. However, there is no fixed curve, and this is a 7xxx level special topics course, so grading will be fairly lenient. If everybody performs well, then everybody can get top grades. Students are highly encouraged to talk to Kyle to get a better idea of where they stand before considering dropping the course.


Kyle will release three or four homework assignments throughout the semester. Student must request extensions for homework they need to turn in late. Extensions of up to 48 hours will be automatically approved. Longer extensions may be approved at Kyle's discretion based on the circumstances involved. These are difficult times, so please don't be afraid to ask.

Collaboration and submission

Homework assignments can be done individually or in groups of up to two students and turned in via eLearning. Since eLearning is not well-equipped to handle group submissions, a single member of each group should turn in their assignment, and we'll make sure everybody in the group gets the same score for the submission. Clearly write your name, the homework number, and the problem number at the top of every page. For example, you might write "August Möbius and Henri Poincaré, HW0 #2". In addition, start each numbered homework problem on a new page so Kyle doesn't miss any problems while grading.

I hope you will put in an honest effort to solve each homework problem without having to rely on resources outside of the course material. However, I also want to give you the opportunity to discuss class material with students outside your group and access other kinds of outside help as needed. If you use a solution from an outside source, such as a web page, a journal paper, a different algorithms textbook, or your mom, or if choose to work with students from the class outside your group, then you must rewrite the solution in your own words, and you must properly cite your source. Do not forgot to rewrite in your own words; the goal here is not to show Kyle what you found outside the course material, but to convince him that you actually understand it yourself. You may assume knowledge of the official course material or prerequisites without citation, but nothing else. Failure to cite other sources or failure to provide solutions in your own words, even if quoting a source, is considered an act of academic dishonesty, and Kyle will report suspected violations to the Office of Community Standards and Conduct.

A correct solution based on a cited source and written in your words is still worth full credit. When in doubt, cite your source! (That said, now would be a good time to mention that many of these course policies and the writing advice given here are taken from algorithms course websites by Jeff Erickson and Erin Wolf Chambers.)

There may be websites out there that offer solutions to some of the problems in the homework. Be very careful with these sites. The solutions are sometimes incorrect, and in cases where they are correct, they don't offer a full or understandable justification for what they are doing. If you find yourself frequently relying on outside sources, then you may not be putting enough effort into learning computational topology yourself, and your ability to use it outside the class will suffer.


Requests for regrades should be done within one week of an assignment or exam being returned. Please be considerate of whether your request is legitimate. All regrade requests must include an explanation of why you feel you were graded incorrectly. Regrade means regrade, so your score may actually decrease.

Course Projects

Please see this page for information on the class projects.