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).