CSc 212 - Data Structures


1. Knowledge of program design techniques, including object oriented data types, abstract vs. implementation, modular design, invariants and using pre- and post-conditions
2. Knowledge of pointers and memory management; Implementation and applications of arrays and dynamic arrays for simple data types
3. Implementation and applications of linked lists, stacks, queues, lists, and the analysis of space and time complexity with these data structures 
4. Knowledge of recursion; implementation and applications of trees, graphs and hash tables, use of data structures in basic searching and sorting algorithms, and the rudiments of the analysis of their time complexity