\documentstyle[12pt]{article}
\pagestyle{empty}
\flushbottom
\setlength{\parindent}{0pt}
\setlength{\oddsidemargin}{0.0in}
\setlength{\topmargin}{-0.50in}
\setlength{\textwidth}{6.5in}
\setlength{\textheight}{9in}
\setlength{\parskip}{4pt}


\begin{document}

\begin{center}
{\Large Fall 1999--Course Announcement}\\
{\Large CSI668.  Topics in System Architecture.}\\
(New call number: 7501.  Formerly CSI660)\\
{\Huge Survey of Execution Environments}\\
\vspace{3pt}
{Instructor:  Prof. Seth Chaiken, LI96H, 442-4282, sdc@cs.albany.edu}\\
{See me or Pat Keller, LI67A for an SKN number}\\
{(Office hours: TBA)}\\
{Class meeting: Tuesdays and Thursdays, 1:00PM-2:20PM,
Humanities-116}
\end{center}

This graduate course will survey selected concepts, practical usage, and 
implementations of modern computer system features that either implement or
go beyond the semantics of general purpose programming languages.
The main course objective is to convey an understanding of a few such
features plus the ability to use computing literature, specifications
and experimentation to train oneself on new ones.  
Such knowledge and skills are absolutely necessary for most real world
software design and programming work, as well as experimental computer
science research, 
understanding the issues behind lower level system architectures
(networks, operating systems and hardware), advanced system
administration, etc.  Other objectives are to gain practice with
complex programming and with teamwork.

In the beginning, lectures, reading and assigned programming experiments
will be emphasized.
Later in the semester, the emphasis will shift to team projects that
explore topics with reading, demonstration program
design/coding/experimentation and class presentation of principles and results.


\begin{enumerate}
\item Selected Unix topics: Process structure, resources and control 
(including signals), files, and some interprocess communication.
Required textbook: \textbf{W. R. Stevens, {\em Advanced Programming in
the Unix Environment}, Addison-Wesley 1992, ISBN 0-201-56317-7}

\item Run time function linkage, linking, relocation, object and executable file standards,
libraries, dynamic linking.  (Required:  System V Application Binary
Interface Specifications, available on the Web.)
Support for objects.

\item Kernel level memory management and execution environment, kernel
loadable modules.

\item Remote procedure calls, CORBA, and other topics.

\item Mobile code, selected Java and Java Virtual Machine
architectural features (Required: Java specifications and other
literature available on the Web.), and other topics.
\end{enumerate}

{\bf Prerequisites:}
C++ and Assembly Language Programming, one or more senior or graduate
level systems course such as System Programming, Operating Systems,
CSI511, Software Engineering, etc.   


CSI668 is a graduate elective course that meets the systems
specialization area graduate requirement.

\end{document}
