We recommend typesetting solutions to CS103 assignments in LaTeX. LaTeX is the standard for typesetting CS/math/etc. papers, and will likely come in handy outside of this course. With each problem set, we will also release a LaTeX template. As mentioned in class, the use of LaTeX is not required - you are allowed to use any text editor of your choice (Microsoft Word, Google Docs, etc.) as long as you are able to export the final result as a PDF that can be uploaded to Gradescope.
LaTeX is a bit different from word processors you may be used to in that you write in a markup language that is then compiled into the final document. To do so, you will need to use a LaTeX editor.
We recommend using an online editor such as Overleaf. The provided TeX templates should work straight out of the box - just copy and paste the entire template into the editor. And if you're working with a partner, Overleaf allows you to collaboratively edit LaTeX documents (similar to Google Docs).
You can also install a LaTeX editor for your computer such as Texmaker, TeXStudio, etc. These can offer more customization but may require some additional setup.
You may see an error message saying You must have 'pygmentize' installed to use this package. If that is the case, you will first have to install Pygments (this is the package we're using to get syntax highlighting for the code snippets in the template).
After doing so, if you see a message like Package minted Error: you must invoke LaTeX with the -shell-escape flag, or if you're still seeing the same You must have 'pygmentize' installed to use this package despite having just installed it, you'll need to add the "-shell-escape" flag to the command that the editor uses to compile (using the PdfLaTeX distribution). Usually you can find this in the settings or configurations for the editor.
You may find yourself needing to draw a figure in LaTeX, such as drawing a finite automata. Here are some good resources specific to getting pictures in LaTeX.