May 06, 2024  
Learning Outcomes Catalog 
    
Learning Outcomes Catalog

CIS 2277 - C++ Programming III (Advanced OOP)

Student Learning Outcomes
  1. Demonstrate dynamic memory allocation and management of an array of objects.  Use the ** for the dynamic array of dynamic objects.
  2. Construct generator class that generates an object, either on the stack or on the free store.  Prepare a static library for that class and demonstrate using it.
  3. Demonstrate the correct use of a linked list node by building a C++ “Linked list manager” class that provides the tools to build a standard doubly linked list.
  4. Overload the appropriate operators in a C++ class so that the search/sort functions can be used in the STL classes.
  5. Demonstrate standard program organization and file structure, including class declaration is the *.h file and class definition in the *.cpp files.
  6. Describe the underlying algorithms of basic sort routines.
  7. Write a C++ class that includes at least eight sort functions including Bubble, Shell, Quick, Shaker, and Merge sort and provides timed comparison of the methods.
  8. Develop a program with a hash table implemented with linked lists.  Optimize the hashing function and demonstrate that it meets the spec by calculating its deviation from a specified range.
  9. Create a template class in C++ for sorting. The class incorporates the five sorts listed in #7
  10. Demonstrate current usage of smart pointers in a program that uses two types.
  11. Create and use static library files and associated *.h files of classes
  12. Use the new Chrono class for date and time

Course Description
Covers advanced programming including stacks, queues, linked lists, template classes, inheritance and polymorphism and other computer science problems.
Credits: 3