3.00 Credits
Fundamental concepts of data design and implementation, data abstraction, data structures, arrays, linked-lists, stacks, queues, recursion, trees, graphs, and hashing. Also covers sorting algorithms, divide and conquer techniques, greedy methods, and analysis of algorithms. The object-oriented paradigm is employed using an object-oriented language.