CSC335 Data Structures and Algorithms

Lead Faculty: Dr. Ronald Uhlig

Course Description

An overview of data structure concepts, arrays, stack, queues, trees, and graphs. Discussion of various implementations of these data objects, programming styles, and run-time representations. Course also examines algorithms for sorting, searching and some graph algorithms. Algorithm analysis and efficient code design is discussed.

Learning Outcomes

  • Explain and utilize linked lists, stacks, queues and trees.
  • Describe the techniques of algorithm analysis.
  • Discuss the advantages and disadvantages of various algorithms.
  • Incorporate algorithmic design know-how and data structures to create reliable and structured programs.
  • Describe the design and performance of various searching and sorting algorithms.
  • Use advanced object-oriented concepts such as abstract base classes, friend classes and operator overloading in the implementation of data structures.
  • Discuss graph algorithms