\documentstyle{report}

\pagestyle{myheadings}
\def\headlineaux{\sc Math 220/317: Programming II/Data Structures 
\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 220/317--S (Fall, 1995) \\
Time: Tu., Th. 3:05--4:20 P.M.\\
Room: MM 306
\end{flushright}
\end{minipage}

\begin{itemize}

\item {\bf Goals:}\\
This course will develop expertise with C programming in the
Unix system environment. It will introduce and explore the issues
of correctness and efficiency as they relate to computer programs.
To summarize, this course is about:
\begin{enumerate}
\item Programming.
\item Correctness.
\item Efficiency.
\end{enumerate}

\item {\bf Prerequisites:}\\
Students who have completed Math~110 and have taken Calculus~I
are prepared to take this course. These prerequisites can
be waived for students with other programming and math experience.

\item {\bf Textbooks:}
\begin{enumerate}
\item {\sc Practical C Programming,} Steve Oualline.
\item {\sc UNIX in a Nutshell for BSD 4.3,} O'Reilly \& Associates.
\item {\sc Lectures on the Logic of Computer Programming,} Zohar Manna.
\item {\sc Data Structures and Network Algorithms,} Robert Tarjan.
\end{enumerate}

\item {\bf Resources:}\\
You will be working on one of the Department's Unix servers
via remote login's. There are several ways to log onto the 
server over the University's network. The two most popular are:
\begin{enumerate}
\item {\em Get to the local prompt} by using a modem to call 284--6010
or by using an ISF computing facility. This achieved,
type {\bf c cs} to establish a connection.
\item {\em Use a telnet client,} such as a Mac located at an ISF or
a residential college computing lab, and open a connection to 
cs.cs.miami.edu.
\end{enumerate}
You will edit, compile and debug your programs on the server, and
you will use its email to receive assignments and ask questions.
We recommend the editor {\em pico} and the mail reader {\em pine}
for most students. More powerful editors are available but most
beginners find them difficult to learn.

Furthermore, you should learn how to get the department's 
Web-server using a Web Browser. Recommended but not required,
is the use of a software package we will develop this year to
interface your class assignments to the Web. 

\item {\bf Programming Assignments:}\\
There will be about eight programming assignments.
They will take between a week and two weeks each, and they must
be turned in on time.
Programming assignments and tests will account about equally for your grade. 
You cannot pass this course if you don't learn how to program.
Hence, you cannot pass this course if you don't do your programming
assignments.

\item {\bf Grading Programs:}\\
Programs are difficult to grade. Your documentation will aid the
grader in assigning points, especially when the program is not
completely working. Programs which do not compile are treated
harshly. Many students are under the delusion that only the compiler
stands in the way of successful completion of their programming
assignments. In fact, semantic correctness is miles down
the road from syntactic correctness, hence a non-compiling
program is certainly non-functional as well.

Programs will be graded as follows,
\begin{itemize}
\item[$\star$] 5 --- Program is excellent.
\item[$\star$] 4 --- Program is satisfactory.
\item[$\circ$] 3 --- Program runs but is not satisfactory. 
It may be that it breaks too easily, be incomplete or be badly written.
\item[$\circ$] 2 --- Program compiles but does not work.
\item[$\diamond$] 1 --- Program does not compile.
\item[$\diamond$] 0 --- No credible effort.
\end{itemize}

\item {\bf The Honor Code:}\\
The University of Miami has an Honor Code, and I intend to support
it fully in this class. It is not always clear what is acceptable
and what is not when student's share ideas and work. You can
discuss approaches to a problem and general observations about
computers and programming. When you code, however, you code alone.
Document your compliance with the Honor Code on each assignment
by copying it into the documentation of your programs.

\item {\bf Tests:}\\
There will be a midterm in class and a final during the usual
final period. Programming assignments and tests will count about
equally towards your grade.

\end{itemize}

\end{document}
