Advanced Data Structures

Learn the advanced programming topics in the C++ programming language, including file processing, linked lists, stacks, queues, trees, binary search trees and tree balancing algorithms.

There is one session available:

After a course session ends, it will be archived.
Estimated 9 weeks
7–9 hours per week
Progress at your own speed

About this course

Skip About this course

This is the 4th course in the intermediate, undergraduate-level offering that makes up the larger Programming and Data Structures MicroBachelors program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.

  1. Introduction to Programming in C++
  2. Advanced Programming in C++
  3. Introduction to Data Structures
  4. Advanced Data Structures

These topics build upon the learnings that are taught in the introductory-level Computer Science Fundamentals MicroBachelors program, offered by the same instructor.

This is a self-paced course that continues in the development of C++ programming skills. Among the topics covered is the development of more advanced command-line programs that utilize file processing, linked lists, stacks, queues, trees, binary search trees, and tree balancing algorithms to solve problems. Several implements are presented in the development of each data structure, including hash maps, AVL, and red and black trees. Students learn how to utilize and program these data structures through the lectures and the labs. C++ programming material is presented over eight weeks of interactive lectures with quizzes to assess your understanding of the material. Students will experience hands-on practice writing C++ programs through twenty-two lab challenges.

This course focuses on the efficiency of different data structures to solve various computational problems. A data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data. The data structures and algorithms learned in this class are the foundation of modern programming.

At a glance

What you'll learn

Skip What you'll learn
  1. Design and develop programs that utilize linked lists to store data internally.
  2. Design and develop programs that utilize stacks and queues to manage collections of data
  3. Utilize binary search trees and balanced trees to implement fast retrieval of data from a collection of data stored in memory.

Wk 1 - File Processing

  • Locks
  • Objects
  • Creating
  • Passing to a Function
  • Cin and Cout
  • Output
  • Input
  • Getline
  • Seeking
  • Reading and Writing
  • Appending

Wk 2 - File Processing Labs

Wk 3 - Linked Lists

  • Linked Lists
  • Templated Classes

Wk 4 - Link List Labs

Wk 5 - Stacks and Queues

  • Stacks
  • Queues

Wk 6 - Stack and Queue Labs

Wk 7 - Trees and Binary Search Trees

  • Tree Storage
  • Binary Search Tree
  • Tree Traversals
  • Balanced Trees
  • AVL Trees
  • Rotation
  • Red-Black Trees

Wk 8 - Tree Labs

Wk 9 - Final Exam

About the instructors