The Citadel

The Military College of South Carolina

march2.jpg

CSCI 223: Data Structures and Algorithms

Course Description:

CSCI 223 Data Structures and Algorithms Three Credit Hours
Prerequisites: CSCI 202 and MATH 206
Required for B.S. degree in computer science.
Formal specification and implementation of abstract data types, and analysis of algorithms. Topics include list and set representation methods, sorting, trees, and graphs. Data structures used include stacks, queues, binary trees, hash tables, priority queues, and search trees.

Major Topics:

  • Algorithmic efficiency
  • Lists, stacks, and queues
  • Hashing
  • Heaps and the heap sort
  • Binary search trees
  • Balanced trees
  • Graphs
  • Sets

Course Outcomes:

Upon successful completion of this course, a student will be able to

  • Discuss the advantages and disadvantages of different data structures and data formats including lists, stacks, queues, trees, heaps, hash tables, and graphs
  • Analyze problems to identify an appropriate ADT and implementation to be used in the problem solution
  • Use a modern IDE to create, compile, debug, test and execute Java programs where an ADT implementation is of primary importance in the solution
  • Explain and apply the basic concepts of algorithm complexity and analysis
  • List the most common data structures and data formats for storing data in a computer system

Textbook:

Algorithms (4th Edition), Robert Sedgewick and Kevin Wayne, Addison-Wesley, 2011

Recommended Reference:

Introduction to Algorithms (Third Edition), Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, MIT Press, 2009. (ISBN: 978-0262033848)

Projected Schedule:

Every Spring

Recent Syllabi:

Spring, 2015 Verdicchio

Back to Top