CSC 301: Data Structures

Learning Outcomes
At the end of this course, students should be able to:

  1. discuss the appropriate use of built-in data structures;
  2. apply object-oriented concepts (inheritance, polymorphism, design patterns, etc.) in
    software design;
  3. implement various data structures and their algorithms, and apply them in implementing
    simple applications;
  4. choose the appropriate data structure for modelling a given problem;
  5. analyse simple algorithms and determine their efficiency using big-O notation; and
  6. apply the knowledge of data structures to other application domains like data compression
    and memory management.

    Course Contents
    Primitive types, Arrays, Records Strings and String processing. Data representation in memory,
    Stack and Heap allocation, Queues, Trees. Implementation strategies for stack, queues, trees.
    Run time storage management; Pointers and References, linked structures.
    Lab work: Writing C+
    /C++ functions to perform practical exercises and implement using the
    algorithms on arrays, records, string processing, queues, trees, pointers and linked structures.