\tableofcontentsin your document. To put the table of contents at the beginning (where people expect to find it) just put it in after the
\maketitle
command. You should run LATEX at least twice
after you add the table of contents, since it takes two or three tries
to get the table of contents right--once to write all the page
numbers out to a file9, and a second time to include those numbers at the
beginning of the document, and possibly a third time if the number of
pages the table of contents occupies changes.
When you make major changes, LATEX may tell you that you need to run it twice. It is always a good idea to do this before you print the final version of a document, just to make sure everything is correct.