Explaining your project

In the previous step towards the final project, you proposed some topics that interest you. I have since returned your suggestions and given you feedback. (Email me if you haven't yet received the feedback.)

In this step, you will choose one of the two topics. You will explain (to me and to the class) what your project is. You will also research what SageMath can already do in the direction of your project and demonstrate it. I am not expecting you to do much programming on this. You may include code other people have written.

A few remarks:

  1. If you decide you would like to do something that you did not originally propose, please come up with something new and send me an email suggesting it. You may want to consult the previous assignment to recall what I was looking for. If this applies to you, please do this soon.
  2. I am open to people working in pairs. But, based on the last submissions, there did not seem to be much interest in collaborations. If you do want to collaborate: Please send me an email soon indicating so. In your email, please describe how you anticipate the labor on the project being distributed.

Detailed assignment:

This assignment has two parts.

Part 1 (Notebook draft):

You will be required to submit a draft of a Jupyter notebook, which contains both Markdown text and SageMath code. This will be due on Thursday, Nov 14th (submitted on blackboard).

Your notebook should:

  • Use Markdown to explain the topic of your project.
  • Explain what you hope to accomplish. What sort of problem do you hope to solve?
  • Demonstrate and explain how to use some features of SageMath that are useful to you project. These features should go beyond things that have been introduced in the course.
  • Cite the sources where you learned about these features. Sources could be websites, source code, and books. You should be citing anything that goes beyond programming techniques that have been introduced in the course so far. For example, you should cite our course textbooks if you use parts of the book we have not covered.
  • Explain how you hope to push beyond what you have already found Sage can do to make progress on your project.

At this point, there is no expectation that you do much coding on your own. For example, it is sufficient to demonstrate someone else's code that does something related to what you hope to accomplish. (But, of course, you must cite their work.)

I hope to return the notebook with comments by Monday, Nov 18th so that you get some feedback before Part 2.

Remark: The notebook will eventually be combined with a presentation. You can expect to be able to explain some of what you want to accomplish in words, and to make use of the small bit of chalkboard behind the screen. For this reason, the explaination in the notebook does not need to be fully detailed. However, it should be good enough for me to understand the problem.

Part 2 (Notebook and presentation)

You should refine your notebook submitted above (based in part on feedback received), so that it better accomplishes the goals outlined here. The final version of your “Explaining your project” notebook should be uploaded to blackboard by Sunday, November 24th.

You will give a 5-15 minute presentation on Monday, November 25th, where you:

  • Explain the topic to the class, at a level understandable by the class. Explain what you hope to accomplish in your project. Define the problem do you hope to solve. What would constitute a solution? What would constitute partial progress? Note that even a better understanding of a problem can constitute partial progress. The problem must be related to mathematics, but does not need to be purely mathematical. For example, visualizing something mathematical is certainly within the scope of the project.
  • You will have access to your notebook. You are expected to use it to demonstrate and explain how to use some features of SageMath that you anticipate will be useful to you project. These features should go beyond things that have been introduced in the course.
  • Your notebook must cite the sources where you learned about these features. See comments on citations in the previous part.
  • Explain how you hope to push beyond what you have already found Sage can do to make progress on your project. It is sufficient to do this orally.

If we run out of time on November 25th, presentations will continue on our next class day (December 2nd).

Grading Rubric for Part 2:

  • Organization (15%): The information was presented in a logical sequence. An appropriate amount of material was prepared. Length of the presentation was within the allotted time of 5-15 minutes.
  • Project explanation (25%): Your project was clearly explained. Necessary mathematical (and other) concepts were made clear at a level appropriate for students in the class. Necessary definitions were provided. Theorems were stated clearly. Examples were well chosen. Time spent on different topics reflects their relative importance.
  • Sage demonstration (25%): Sage code from your notebook was presented and explained at a level appropriate for students in the class. Ideas necessary to understand the code were clearly explained. The code works correctly, and is related to your project.
  • Notebook(25%): Sufficient information was included as Markdown in the notebook for me to understand your project goals. Your code demonstration is documented well enough that I can understand what it is doing without having to look at other sources. Appropriate citations are included.
  • Presentation clarity (10%): The speaker's voice was clear. If the chalkboard is used, the writing was clear. Code and Markdown in the notebook were readable.

Hopefully, the audience is clear. The presentation should be directed at the class. It is sufficient to address the notebook at the instructor, as long as sufficient commentary is provided in the presenation for students to follow what is going on during the presentation.

Grades

This portion of the project counts towards the Semester projects and presentations portion of the final grade. The previous project-related assignment counts for 20% of this grade, Part 1 above counts for another 20%, and the presentations and notebooks in Part 2 above will count for the remaining 60%.

Final Project and presentation

More details on the final project and presentation should be coming out soon. You should be starting to work on the final project by considering how to accomplish your goals, and how to program Sage to do more than what it already can in this direction.

I'm sure you will run into difficulties working with SageMath. As problems come up, reach out to me for help. Also feel free to get help from other students. It may also be possible to get some help on SageMath forums. You should cite any source of help you receive.

Possible References:

Here are some sources for learning more SageMath. You are of course free to use other sources.