Section menuClose menu Columbia College


Master Syllabus

Print this Syllabus « Return to Previous Page

Administrative Unit: Computer and Mathematical Sciences Department
Course Prefix and Number: CISS 350
Course Title: Advanced Algorithms and Data Structures
Number of:
Credit Hours 3
Lecture Hours 3
Lab Hours 0
Catalog Description:

Advanced concepts of data, storage, organization and retrieval. Topics include multiple-linked lists, balanced trees, graphs, abstract data types, classes and methods, object-oriented programming, searching and sorting. Prerequisite: CISS 245 or CISS 243.

Prerequisite(s) / Corequisite(s): CISS 245 or CISS 243.
Course Rotation for Day Program: Offered Spring.
Text(s): Most current editions of the following:

Data Structures with C++ Using STL
By Ford, W. & Topp, W. (Prentice Hall)
C++ Data Structures
By Dale, N. (Jones and Bartlett)
Course Objectives

• To develop and analyze algorithms to create and manipulate data structures including multiple-linked lists, circular-linked lists, queues, trees including binary trees, B-trees, AVL trees, graphs. • To use several of the Standard Template Library Classes. • To implement and compare the time and space complexities of different algorithms. • To implement data structures using the object-oriented paradigm. • To use programming techniques such as divide-and-conquer, backtracking and dynamic programming.

Measurable Learning

• Use various STL classes. • Implement doubly linked list class. • Implement circular linked list class. • Implement queue class. • Implement tree class including binary trees, B-tree, AVL trees. • Implement graph algorithms. • Implement divide-and-conquer technique. • Implement backtracking techniques. • Implement dynamic programming techniques. • Compare and contrast the time and space complexity of data structure and algorithms.

Topical Outline:

• Sorting including quicksort, selection sort and heap sort • Analysis of algorithms, big-oh notation • STL classes • Doubly-linked lists • Binary trees and binary search trees • Infix, prefix and postfix expressions • Queues • Hashing and hashing algorithms • 2-3-4 trees • B-trees • Heaps and priority queues • Divide-and-conquer algorithms • Dynamic programming

Culminating Experience Statement:

Material from this course may be tested on the Major Field Test (MFT) administered during the Culminating Experience course for the degree. 
During this course the ETS Proficiency Profile may be administered.  This 40-minute standardized test measures learning in general education courses.  The results of the tests are used by faculty to improve the general education curriculum at the College.


Recommended maximum class size for this course: 20

Library Resources:

Online databases are available at You may access them from off-campus using your CougarTrack login and password when prompted.

Prepared by: Lawrence West Date: October 25, 2008
NOTE: The intention of this master course syllabus is to provide an outline of the contents of this course, as specified by the faculty of Columbia College, regardless of who teaches the course, when it is taught, or where it is taught. Faculty members teaching this course for Columbia College are expected to facilitate learning pursuant to the course objectives and cover the subjects listed in the topical outline. However, instructors are also encouraged to cover additional topics of interest so long as those topics are relevant to the course's subject. The master syllabus is, therefore, prescriptive in nature but also allows for a diversity of individual approaches to course material.

Office of Academic Affairs