The Algorithm Series
A beginner's journey through data structures and algorithms.
Several months ago I made the bold decision to join a coding Bootcamp. I was prepared for the number of hours I had to dedicate to Bootcamp if I wanted to learn some valuable skills and have them stick. For most people, switching to a career in tech means Bootcamp is your best chance at developing quick skills to introduce yourself to the industry. What follows though, is the rigorous self-education you have to do on your own to understand major topics such as Data Structures and Algorithms(DSA) or any other tools that Bootcamp doesn't stress the importance of (in my certified-newbie opinion), if you want better opportunities. My baby dev skills were not properly prepared for the harsh climate of these DSA jungles when I finished Bootcamp and I felt as though I needed to learn more of them to be more confident in my career and the job application process. Good learning resources are hard to come by, especially for beginners. However, I realized the best way to learn these major topics is to write about what I learn. So this will be the beginning of my series in documenting what I learn about Data structures and Algorithms in hopes of helping some baby developers out there.
There are plenty of resources to learn from but one thing I've come to realize is that good resources are hard to come by not because they are scarce but because it's hard to find someone who explains a concept in a way that you're able to understand and as a beginner, without any computer science background it's all about the building blocks.
I came across a lot of books and courses that claim to be great for beginners and I'm sure they are... for 'experienced' beginners - which I am not. I have probably exercised more energy looking at resources and trying to grasp these concepts than I have actually learned from them, but the search does come to an end, and that for me came through freeCodeCamp's Algorithms and Data Structures tutorial - I mean, I hope.
In this series, I'll be documenting what I learn from this tutorial and possibly other resources as well. I will be sharing most of my resources throughout the blog but for beginners, this is a great place to start because it provides great building blocks for everything DSA moving forward -- you'll thank me later.
Part 1 of the tutorial covers algorithmic thinking, defining and implementing algorithms, introduction to Big O, time and space complexity, including recursion, all as an introduction to Algorithms; which is a necessity before picking up books like 'Cracking the coding Interview'. I mean, it's a great book, but I had no idea what I was reading the first time I picked it up, we just aren't there yet newbies. Part two is an introduction to Data Structures but we'll cross that bridge when we get to it.
I'm no tutor but I hope this series provides a great deal of value in serving as a guide for you in your learning process. If you're interested in learning with me you can follow my blog to be notified when I post more articles. I hope you enjoy the series, all the best.