COSC-072: Computer Science II
Spring 2011
Course Description
This course surveys advanced topics of C++ programming and introductory
concepts of data structures.
It is intended for
computer science majors and minors, and other 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 satisfies the college science requirement.
Prerequisite: Computer Science I (COSC-071).
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.