There are a number of great resources for programming contest practice. You may find several linked in our references page, and we hope to continue expanding these connections. While there are a number of great print books out there specifically written for contest training and many additional resources that are worth noting (algorithms texts, discrete math text, language references, etc.) we feel like an online resource could provide the most expansive treatment of contest-related resources. We are also not bound to any printing or versioning schedule, and we feel that this flexibility is an asset.
As coaches we also find ourselves sharing similar information year after year – in practice sessions, in online discussions, etc. By putting the guidebook together we hope to create a single, enduring record of our thoughts and ideas. We also see no reason to keep this work internal because we are educators. By our very nature we wish to continue advocating for the spread of information.
Finally, we are strong proponents of free and open source materials, so we wished to create something that anyone could use or adapt as they saw fit without any additional monetary investment up front.
The goal of the guidebook is to serve as quick reference during actual contests and contest training. For the guidebook to be useful for reference purposes, we hope to create several conventions:
While the guidebook is most likely going to originate out of the efforts of UT Martin professors/coaches and students, we hope to eventually have additional volunteers assisting with guidebook development.
# x=5, y=6, z=[1,2,…,100]
tells the user everything about the updates to variables on that line.files:
namespace (or in a more appropriate location) so readers can verify your results.''
quotes for all source in paragraph, <code>
or <file>
tags where appropriate.//
for emphasis, highlighting industry terms, and variable names as a cheap (LaTeX) math mode replacement.<sup></sup>
), special symbols from the editor (e.g., ξ, ∑).>>>
for Python, $
for arbitrary Linux shells (e.g., Bash).