Medium Icon - Academy Webflow Template
Play Icon - Academy Webflow Template
Clock Icon - Academy Webflow Template
3hr 35min

About the Course

Data structures and algorithms serve as the fundamental building blocks of computer programming. Whether you're trying to optimize a routing system for a fleet of vehicles, build a social network platform, or develop an e-commerce recommendation system, knowing how to efficiently organize and process data is absolutely critical. In this comprehensive course, you'll gain an in-depth understanding of essential data structures like arrays, linked lists, trees, graphs, and strings as well as sorting, searching, and analysis algorithms.

We'll start from square one, making sure you have a strong grasp of core computer science concepts before gradually guiding you through more complex data interactions. You'll learn all about storing and manipulating data with arrays and array lists, creating connections with different types of linked lists, organizing hierarchical data with trees, modeling relationships with graphs, and handling text data with strings. Along the way, you'll get hands-on practice implementing crucial algorithms like binary searc and merge sort, as well as creating fun games!

This course provides a deep dive into data structures and algorithms through practical coding projects in Java. It is taught by our very own Head of Course Design, Katia Ohmacht, who brings her extensive experience to crafting an engaging curriculum. Upon completion, you'll have a working knowledge of the driving force behind real-world software engineering challenges. You'll be equipped to analyze problems, leverage the right data structures and algorithms, and develop efficient solutions. These fundamental skills will enable you to program with confidence and tackle more complex systems down the road. Join us to level up your coding abilities and become fluent in the secret language of data!

We always want feedback. If you have any questions or comments, email us.


Welcome to Codology's Introduction to Data Structures course! Meet Katia, your instructor, who will guide you through the world of data structures!

Course Introduction

Let's get started on a journey through the world of data structures!

1 min

All Things Arrays

Learn about 1D arrays for storing data, ArrayLists for dynamic arrays, and 2D arrays for tables, then apply your newly-developed skills by coding a classic game!

Linked Lists

Explore singularly, doubly, and circularly linked lists. Understand nodes, pointers, and linking. Code a game of Uno to apply your knowledge!

Stacks and Queues

Learn last-in-first-out stacks and first-in-first-out queues, then implement these abstract data structures for organized data storage!


Discover non-linear binary trees, sorted binary search trees, and self-balancing AVL trees. Then, implement your own trees!


Understand how graphs model real-world connections by linking nodes with edges. See how social networks, maps, and more can be represented as graphs.


Learn how strings represent text as sequences of characters. Discover techniques like concatenation, parsing, searching, and more.

Searching and Sorting

Explore linear and binary search, as well as sorting algorithms like bubble, selection, insertion, and merge sort.