Get started with custom lists to organize and share courses.

Sign up

Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Data Structures: An Active Learning Approach

University of California, San Diego via edX

5 Reviews 2878 students interested

Taken this course? Share your experience with other students. Write review

Overview

This interactive text used in this course was written with the intention of teaching Computer Science students about various data structures as well as the applications in which each data structure would be appropriate to use. It is currently being taught at the University of California, San Diego (UCSD), the University of San Diego (USD), and the University of Puerto Rico (UPR).
 
This coursework utilizes the Active Learning approach to instruction, meaning it has various activities embedded throughout to help stimulate your learning and improve your understanding of the materials we will cover. You will encounter "STOP and Think" questions that will help you reflect on the material, "Exercise Breaks" that will test your knowledge and understanding of the concepts discussed, and "Code Challenges" that will allow you to actually implement some of the algorithms we will cover.
 
Currently, all code challenges are in C++ or Python, but the vast majority of the content is language-agnostic theory of complexity and algorithm analysis. In other words, even without C++ or Python knowledge, the key takeaways can still be obtained.

Syllabus

Module 1: Introduction and Review
  • 1.1 Welcome to Data Structures!
  • 1.2 Tick Tock, Tick Tock
  • 1.3 Classes of Computational Complexity
  • 1.4 The Fuss of C++
  • 1.5 Random Numbers
  • 1.6 Bit-by-Bit
  • 1.7 The Terminal-ator
  • 1.8 Git: the "Undo" Button of Software Development

Module 2: Introductory Data Structures
  • 2.1 Array Lists
  • 2.2 Linked Lists
  • 2.3 Skip Lists
  • 2.4 Circular Arrays
  • 2.5 Abstract Data Types
  • 2.6 Deques
  • 2.7 Queues
  • 2.8 Stacks
  • 2.9 And the Iterators Gonna Iterate-ate-ate

Module 3: Tree Structures
  • 3.1 Lost in a Forest of Trees
  • 3.2 Heaps
  • 3.3 Binary Search Trees
  • 3.4 BST Average-Case Time Complexity
  • 3.5 Randomized Search Trees
  • 3.6 AVL Trees
  • 3.7 Red-Black Trees
  • 3.8 B- Trees
  • 3.9 B+ Trees

Module 4: Introduction to Graphs
  • 4.1 Introduction to Graphs
  • 4.2 Graph Representations
  • 4.3 Algorithms on Graphs: Breadth-First Search
  • 4.4 Algorithms on Graphs: Depth-First Search
  • 4.5 Dijkstra's Algorithm
  • 4.6 Minimum Spanning Trees: Prim's and Kruskal's Algorithms
  • 4.7 Disjoint Sets

Module 5: Hashing
  • 5.1 The Unquenched Need for Speed
  • 5.2 Hash Functions
  • 5.3 Introduction to Hash Tables
  • 5.4 Probability of Collisions
  • 5.5 Collision Resolution: Open Addressing
  • 5.6 Collision Resolution: Closed Addressing (Separate Chaining)
  • 5.7 Collision Resolution: Cuckoo Hashing
  • 5.8 Hash Maps

Module 6: Implementing a Lexicon
  • 6.1 Creating a Lexicon
  • 6.2 Using Linked Lists
  • 6.3 Using Arrays
  • 6.4 Using Binary Search Trees
  • 6.5 Using Hash Tables and Hash Maps
  • 6.6 Using Multiway Tries
  • 6.7 Using Ternary Search Trees

Module 7: Coding and Information Compression
  • 7.1 Return of the (Coding) Trees
  • 7.2 Entropy and Information Theory
  • 7.3 Honey, I Shrunk the File
  • 7.4 Bitwise I/O

Module 8: Conclusions
  • 8.1 Summaries of Data Structures

Taught by

Niema Moshiri

Help Center

Most commonly asked questions about EdX EdX

Reviews for edX's Data Structures: An Active Learning Approach
5.0 Based on 5 reviews

  • 5 stars 100%
  • 4 star 0%
  • 3 star 0%
  • 2 star 0%
  • 1 star 0%

Did you take this course? Share your experience with other students.

Write a review
  • 1
Jay M
5.0 8 months ago
Jay completed this course, spending 15 hours a week on it and found the course difficulty to be medium.
It is very good course on Data Structure. I Personally recommend every computer science students to go through to this course at least one time before your graduation. it will change your thinking about computers.

This course will give detailed information about all data-structure. Thanks to authors
Was this review helpful to you? Yes
Anonymous
5.0 11 months ago
Anonymous completed this course.
Very nice and well structured course about data structures. Highly recommended as an introduction to abstract data structures, graphs and hashing. Many thanks!
Was this review helpful to you? Yes
Anonymous
5.0 9 months ago
Anonymous completed this course.
Great course on data structures! The learning materials, assignments, and quizzes are well-written. The summaries at the end are also nice as a reference. I highly recommend it!
Was this review helpful to you? Yes
Anonymous
5.0 8 months ago
Anonymous completed this course.
Excellent and concise course on Data Structures. The course focuses on the theory behind the data structures, but it includes multiple coding problems throughout.
Was this review helpful to you? Yes
Estefania C
5.0 a month ago
Estefania is taking this course right now, spending 7 hours a week on it and found the course difficulty to be medium.
This is the perfect data structures course for beginners. It is thorough, practical, fun, colorful, and it includes amazing diagrams and illustrations to help visualize data structures, their operations, and their elements.

The explanations are extremely well written, they are beginner-friendly, and they are full of interesting tips and context to help connect ideas as you build knowledge during each chapter. In this course, you will learn the pros and cons of each data structure and their individual use cases. This is awesome because it trains us to apply our knowledge to different real-world scenarios, and it helps us develop the necessary skills to determine which data structures we should choose in our future projects.

I love how the course is full of context, practice questions, and coding exercises. I'm so glad that I found this course because it's awesome. I totally recommend taking it if you want to learn about data structures! :)
Was this review helpful to you? Yes
  • 1

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free

Never stop learning Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.