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.
Hours Weekly
3 hours lecture, 2 hours lab weekly
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.