Skip to main content

Introduction to Data Structures

Learn the advanced programming topics in the C++ programming language, including pointers, dynamic storage, recursion, searching, and sorting.

There is one session available:

7,882 already enrolled! After a course session ends, it will be archivedOpens in a new tab.
Starts Jan 14
Ends Dec 31
Estimated 11 weeks
5–7 hours per week
Progress at your own speed
Optional upgrade available

About this course

Skip About this course

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.

At a glance

What you'll learn

Skip What you'll learn
  1. Demonstrate a basic understanding of object-oriented programming by using structures and classes in software projects.
  2. Use object-oriented programming techniques to develop executable programs that include elements such as inheritance and polymorphism.
  3. Apply basic searching and sorting algorithms in software design.
  4. Apply single-and multi-dimensional arrays in software.
  5. Demonstrate a basic understanding of programming methodologies, including object oriented, structured, and procedural programming.
  6. Design and develop programs that recursion to solve problems that can be expressed with recurrence.

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

About the instructors

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX for Business.