At the end of this course the students will be:
- write programs for sorting objects efficiently
- write programs for efficient searching of a particular object in a set
- design algorithms to solve complex problems recursively
- learn and apply the stack data structure
- learn and apply the queue data structure
- learn and apply the binary tree data structure
- analyze time and space complexity of algorithms