The KIRUPA orange logo! A stylized orange made to look like a glass of orange juice! Tutorials Books Videos Forums

Customize Theme


Color

Background


Done

Getting Started with Learning Data Structures and Algorithms

by kirupa   |   filed under Data Structures and Algorithms

As was all the rage with the cool kids back in the early 2000s, I majored in Computer Science. I probably shouldn't have, but I liked computers. I liked science. How difficult could this be? Fast forward to a few years in my undergrad program, and my feelings about Computer and Science was at a low.

My disdain for computer science wasn't because I disliked the material. Far from it! I loved the idea of working with computers and learning all about the hardware, the software, and how complex problems can be broken into chunks a computer can solve. The problem was (and still is) that I just happen to learn better if the content is engaging. The material for the many algorithms-related classes I had to take was far from that.

If you show me walls of text, numbers, and equations, my brain is not interested in figuring out what is going on:

If you show me the same information more visually with a bit of personality and clarity, it's a different ball game. Things make sense:

Unfortunately, the former was the entirety of my computer science education. This was all happening at MIT, a place well known for its Computer Science program and quality of teaching. My classmates also did just fine. The teaching material just didn't resonate with me. This was very much a me problem.

As many me problems go, it was up to me to figure out a graceful workaround. To better help me understand all of the arcane algorithms topics that I kept getting confused by, I started to take all of the material from my lectures and books and reexplain and rewrite them for myself in a more approachable way:

  1. If something sounded boring, I made it sound more interesting.
  2. If a topic didn't explain the importance of why it needed to be learned, I dug into the motivation and convinced myself of why it matters.
  3. If an explanation was really complicated, I expanded it into more simple terms and tied it back to concepts I could relate to.
  4. If there was a giant wall of text, I drew diagrams to help me represent the same material more visually

These activities helped me to better appreciate how algorithms truly worked, and they also had the important side-effect of being the source material for both the Algorithms: Absolute Beginner's Guide book, videos, tiktoks, and tutorials that you will be seeing:

I hope the content, in whatever form you consume it, hits the mark if you were looking for a reimagined way of explaining very dry and boring algorithms-related topics. In many ways, this is the book I wish I had all those decades ago when I was learning about algorithms and data structures.

Just a final word before we wrap up. If you have a question and/or want to be part of a friendly, collaborative community of over 220k other developers like yourself, post on the forums for a quick response!

Kirupa's signature!

The KIRUPA Newsletter

Thought provoking content that lives at the intersection of design 🎨, development 🤖, and business 💰 - delivered weekly to over a bazillion subscribers!

SUBSCRIBE NOW

Serving you freshly baked content since 1998!
Killer icons by Dark Project Studios

Twitter Youtube Facebook Pinterest Instagram Github