Introduction to Data Structures

Go to class
Write Review

Free Online Course: Introduction to Data Structures provided by edX is a comprehensive online course, which lasts for 11 weeks long, 5-7 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. Introduction to Data Structures is taught by Aspen Olmsted.

Overview
  • This is the 3rd 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 Pointers, Dynamic Storage, Recursion, Searching, Sorting to solve problems. Students learn how to use 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 fourteen lab challenges.

    Students will not only learn to use data structures to organize, manage, and storage in formats that enable efficient access and modification. 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.

Syllabus
  • Wk 1 - Pointers

    • Dynamic Arrays
    • Pointer Arithmetic

    Wk 2 - Pointers Labs

    Wk 3 - Recursions

    • Mathematical Induction
    • Recursion

    Wk 4 - Recursion Labs

    Week 5 - Searching

    • Sorted-Search
    • Linear vs. Logarithmic

    Wk 6 - Searching Labs

    Wk 7 - Sorting

    • Sorting Algorithms
    • Runtime Analysis

    Wk 8 - Sorting Labs

    Week 9 - Object Oriented Programming

    • Encapsulation
    • Accessors and Mutators
    • Constructors
    • Operator Overloading
    • Inheritance
    • Polymorphism

    Wk 10 - OO Labs

    Wk 11 - Final Exam