CS216 Program and Data Representation
Course Objectives:
1. Implement basic and advanced data structures in C++ (stacks, queues, hash tables, binary search trees & balanced trees, heaps, graphs)
2. Evaluate the asymptotic time and space complexity of the above listed data structures and assess the suitability of a data structure for a particular problem.
3. Develop an understanding of the underlying representation of basic data structures (ints, chars, floats, arrays, records, pointers) as well as more advanced structures (linked lists, 2-D arrays, trees, hash tables, heaps, graphs).
4. Implement basic program control and data structures in an assembly language (loops, conditionals, subroutines and parameter passing modes, arrays)
5. Develop a basic understanding of program execution model and underlying computer hardware and software (fetch-execute cycle, memory hierarchy, operating system, compiler).