Free Online Course on Data Structures

The University of California, San Diego is offering a free online course on Data Structures. This will help you to understand what is going on inside a particular built-in implementation of a data structure and what to expect from it.

In this six-week course, applicants will learn about data structures that are used in computational thinking – both basic and advanced. This course is self-paced.

Course At A Glance 

Length: 6 weeks
Effort: 8-10 hours pw
Subject: IT
Institution: University of California, San Diego, and edx
Languages: English
Price: Free
Certificate Available: Yes, Add a Verified Certificate for $150
Session: At your own pace

Providers’ Details

The University of California, San Diego (UC San Diego) is a student-centered, research-focused, service-oriented public institution that provides an opportunity for all. This young university has made its mark regionally, nationally, and internationally. Named in the top 15 research universities worldwide, UC San Diego fosters a culture of collaboration that sparks discoveries, advances society, and drives economic impact.

About This Course

A good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data. In this course, part of the Algorithms and Data Structures Micro Masters program, we consider the common data structures that are used in various computational problems.

Why Take This Course?

You will learn how these data structures are implemented in different programming languages ??and will implement them in our programming assignments. This will help you to understand what is going on inside a particular built-in implementation of a data structure and what to expect from it. You will also learn typical use cases for these data structures.

Learning Outcomes

  • Basics of data structures including their fundamental building blocks: arrays and linked lists
  • How to use Dynamic arrays
  • A very powerful and widely used technique called hashing and its applications
  • How to use Priority Queues to an Employment Schedule, in the context of a computer operating system or real life
  • Basic structure of binary search trees – AVL trees and Splay trees
  • Applications of data structures


Daniel Kane
Assistant Professor, Computer Science and Engineering & Dept. of MathematicsUC San Diego

Alexander S. Kulikov
Visiting ProfessorUC San Diego

Michael Levin
Chief Data ScientistYandex

Neil Rhodes
LecturerUC San Diego


Basic grasp of:

  • One programming language (C, C ++, C #, Haskell, Java, JavaScript, Python2 / 3, Ruby, Scala) -loop, array, stack, recursion
  • Math-proof by induction and contradiction
  • The Algorithmic Toolbox class

How To Join This Course

  • Go to the course website link
  • Create an edX account to SignUp
  • Choose “Register Now” to get started.
  • EdX offers honor code certificates of achievement, verified certificates of achievement, and XSeries certificates of achievement. Currently, verified certificates are only available in some courses.
  • Once applicant sign up for a course and activate their account, click on the Log In button on the homepage and type in their email address and edX password. This will take them to the dashboard, with access to each of their active courses. (Before a course begins, it will be listed on their dashboard but will not yet have a “view course” option.)

Apply Now