CS 487/687 Final Project

For the final project, you will be asked to work on an open problem in Algebraic Computation or Symbolic Computation and present a survey about the problem and the outcomes of your investigations at the end of the term, or to present a survey of a topic of your choice (see some example topics below).

A coding project is also an option for the final project. In the coding project you will be asked to write code for a problem where the current algorithms have not yet been implemented. Most likely the coding project will be done with the language Macaulay 2. If you would like to do a coding project, please email me so we can discuss appropriate problems.

The ideal project would be a problem/topic that you are excited about - this often brings one the most joy. If you need some guidance in picking a problem to present on, I will be happy to meet with you to hone into a problem of your liking.

The topics below are simply a suggestion. If you have another topic of your interest which is not covered here, I will be happy to try and work out with you a possible project on your topic of choice.

Undergraduate students can do their final project in pairs, but it is not mandatory. I will leave it to you to coordinate the pairing for the final project.

Timeline for the final project

  • February 12th: project teams due
  • March 8th: project proposals due
  • April 18th: project reports due
  • April 19th-23rd: project presentations due

Template for final project

For the final project, we strongly recommend you to write your report in LaTeX. A template that you can edit accordingly is given here.

Project Presentations

The final project presentation will have a duration of 30 minutes per student. Each student is required to prepare and present individually. The timeline of the presentation is as follows: you will have 20 minutes to present what you did in your project and then we will have a 10 minutes of Q&A between you and me.

In the 20 minutes that you have to present, I expect you to prepare slides (whichever way you want to) to present to me the following:

  • What is the problem that you are studying
  • Why is the problem important (background, history, etc)
  • What is your main contribution (for instance, for survey projects, you will have to explain to me how the algorithm works - to a reasonable degree, no need to go too much in detail - I may ask questions later in the Q&A part)
  • Conclusion

To sign up to the time slots, please see the link posted on Piazza.

Research-based projects

I highly encourage you all to try your hands at an open problem! It is an amazing and enriching experience, and you may end up solving it by the end of the class!

For those of you who want to use this opportunity to start working on some research problems (perhaps as a pre URA or an URA), here are people that you can check out their webpages/try to reach out to, or resources at your disposal, for you to look for suitable projects:

A good strategy to find interesting open problems is to look at a particular faculty’s advanced graduate course’s webpage and see the topics they are interested in and the open problems in the area that they would be interested in. You can use your final project to get a deeper understanding in such an area where your interests match.

Possible Topics for Final Project

Previous