e abstract data type in program design, definition, implementation and application of data structures such as stacks, queues, linked lists, trees and graphs; recursion; use of time-complexity expressions in evaluating algorithms.; comparative study of sorting and searching algorithms.