Advanced Data Structures

Go to class
Write Review

Free Online Course: Advanced Data Structures provided by edX is a comprehensive online course, which lasts for 9 weeks long, 7-9 hours a week. The course is taught in English and is free of charge. Upon completion of the course, you can receive an e-certificate from edX. Advanced Data Structures is taught by Aspen Olmsted.

Overview
  • 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.

Syllabus
  • 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