Rouse Company Foundation Student Services Building

CMSY 281 Advanced C++ Programming

This course covers advance topics in the C++ programming language - from advance OOP concepts to data structure implementation. Upon successful completion, students will be able to write C++ programs which include sorting and searching algorithms, STL containers, advance file I/O with both text and binary files, advanced object-oriented programming concepts such as operator overloading, inheritance, and polymorphism, and advance data structures such as linked lists, stacks, queues, and binary trees.

Credits

4

Prerequisite

CMSY 181

Hours Weekly

3 hours lecture, 2 hours lab

Course Objectives

  1. Demonstrate an understanding of various searching algorithms.
  2. Demonstrate an understanding of various sorting algorithms.
  3. Demonstrate the use of sequential access and random access with both text and binary files.
  4. Demonstrate an understanding of advance OO- design concepts such as operator overloading, class
    aggregation, inheritance, and polymorphism.
  5. Demonstrate an understanding of exception handling.
  6. Demonstrate an understanding of function and class templates.
  7. Use the Standard Template Library (STL).
  8. Implement and manipulate linked lists.
  9. Implement and manipulate stacks.
  10. Implement and manipulate queues.
  11. Implement and manipulate binary trees.
  12. Use recursion to process advance data structures.

Course Objectives

  1. Demonstrate an understanding of various searching algorithms.
  2. Demonstrate an understanding of various sorting algorithms.
  3. Demonstrate the use of sequential access and random access with both text and binary files.
  4. Demonstrate an understanding of advance OO- design concepts such as operator overloading, class
    aggregation, inheritance, and polymorphism.
  5. Demonstrate an understanding of exception handling.
  6. Demonstrate an understanding of function and class templates.
  7. Use the Standard Template Library (STL).
  8. Implement and manipulate linked lists.
  9. Implement and manipulate stacks.
  10. Implement and manipulate queues.
  11. Implement and manipulate binary trees.
  12. Use recursion to process advance data structures.