CMSY 171 Computer Science II

This course covers advanced 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 advanced data structures such as linked lists, stacks, queues, and binary trees.

Credits

4

Prerequisite

CMSY 141

Hours Weekly

3 hours lecture, 2 hours lab weekly

Course Objectives

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

Course Objectives

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