*Instructor: *Dr. Isabel K. Darcy

*Email*: idarcybiomath AT gmail.com

While other ideas are welcome (for example, creating your own software), most projects will focus on analyzing data. We will use a variety of software to perform topological data analysis including MAPPER, JAVAPLEX, PHOM, and DIONYSUS.

PHOM is an R package for calculating persistent homology and can run on Windows, Mac, and Linux. Both PHOM and R are freeware. Instructions on how to install R can be found in the R manual. More elementary instructions (specific to this course) will be made available. The software R is used in both industry and in undergraduate education due to the mathematical power of this freeware. It can also be linked to C, C++, and Fortran code.

While everyone should be able to run the freeware PHOM, the software MAPPER and JAVAPLEX both require access to matlab. Dionysus is a C++ library for computing persistent homology and cohomology. If you are taking this course for credit, you will have access to both matlab and C++.

I will do my best to match up those interested in analyzing data with those providing data. If you wish to analyze real data, let me know your interests, background, what you would like to accomplish, and how much time you are willing to devote. If you are providing data, please let me know your expectations for both yourself (how much time are you willing to provide advisement) as well as your collaborators from this course.

If you are collaborating with someone, you should decide as a group at the beginning of the semester how the work
will be divided and what you would like to accomplish. I will not require that you finish all (or even most
parts), but your collaborators can. The following is one potential project outline, but you may follow any
journal format you prefer. Note that while the ideal paper would include
all of the
following, **even published
papers do not include all (or even most) of the following**. You
and your collaborators will need to decide what to include.
**Writing an
article that is almost ready for submitting for publication to a good
journal (or developing good software or creating sufficient teaching material or etc.) will be sufficient for earning an A in
this class**.

NOTE: Even published papers do not include all (or even most) of the following. You and your collaborators will need to decide what to include.

- Abstract.
- Introduction: Briefly introduce the problem, techniques, and outline the paper. Try to use as few technical terms as possible (or reference section where defined).
- Background
- Problem description: Fully describe the problem. Describe how the data is created, what is its format, what are issues that one should consider (for example are their different types of noise), etc. Please keep in mind that people from a variety of backgrounds may be interested in your article, so please help them understand your data. Deeper mathematics can be applied if more people have a better understanding of the problem.
- Mathematical background: One can reference appropriate papers that describe the methods used in your paper or you can provide the background yourself. Including motivation specific to your problem would be particularly helpful.
- Results
- Data analysis. In either the results or discussion section, motivate your choice of software. Software often requires one to choose various values for different parameters. Motivate your parameter choices. Are these choices robust (for example, does one get similar results for different choices of parameter values).
- Discussion
- What do your results mean? This will depend on your application. For example, if you find a hole in your data, you might be able to determine exactly where that hole comes from as was done in Adam's and Carlsson's
- Compare your results to results using other types of data analysis tools.
- Validation: Part of validation includes motivating and determining the robustness of the choices you made when analyzing the data and comparing your results to previously published results. But another part is to determine if the results give you useful information for your particular problem. For example, a cluster found in
- Conclusion
- Acknowledgement You should acknowledge anyone who has provided significant feedback. If you publish the results of your project, please acknowledge this course. If I provide you with significant helpful feedback, you are also welcome to acknowledge me.

If you prefer to write software, there are many potential projects. One example (as suggested by Rama Kunapuli) would be to write a Sage interface to call the R subroutines in PHOM as well as the C++ subroutines in Dionysus.