AlgorithmsData Structure and Algorithm Visualization
Editing filesAn Emacs cheatsheet.
As computer science students you should be used to things being needlessly complicated : ) LaTeX as a typesetting system is available on most systems as a set of command-line toolchains. That is, you can invoke them from the command line as you would any other Unix tools, and use the editor of your choice as a front-end (e.g., Emacs). (This part shouldn't really be complicated for most of you.)
There are a number of front-ends available for LaTeX (read: GUI, LaTeX-specific text editors) that are not necessary, but some prefer them to regular Unix editors. Note that you will need a LaTeX backend in order for the front-end to work (most packages are not bundled with the LaTeX base, which many new users don't expect and find confusing).
My personal preference is Emacs on a terminal (all the necessary support should be built in), but I'm leaving specifics up to you. Either way, everything you need is already supported in the UD Lab.
Linux for LaTeX and Graphviz (using sudo apt-get install package_name):
Typesetting with LaTeXLaTeX is the mathematical and scientific standard for typesetting written work. You can find an example with some markup here:
Typesetting Graphics with GraphVizYou can use graphviz to typeset your images (like FSAs) and include them in the above:
Typesetting NotesThe command line applications/arguments listed above are tuned for the UD lab setup. If you are working on a different system you may need to research different flags.