Data Structures (Stepik)

Data Structures (Stepik)

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.

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

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

Related Courses

Algorithms, Part II (Coursera) Coursera
Princeton University

Algorithms, Part II (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Aug 17th 2026
5-12 Weeks
操作系统原理 (Operating Systems) (Coursera) Coursera
Peking University

操作系统原理 (Operating Systems) (Coursera)

操作系统原理》是针对计算机科学技术专业三年级本科生开设的一门专业基础课程。本课程着重学生系统观的培养,通过重点讲述操作系统的内部结构、工作原理及典型技术的实现,使学生建立起对操作系统的整体及各个功能模块的认识,从而系统掌握计算机的专业知识,进一步提升学生的软件开发能力乃至系统软件开发能力。

Aug 3rd 2026
13-24 Weeks
Hardware Security (Coursera) Coursera
University of Maryland, College Park

Hardware Security (Coursera)

In this course, we will study security and trust from the hardware perspective. Upon completing the course, students will understand the vulnerabilities in current digital system design flow and the physical attacks to these systems. They will learn that security starts from hardware design and be familiar with the tools and skills to build secure and trusted hardware.

Aug 3rd 2026
5-12 Weeks
Introdução à Ciência da Computação com Python Parte 2 (Coursera) Coursera
Universidade de São Paulo, Brasil

Introdução à Ciência da Computação com Python Parte 2 (Coursera)

Bem vindo ao curso de Introdução à Ciência da Computação destinado aos alunos regulares da Universidade de São Paulo! Esta é a segunda parte do Curso, onde você vai continuar a aprender os principais conceitos introdutórios de Ciência da Computação e também aprenderá a desenvolver pequenos programas na linguagem Python.

Aug 10th 2026
5-12 Weeks
Graph Analytics for Big Data (Coursera) Coursera
University of California, San Diego

Graph Analytics for Big Data (Coursera)

Want to understand your data network structure and how it changes under different conditions? Curious to know how to identify closely interacting clusters within a graph? Have you heard of the fast-growing area of graph analytics and want to learn more? This course gives you a broad overview of the field of graph analytics so you can learn new ways to model, store, retrieve and analyze graph-structured data.

Aug 3rd 2026
5-12 Weeks
Estruturas de dados Python (Coursera) Coursera
University of Michigan

Estruturas de dados Python (Coursera)

Este curso apresentará as estruturas de dados centrais da linguagem de programação Python. Vamos superar os fundamentos da programação de procedimentos e explorar como podemos usar as estruturas de dados integradas do Python, como listas, dicionários e tuplas, para realizar análises de dados cada vez mais complexas. Este curso cobrirá os capítulos 6 a 10 do livro “Python para Todos”. Este curso aborda o Python 3.

Aug 10th 2026
5-12 Weeks
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Aug 17th 2026
5-12 Weeks