\documentstyle [12pt]{article}
\setlength{\oddsidemargin}{-.4cm}
\setlength{\topmargin}{-2cm}
\setlength{\headheight}{0cm}
\setlength{\textheight}{24.5cm}
\setlength{\textwidth}{17.3cm}
\setlength{\topskip}{0cm}
\setlength{\parindent}{0cm}
\setlength{\parskip}{.10in}
%
\pagestyle{plain}
\begin{document}
\vspace*{-.5cm}

\begin{minipage}[b]{19mm}
\setlength{\unitlength}{.4mm}
\begin{picture}(45,30)(-22.5,-15)
\thicklines
%
\put(0,0){\circle{15}}
%
\thinlines
\put( 7.5,  0){\oval(30,30)[t]}
\put( 7.5,-15){\line(1,0){15}}
\put( 7.5,-15){\line(0,1){15}}
\put(22.5,-15){\line(0,1){15}}
%
\put( -7.5, 0){\oval(30,30)[b]}
\put( -7.5,15){\line(-1,0){15}}
\put( -7.5,15){\line(0,-1){15}}
\put(-22.5,15){\line(0,-1){15}}
%
\end{picture}
\end{minipage}
\begin{minipage}[b]{6cm}
\footnotesize \sf
Computer Science and Engineering
\\
Ferguson Hall -- 0115
\\
472-2402
\end{minipage}
\hfill
\begin{minipage}[b]{8cm}
\begin{flushright}
\LARGE \bf
Course Specification\vspace*{3mm}
\end{flushright}
\end {minipage}
\vspace{.2cm}
{\bf \hrule}
\vspace{.5cm}

%------------------------------------------------------------------------
% NOTES TO USERS: 
%
% 1. Underlined text in this form is notes to you; please delete them.
%
% 2. DO NOT UNDERLINE your replacement text.
%
% 3. Try to observe the prescribed page-break, if at all possible.
%
%------------------------------------------------------------------------

{\Large \bf \begin{center} CSCE-310\\
Algorithms \\
\end{center} }

\paragraph{Catalogue Description:}~ \newline
310. Algorithms (3 cr) Prereq: CSCE 156, and 235.
Algorithmic approaches including greedy method, divide-and-conquer,
dynamic programming, and randomization.  A variety
of common algorithms for searching and sorting, indexing, hashing, heaps,
problems on graphs.  Introduction to NP Completeness and decidability.
Consideration of complexity and correctness.

\paragraph{Textbook(s) and/or Other Required Materials:}~ \newline
Cormen, Leiserson, and Rivest, {\em Introduction to Algorithms},
supplemented as necessary with handouts.

\paragraph{Prerequisites by Topic:} 
\begin{itemize}
\item {\bf Mastery} of data structures and operations for lists,
stacks, queues, trees, graphs.  Abstract data types.   Discrete mathematics
topics including induction and recursion, set theory, elementary combinatorics,
elementary graph theory.
\item {\bf Familiarity} with recursive algorithms and recurrence relations.
\item {\bf Exposure} to complexity analysis.
\end{itemize}

\paragraph{Course Objectives:} 
\begin{itemize}
\item {\bf Mastery} of algorithmic approaches including greedy method and
 divide-and-conquer.   A variety of common algorithms for searching and sorting,
 hashing, heaps; DFS, BFS, and other elementary algorithms on trees and graphs.
 Theoretic and empirical complexity analysis, including solving summations
 and recurrences. 
\item {\bf Familiarity} with problems on graphs and advanced graph
  algorithms; algorithm correctness.
\item {\bf Exposure} to dynamic programming, randomization (in algorithms
  and data structures), NP Completeness, decidability.
\end{itemize}

\vfill
{\small ~ \hfill  \today}
\newpage
\paragraph{Topics Covered:}~ \newline
It is expected that specific algorithms, problem solving techniques,
and complexity analysis will be taught as text book topics and strongly
reinforced with substantial theoretical and programming assignments,
including theoretical and  empirical analyses
of complexity.  ``Mastery'' implies ability to apply the knowledge
gained in innovative and novel ways.  This requires practice.
\begin{enumerate}
\item Algorithm analysis and asymptotic notation, revisiting selection
  sort and bubble sort from CSCE 156 as examples. 
\item Soving recurrences: A variety of methods including the master
  method.
\item Heaps and heapsort.
\item $\Omega(n$ log $n)$ lower bound for sorting; radix sort.
\item Hashing and hash tables.
\item Search trees: eg.~binary search trees, 
  Red-Black trees and/or B-trees, indices.
\item Graph algorithms: DFS, BFS, LBFS, applications to topological
  sort and strongly connected components, spanning trees, Eulerian
  paths, graph matching, Chinese Postman Problem.
\item Divide-and-conquer algorithms: 
  merge sort, quick sort, closest pair of points, binary searching of
  a sorted list (from CSCE 156). 
\item Randomization:  randomized quicksort, expected performance of
  quicksort, skip lists. 
\item Greedy algorithms: Greedy choice and optimal substructure
  properties.  e.g.~fractional knapsack, Huffman codes, MST.
\item Introduction to dynamic programming: optimal substructure property,
  shortest paths problems, 0-1 knapsack problem.
\item Introduction to NP-Completeness and decidability. Hamiltonian Cycle. 
\end{enumerate}

%\paragraph{Relationship of Course to Program Objectives:}~ 


%\paragraph{Contribution of Course to Meeting the Professional Component:}~ 


\paragraph{Class/Laboratory Schedule:}~ \newline
Lecture: 45 hours

\paragraph{Prepared by:}~ \newline
Charles Riedesel, Senior Lecturer.

\end{document}


