CS 212 C++ Data Structures • 5 Cr.


Completes one year sequence with data structures using C++, including lists, hash tables, stacks, queues, trees, and graphs. Contrasts the implementations of such data structures in different languages, specifically the differences between pointers versus references, templates versus generics, dynamic versus static memory allocation, multiple inheritance, and destructors. Prerequisite: CS 211.


After completing this class, students should be able to:

  • Explain and compare the concepts of static and dynamic memory allocation.
  • Apply good memory management practices in data structures by implementing destructors.
  • Create and use pointers in linked lists using iterators and fundamentals of pointer math.
  • Explain the parameter passing mechanisms of call by value, call by address, pointer data types, and call by reference.
  • Design programs using binary tree data structures.
  • Explain the use of Hash Tables for indexing random access data structures.
  • Demonstrate the difference between C++ templates and Java generics.