From 7aa825614c88a2bb73989d8d938f078a6c7391b8 Mon Sep 17 00:00:00 2001
From: Peter Ward <peteraward@gmail.com>
Date: Thu, 6 Sep 2012 15:18:18 +1000
Subject: Stuff.

---
 docs/introduction.tex | 86 ++++++++++++++++++++++++++++++++-------------------
 1 file changed, 55 insertions(+), 31 deletions(-)

(limited to 'docs/introduction.tex')

diff --git a/docs/introduction.tex b/docs/introduction.tex
index 3f8d1d8..5a149b7 100644
--- a/docs/introduction.tex
+++ b/docs/introduction.tex
@@ -1,37 +1,61 @@
 \section{Introduction}
 
-I assume you know the basics of Python:
-printing stuff,
-if/elif/else,
-for and while loops and lists.
-That’s really all you need to follow along at least the first four sections,
-and then dictionaries will start to come in handy.
-
-If you have no idea what I was just talking about, \emph{don’t panic}.
-All that means is that you’re not quite ready for this yet,
-and you need to start by learning Python using some of these excellent
-resources:
+Before starting this tutorial, you should \emph{already} know the basics of
+Python. Specifically, you should know these bits of Python:
 \begin{itemize}
-    \item \url{http://openbookproject.net/thinkcs/python/english2e/}
-    \item \url{http://learnpythonthehardway.org/}
-    \item \url{http://docs.python.org/tutorial/}
-    \item Anyone you know who knows about Python, or is a programmer.
+    \item How to \py|print| things
+    \item \py|if|, \py|elif| and \py|else|
+    \item \py|for| and \py|while| loops
+    \item \py|list|s and \py|dict|ionaries
+    \item functions (\py|def|)
 \end{itemize}
-Don’t be discouraged if it doesn’t immediately make sense:
-programming can be difficult and frustrating,
-but if you put the effort in, it can also be a very rewarding, interesting and
-fun activity.
-
-If you are stuck with anything, Google it first.
-
-You’ll need to start by getting the code.
-The repository is at
-\url{http://hg.flowblok.id.au/snakegame},
-you can install it with pip:
-\begin{minted}{sh}
+
+\subsection{Help! I don’t know what these are…}
+
+If you have no idea what any of those things are, \emph{don’t panic}.
+All that means is that you’re not quite ready to follow this tutorial yet, and
+you need to learn the basics of Python first.
+There are many excellent \emph{free} resources for doing this:
+\begin{itemize}
+    \item How to Think Like a Computer Scientist \\
+        (\url{http://openbookproject.net/thinkcs/python/english2e/})
+    \item Learn Python the Hard Way \\
+        \url{http://learnpythonthehardway.org/}
+    \item The official tutorial in the Python documentation \\
+        \url{http://docs.python.org/tutorial/}
+\end{itemize}
+
+The most important resource to learn programming, however, are the people you
+know who are learning Python with you, already know Python, or some other
+programming language.
+You can spend hours trying to understand something in books and not get it,
+but ask another person to explain it, and it will all suddenly ‘click’ and make
+sense.
+
+\subsection{Yeah, I know what those are.}
+
+Excellent! Let’s get started then.
+
+If you’re doing this in some kind of programming class, your instructor may have
+provided you with a zip file (or similar) containing SnakeGame and pyglet.
+If so, follow their instructions for setting it up, and head straight on to
+Your First Bot.
+
+Otherwise, you’ll need to first install the code. The latest version of
+SnakeGame is available in a Mercurial repository at
+\url{http://hg.flowblok.id.au/snakegame}.
+You can install it using pip:
+\begin{shell}
 $ pip install hg+http://hg.flowblok.id.au/snakegame#egg=SnakeGame
-\end{minted}
+\end{shell}
+
+If you wish to have a pretty graphical viewer for watching the game being
+played, you will also need to install pyglet\footnoteurl{http://pyglet.org/}
+and/or pygame\footnoteurl{http://pygame.org}.
+
+\subsection{Skipping ahead}
 
-Each section starts with a Fast track note:
-if you know what you’re doing, just write a bot which moves according to what it
-says in the fast track note, and you can skip that section.
+If you already know Python, you will probably want to skip some sections of this
+tutorial. To make this easier, there is a \emph{Fast track} note at the start of
+each section: if you can write a bot which does what it says, you can safely
+skip that section.
-- 
cgit v1.3

