How I Started Understanding the Why of Data Structures and Algorithms Using Mobile Games
I am a creative and primarily self-taught programmer whose mind runs like a movie with subtitles at 2x speed.
The better I understand, the more precise and detailed the movie with the subs.
I attended a code boot camp (Bloom Tech f.k.a Lambda School) to upgrade my skills and have a structured path since there are many branches in Web development after the basics of HTML/CSS. Lambda is where I first learned about Data Structures and Algorithms and how to solve them using Python.
After focusing on JavaScript for most of the Bootcamp (4 months if you are Full-Time), switching to a new language was a bit jarring, but I got used to it quickly. I somehow passed and graduated, but Data Structures and Algorithms were still a blurry movie to me for the most part.
Some of the algorithm questions turned the movie into a smudged mess, which frustrated me, and I avoided them for a while, especially when I started trying them on my own on other platforms like HackerRank, Code Signal, or LeetCode. I decided to relearn and practice the fundamentals of JavaScript and try again.
Going over the basics helped, but it still wasn’t clicking in my head WHY these were useful until I was playing a random mobile game on my iPad and the movie became clear.
While playing a hotel game, I realized that it was using find the shortest path.
While playing a different type of game, I noticed it used singly linked, doubly linked, or circular linked lists depending on the section.
I am unsure what they are using because I can’t see their code, but the games made those algorithm movies more apparent. Enough to the point, I am back at trying to solve those types of problems again on LeetCode.
Plus, the Microsoft LEAP Apprenticeship program thought I was good enough to interview, and I am also prepping for that.
I plan to write a post on each problem, explain how I understood and solved it using current knowledge. Of course, I will go back and refactor them to make them more efficient/faster as I learn more.
I will post the problem and the platform I practiced it on in the title.
I feel blogging will help me explain my thinking better as my level is not quite a beginner but not intermediate either. Although, future posts may help someone.
Look for more posts from me soon!
Have a good day, and keep at it!
~ Reese