Data Structures

Data Structures - Niema Moshiri and Liz Izhikevich - 2016
Certificate Stepik

About this course

This interactive textbook 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 used at the University of California, San Diego (UCSD), the University of San Diego (USD), and the University of Puerto Rico (UPR).

This textbook 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 textbook's content is language-agnostic theory of complexity and algorithm analysis. In other words, even without C++ or Python knowledge, the key takeaways of the textbook can still be obtained.

Meet the Instructors

User picture
Niema Moshiri
PhD candidate in Bioinformatics and Systems Biology at UC San Diego, SD-raised
My name is (Alexander) Niema Moshiri, and I am currently a Ph.D. candidate in the Bioinformatics and Systems Biology program at the University of California, San Diego. I work on computational biology, with a research focus on phylogenetics and phylogenomics. I am…

Course content

Introduction and Review
Introductory Data Structures
Tree Structures
Introduction to Graphs
Implementing a Lexicon
Coding and Information Compression



Learners' reviews

Nice course, good explanation. But second half of it definetly need more code chalanges.
Excellent course, one of the best among those that I managed to find on this resource. Well organized, everything is laid out on the shelves. I liked the answers of the teacher in the comments - they do not give an answer directly, but they set the direction for reflection and provide an opportunity to understand the essence.
Good course, good material, thanks. It would be better to have more algorithmic challenges though.

Share this course