\documentstyle[12pt]{report}

\pagestyle{myheadings}
\def\headlineaux{\sc Math 322: C Programming and Unix
\hrulefill
}
\markboth{\headlineaux}{\headlineaux}

\setlength{\textwidth}{6.25in}
\setlength{\oddsidemargin}{0in}
\setlength{\evensidemargin}{0in}

\begin{document}

\begin{titlepage}
Blank Page
\end{titlepage}

\begin{minipage}{2in}
Prof. Burt Rosenberg \\
Ungar 523, x--2575 \\
Office hours: TBA.
\end{minipage}
\hfill
\begin{minipage}{3in}
\begin{flushright}
MTH 322--S (Fall, 1994) \\
Time: Tu., Th. 3:05 -- 4:20 P.M.\\
Room: MM 306
\end{flushright}
\end{minipage}

\begin{itemize}

\item {\bf Goals:}\\
In this course we will learn C Programming, the Unix system library,
and the Unix program development environment.

\item {\bf Prerequisites:}\\
Students should already have some programming experience in some
high level language.

\item {\bf Text:}
\begin{enumerate}
\item {\sc A Book on C} by Al Kelly and Ira Pohl.
\item {\sc Unix for Programmers and Users} by Graham Glass. 
Prentic-Hall, 1993. ISBN 0--13--480880--0.
\end{enumerate}

\item {\bf Computer Facilities:}\\
You will be working on Impala.ir.miami.edu,
a DEC Station 5000 administrated by Information Resources
and running Ultrix, DEC's version of BSD Unix.
Accounts will be created on this
computer for each student enrolled in this course.
Handouts about log in, commands, editing and email are provided 
by Information Resources. 

\item {\bf Unix:}\\
Here are the important commands for unix programming:
\[\begin{tabular}{|l|l|} \hline\hline
\verb,ls -l, &  List your directory.
\\ \hline
\verb,man ls, &  Get manual page for ls, or some other program.
\\ \hline
\verb,passwd, &  Change your password.
\\ \hline
\verb,rm, {\em filename} &  Remove filename.
\\ \hline
\verb,more, {\em filename} &  Display your file.
\\ \hline
\verb,lpr, {\em filename} &  Print your file.
\\ \hline
\verb,vi, {\em filename} &  Edit your file.
\\ \hline
\verb,cc, {\em filename} &  Compile your program.
\\ \hline
\verb,a.out, &  Run your program, default executable name.
\\ \hline
\verb,logout, &  Logout.
\\ \hline
\end{tabular}\]

\item {\bf Editing:}\\
Vi has two modes, {\em command} and {\em text}. Type in text mode,
edit in command mode.  Here are some important commands for vi:
\[
\begin{tabular}{|l|l|}\hline\hline
\verb. i, a, o. & Command mode $\rightarrow$ text mode. 
Insert, append, open.
         \\ \hline
\verb.[ESC]. & Text mode $\rightarrow$ command
mode.
         \\ \hline
\verb.h, j, k, l.& Move left, down, up, right. \\ \hline
\verb./.{\em pat}\verb., ?.{\em pat} & Search forward, 
reverse, for {\em pat}
         \\ \hline
\verb.:wq, :q!. & Write and quit, quit without writing.
         \\ \hline
\verb. x, D, dd. & Delete character, to end of line, this
line.
         \\ \hline
\end{tabular}
\]

\item {\bf Directories:}\\
Here are some commands for managing the directory hierarchy:
\[\begin{tabular}{|l|l|}\hline\hline
\verb.pwd. & Print current directory. 
\\ \hline
\verb.cd. & Change to home directory.
\\ \hline
\verb.cd. {\em  dirname} & Change directory to directory {\em dirname}.
\\ \hline
\verb,cd .., & Change to parent directory.
\\ \hline
\verb,cd /, & Change to root directory.
\\ \hline
\verb,rmdir, {\em dirname} & Remove directory {\em dirname}.
\\ \hline
\verb,mkdir, {\em dirname} & Make directory {\em dirname}.
\\ \hline
\end{tabular}\]

\item{\bf Assignment Zero:}\\
Write the ``Hello World'' program in C on Impala. Compile and run it.

\end{itemize}

\end{document}
