Here are some resources which you may find helpful at some point during our course.
Course Logistics
Resources for Mathematical Writing and Typesetting
- Guidelines for Good Mathematical Writing, written by Francis Su.
- If you plan on typesettinging any of your solutions for this class, I highly recommend using LaTeX (prounced “Lay-tek” or “Lah-tek”). You are neither required nor expected to learn LaTeX for this class — the much easier option is to neatly hand write your solutions, as Gradescope allows you to upload either images or PDFs. However, LaTeX is somewhat of an industry standard for research in math and many sciences, so you may find it useful to pick up. If you do want to try LaTeX, here are some resources that might help:
- Overleaf is an online LaTeX editor that is one of the more straightforward ways of getting started. Do note that Overleaf has recently been limiting compile times on the free plan, although that should not be an issue for this course.
- If you do want to consider setting up a local installation, you will need to install a TeX distribution, which will depend on your operating system: Both MikTeX and TeX Live are available across all 3 platforms (MikTeX was recently ported to macOS and Linux). Functionally, any installation you can get running on your computer should work just fine. It is also recommended that you install a TeX editor if your install does not include one — these offer functionality like rendering pdf output in a separate window that more general-purpose text editors typically don't.
- New to LaTeX guide on Overleaf
- An introductory guide to LaTeX that I helped write. While this was intended for discrete math students, much of the content will still be applicable in our course.
- A guide to drawing DFAs in LaTeX using the TikZ package.
- Detexify is a tool that you can use to look up the TeX command for hand-drawn symbols.
- Typst is a recently developed typesetting system which uses a markup language. I don't have much experience with it and therefore can't outright recommend it. However, it does seem better for typesetting math than Word, while still being simpler than LaTeX. If you do choose to go this route, I won't be able to provide much assistance if you encounter problems, but I would be interested in hearing your thoughts on the system.
- An online tool to help draw diagrams for finite automata. You can export your diagrams as images, or even TikZ code!
Other related material
- A survey by Scott Aaronson detailing the current state of the P vs. NP problem.
- The Complexity Zoo is a fairly comprehensive network of complexity classes and known inclusions between them.