Software Development
Data Structures and Algorithms II
Overview
This course expands students’ knowledge of standard data structures and their algorithms. It is suitable for students who have some knowledge of C syntax and have completed Data Structures and Algorithms I. The course prepares students to design and implement more complex software modules.
Who Should Take This Course
Prerequisites
Competency with the C programming language is required. Students should have a mathematical background at least to the high school level. Student should have understanding of basic data structures gained through completion of Data Structures & Algorithms I.
Why You Should Take This Course
Upon completion of this course, students will be able to:
- Explain what is meant by a one-way hash
- Use a Map to find duplicates in a list
- Outline how a public key exchange works in non-technical terms
- Explain common pitfalls when working with cryptography
- Compare and Contrast compression opportunities
- Explain what a Graph is and how it is useful
- Use a Graph to determine connectedness
- Outline how Dijkstra’s Algorithm works on paper
Course Outline
Data Structures and Algorithms II
- Priority Queues
- Hashing
- Compression
- Cryptography
- Graphs
- Adjacency Lists
- Adjacency Matrices
- Path Algorithms