Introduction to the binary search tree and its operations
    Design and implementation of a stack in C
    Introduction to binary trees
    Introduction to the heap abstract data type and its use in implementing priority queues
    Study of recurrences and their use in determining the time complexity of recursive algorithms
    Introduction to a method of proving mathematical statements (induction)
    Analysis of a sorting algorithm (insertion sort)
    Review of stacks and queues and an analysis of their implementations.
    Implementation of binary tree traversal algorithms (preorder, postorder, inorder) recursively and non-recursively in Java
    An introduction to interfaces in Java