\documentstyle[12pt]{article}

\setlength{\evensidemargin}     {0pt}
\setlength{\oddsidemargin}      {0pt}
\setlength{\topmargin}          {-30pt}
\setlength{\textheight}         {8.5in}
\setlength{\textwidth}          {6.5in}

\begin{document}

\begin{center}

{\bf \Large
66-2230-01 Programming in Perl }

{\bf \large
Spring 1998, Wednesday 5-6:50 PM, March 18 - April 29, DCC 324
}

\end{center}


\begin{center}
\begin{tabular}{rlrll}

Instructor:   & Louis Ziantz       & T.A.: & Yu Jiang & Zhong Zhang \\
Office:       & AE 427             &       & Sage 1112 & AE 316W \\
Office Hours: & Tue 12-2           &       & Mon 10-12 & Wed 2-4  \\
              & Fri 1-3            &       & Wed 10-12 & Thur 3-5 \\
              & and by appointment &       & and by appt. & and by appt. \\
Phone:        & (no office phone)  &       & x4849 & x8057 \\
E-mail:       & ziantzl@cs.rpi.edu &       & yujiang@cs.rpi.edu & zhangz@cs.rpi.edu  \\

\end{tabular}
\end{center}

\vspace{0.2in}

\noindent
{\bf Prerequisites: } The formal prerequisite for this course is
66.110 or 66.112 ({\em Computer Science I}) which is currently taught
using C++.  However, knowledge of at least one high-level programming
language ({\it e}.{\it g}., C, Pascal, or FORTRAN) is also a
satisfactory prerequisite.  If you have no knowledge of any high-level
programming language or have never taken an introductory course in
computer science, I would advise {\em against} taking this course.

\vspace{0.2in}

\noindent
{\bf Course Home Page: } \verb#http://www.cs.rpi.edu/~ziantzl/perl.html#

\vspace{0.2in}

\noindent
{\bf Required Textbook: } \\

{\em Learning Perl, 2nd Edition} \\
\indent
R. L. Schwartz and T. Christiansen, O'Reilly, 1997.

{\em Programming Perl, 2nd Edition} \\
\indent
L. Wall, T. Christiansen, and R. L. Schwartz, O'Reilly, 1996.

\vspace{0.2in}

\noindent
{\bf Test Schedule:} 

\begin{center}
\begin{tabular}{|c|c|c|} \hline
Date       & Time      & Description \\ \hline
Wednesday, April 8 & 5-6:00 & Test \\ \hline
Wednesday, April 29 & 5-6:50 & Exam \\ \hline
%% set aside first hour for review on Oct. 20
\end{tabular}
\end{center}


\vspace{0.2in}

\noindent
{\bf Grading: } There will be a homework, two programming assignments,
a test, and an exam.  Weights are shown on the
following chart:

\begin{center}
\begin{tabular}{|c|c|} \hline
Component      & Percentage \\ \hline
Homework/Projects  & 50 \% \\ \hline
Test       & 20 \%  \\ \hline
Exam       & 30 \%  \\ \hline
%% set aside first hour for review on Oct. 20
\end{tabular}
\end{center}
 
\pagebreak
          
Grades will be assigned based on the following scale:

\begin{center}
\begin{tabular}{|c|c|} \hline
Score    & Grade \\ \hline
90--100  &  A  \\ \hline
80--89   &  B  \\ \hline
70--79   &  C  \\ \hline
60--69   &  D  \\ \hline
0--59    &  F  \\ \hline
\end{tabular}
\end{center}

\vspace{0.2in}

\noindent
{\bf General Course Policies: } 

\begin{itemize}

  \item You are responsible for all material covered in class.

  \item Example code and other course material
  may be found on the course web page.

  \item Questions regarding the final course grade should be directed
  to the instructor.

%%  \item A drop for a one-credit course must be done within the first
%%  two weeks of the course.

  \item {\bf Any grading dispute must be resolved within ONE WEEK
  after the graded work was returned to the class.}

\end{itemize}

\vspace{0.2in}

\noindent
{\bf Course Policies Regarding Exams: } 

\begin{itemize}

  \item An exam may test any material covered in class, in the
  assigned reading, or associated with assignments.

  \item There is no collaboration of any kind allowed during exams.

  \item Students who are forced to miss an exam must notify the
  instructor {\bf IN ADVANCE}.  Valid reasons for missing an exam
  include a family emergency, serious illness, required travel with
  an institute sports team or club, or a letter of excuse from the
  Dean.  A makeup exam will {\bf not} be given in other circumstances.

%%  \item Questions regarding exam grades should be directed to me.

\end{itemize}

\vspace{0.2in}

\noindent
{\bf Course Policies Regarding Programming Projects: } 

\begin{itemize}

  \item A description of each graded programming project may be found
  on the course home page (once it is assigned).

  \item Projects will be submitted electronically.  The specifications
  for submitting assignments may also be found on the same web page.

  \item If you use code from a public source, please include a comment
  with that code indicating where the original code may be found.
  Note that code written by any student at RPI other than myself or
  the TA is {\bf not} to be used in your submission.  The {\em
  discussion} of assigments with other students is encouraged, but the
  {\em implementation} of programs is to be the result of your own
  work.  Any significant portions of code that are ``identical'' may
  result in punishment in accordance with the stated course policy for
  Academic Dishonesty.

  \item All projects will be tested on IBM workstations.  It is
  recommended that you test your programs using the appropriate
  hardware and software ({\it i}.{\it e}., perl on an IBM workstation).
  Allowances will not be made for failure to properly and {\bf
  completely} test your programs. Do not modify your files after you
  submit them until you have received a grade back from the TA and you
  are satisfied that you have been graded fairly.

  \item Each student will be allowed {\bf 2 late days} to be used {\em
  without penalty}.  Any available late days are automatically
  deducted before a penalty will be given.  Partial days will be
  deducted as a full day.

  Once these days are consumed, late assignments will be subject to
  the following penalty:

  \begin{itemize}

     \item Late up to 24 hours: {\bf -20 points}
  
     \item Late up to 48 hours: {\bf -40 points}

     \item Later than 48 hours: {\bf no credit}

  \end{itemize}

  Exceptions to this policy will be considered in the case of family
  emergency, serious illness, required travel of sports teams or
  clubs, or a letter of excuse from the Dean.

  I strongly suggest you start working on each assignment as soon as
  possible after it is given out.


%%  \item Questions about project grades should be directed to
%%  the TA.  

\end{itemize}

\noindent
{\bf Academic Integrity: } 
 
\begin{itemize}

  \item The \underline{Rensselaer Handbook} defines various forms of
  Academic Dishonesty and procedures for responding to them.  All
  forms are violations of the trust between students and teachers.
  Students should familiarize themselves with this portion of the
  \underline{Rensselaer Handbook} and should note that the penalties
  for plagarism and other forms of cheating can be quite harsh.
  Credit will not be received in {\bf any} case of Academic Dishonesty
  and may result in failure of the course along with disciplinary
  action. 
  
  \item At {\em no time} should you copy {\em any part} of another
  student's work or {\em permit someone else} to copy any part of your
  work.  For example, work done on campus or other computers should
  not be made available so that another student could copy any part of
  your work.  If at any time you are not sure what constitutes
  ``appropriate'' collaboration, it is {\em your} responsibility to
  clarify it with me.

\end{itemize}

\pagebreak
\noindent
{\bf Tentative Course Outline: } 

\begin{center}
\begin{tabular}{||c|c|c||} \hline \hline
 Date    & Topics &  Reading \\ \hline
 Mar. 18 & Introduction, Scalar Variables, Arrays   & Chapt. 2-3 (L)
 \\ \hline

 Mar. 25 & Control Structures, Hashes               & Chapt. 4-5 (L) \\ \hline
 Apr. 1 & Basic I/O, Regular Expressions           & Chapt. 6-7 (L) \\
 \hline
 Apr. 8     & TEST                                    &  \\ 
        & Regular Expressions      &  pp. 57-74 (P) \\\hline
 Apr. 15 & Filehandles, Functions, Classes                            &
 pp. 108-111 (L), Chapt. 8 (L) \\
 \hline
 Apr. 22 & Hard References, CGI &  pp. 244-251 (P), Chapt. 19 (L) \\ \hline
 Apr. 29 & EXAM                                    & \\ \hline \hline
\end{tabular}
\end{center}

The notation (L) means the reading comes from the {\it Learning Perl}
textbook while (P) means the reading comes from {\it Programming
Perl}.  Note that {\it Programming Perl}'s main use will come as a
reference.  Chapter 3 lists and describes every Perl builtin function
in alphabetical order, and Chapter 7 lists and describes standard Perl
library modules.  Chapter 9 explains the diagnostic messages generated
by Perl during compilation or execution.

\end{document}





