CSC335 Data Structures and Algorithms
Lead Faculty: Dr. Alireza Moztarebi Farahani
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 recursion, linked lists, stacks, queues and trees.
- Describe the techniques of algorithm analysis.
- Discuss the advantages and disadvantages of many types of algorithms.
- Incorporate algorithmic design know-how and data structures to create reliable and structured programs.
- Describe the methodology 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.