\section{How to use this book}
\rm

Welcome to \emph{ProgramLive\/}! Or, rather, welcome to this paper
companion to the livetext \emph{ProgramLive\/}. This companion will
help you in learning to program, although you will spend most of your
time working with the livetext itself. \emph{ProgramLive\/} contains
the bulk of the teaching material: over 250 lectures with
synchronized narration and animation, along with an index, a glossary
that is unmatched in any other programming text, exercises and
projects.

\subsubsection*{Why this supplementary text?}

\begin{enumerate}
    \item \emph{ProgramLive} is nonlinear, and you can successfully
    learn to program by following its Activities in many different
    orders. This companion suggests an ordering and guides you through
    it. We have divided this business of learning to program into ten
    units which should take roughly 10 days each, and we include all
    the topics that are usually part of an introductory course. (Some
    topics, such as recursion, are taught only occasionally in a first
    course.)

    \item You may need a place to keep track of your progress. We have
    included charts to fill in, places to write definitions, and areas
    to take notes. This companion also contains summaries and short
    explanations. Therefore, this companion gives you a good paper
    version to use for review when you are away from your computer.
    Also, the first appendix contains a checklist of all the
    Activities and suggested homework, so you can keep track of what
    you have done.
    
    \item The appendices provide reference material. All of this material
    can be found in one form or another on \emph{ProgramLive\/} or
    on the web, but in some cases it is easier to use reference
    material that appears on paper.

\end{enumerate}


\subsubsection*{How to study}

There are two \textit{absolutely} necessary tasks that you must do 
when learning to program. They are:

\begin{itemize}
    \item \textbf{Take notes as you listen.} When listening to an
    Activity in \emph{ProgramLive\/}, pause it often, relisten to
    it where necessary, and \emph{take notes}. This companion
    will help you with that. When you are done with the livetext, most
    pages of this supplementary book should be covered with your
    handwriting. Use the margins as well as the outlined areas; write
    as much as you need to remember the material. \emph{ProgramLive\/}
    is the only place where you can have the lecturer
    repeat something as often as you like!

    \item \textbf{Write programs!} As soon and as often as you can,
    write a program and run it. Just as you can't learn to write
    poetry just by reading the works of Robert Frost, you can't learn
    to program just by reading our programs. This companion provides
    many exercises for you to cement what you've just learned.
    
\end{itemize}

Beginning a whole new area of study almost always calls for learning
new phrases and terms, and the area of programming is no different. We
encourage you to use whatever means necessary to master the new
terminology immediately, because it will be used over and over again
in later work. If you don't understand the terminology, you will not
understand later material.

When a new term is defined, write it down in a list, or put it on a
flashcard along with its definition, or rehearse saying the term and
its precise meaning ---do whatever it takes to make the term part of
your working vocabulary. This means \emph{studying\/}, and not just
reading and listening. Reading and listening do little good if they
are not followed by real study and practice. When you see a term that
you don't understand, look it up in the glossary and learn what it
means. Don't put off looking up a word; do it immediately.

All this requires more work on your part, but you will
find that you will learn the material far more effectively, and in
less time, than if you just read and listen.


\section{Diving in}

If you're like the younger Gries, you don't want to do the entire
first chapter of the livetext in order to learn all its features. Here
is the absolute minimum you should know about the livetext and how to
use it:
\begin{itemize}
    \item  Tools
    
    \item  Web
    
    \item  Homework
    
    \item  Labs
    
    \item  Navigation
\end{itemize}
You may use the 
\section{IDE}
The IDE you use  
    
   

