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

  1. Priority Queues
  2. Hashing
  3. Compression
  4. Cryptography
  5. Graphs
  6. Adjacency Lists
  7. Adjacency Matrices
  8. Path Algorithms
Search UMBC Training Centers