# Data Structures and Algorithms I

Undergraduate course, *University of West Florida, Department of Computer Science*, 2019

A first course in Data Structures and Algorithms. Topics will include traditional data structures with a major focus on design and analysis of algorithms and will include projects that stress mathematics and science.

## Learning Objectives

- Develop solutions to problems by applying presented algorithms.
- Develop solutions that emphasize mathematical and scientific domains.
- Write algorithms in pseudo code for solving problems prior to coding in C++.
- Analyze solutions in terms of time and space complexity.
- Develop programs that utilize the static data structures, 1-D, 2-D arrays and structs.
- Write recursive definitions and develop recursive programming solutions.
- Develop programs that require dynamic data structures such as singly- and doubly-linked lists.
- Contrast stacks and queues in both use and implementation.
- Compare sorting algorithms in terms of time and space complexity and implementation.
- Explain the run-time stack in terms of function calling sequence, parameter passing and return values.
- Analyze and implement search techniques.
- Use modern programming environments and debuggers for coding.