COSC-503: Objects & Algorithms
Spring 2011
Course Description
This course surveys advanced topics of C++ programming and introductory
concepts of data structures.
It is intended for
graduate students
with a serious interest in learning C++ programming.
The course covers the following topics:
program organization,
pointers,
self-referential classes,
dynamic object creation and destruction,
linked lists,
recursion,
inheritance,
abstract base classes,
virtual functions,
polymorphism,
template classes,
exception handling,
C-style arrays,
bit operations,
random file access,
big-Oh notation,
abstract data types,
stacks,
queues,
deques,
lists,
vectors,
sequences,
priority queues,
binary trees,
binary search trees,
elementary graphs,
searching, and
sorting.
This course does not count for credit for graduate students in computer
science.
Prerequisite: Programming Concepts and Tools (COSC-502).
Primary Text:
Data Structures and Algorithms in C++, by Goodrich, Tamassia,
and Mount.
Other Texts:
-
C++ How to Program, 3rd Edition, by Deitel and Deitel.
-
Practical C++ Programming, by Oualline.
-
Learning the UNIX Operating System, 4th Edition, by Peek, Todino, and Strang.
-
Learning the vi Editor, 6th Edition, by Lamb and Robbins.
-
C++ Distilled, by Pohl. A concise reference and style guide.