Re-Learning Data Structures and Algorithms

Written by jeff-ridgeway | Published 2020/02/18
Tech Story Tags: data-structures-and-algorithms | tutorial | python-programming | tech-interviews | software-development | programming | development-series | data-structure-in-interviews

TLDR The series is a blog series on Data Structures and Algorithms. I will be following the template laid out by Fahim UI Haq on codinginterview.com. They have lined up what one should be learning week by week in preparation for a technical interview. The language I will use will be Python 3.0. The series will be split into parts and break down more complex topics so anyone can easily understand. The hope is that this blog post series on DS and algorithms will be one of the best free resources.via the TL;DR App

The Why?
I remember being in my first Algorithms class for Computer Science at
Elizabeth City State University (ECSU) thinking, โ€œWhat have I gotten
myself into?!โ€. The material was daunting, and (most of the time) I felt
incompetent doing it. On top of these feelings, each student had to
present a solution to their coding problem utilizing algorithms learned
that semester. This included documenting its Big-O notation, while our
teacher is grading us on the material AND the number of times we say
โ€œummmโ€ (thank you Professor Rook, Iโ€™ve grown into a better presenter
because of your classes ๐Ÿ˜‚). To say that I was under pressure, is an
understatement!
So why create a series on a topic that caused so much stress?! Because I
believe coming back to a once difficult topic with my current skill
set/experience will yield not only understanding but improve my coding
overall (also, I would say I am a more confident software engineer than
junior me ha). I also think that going through this series, my own
unique way of explaining topics might help someone out there on their on
CS/engineer journey or on tech interviews.
During this series, I will be following the template laid out by Fahim UI Haq on codinginterview.com, which is a great resource! They have lined up what one should be learning week by week in preparation for a technical interview. Their outline is as follows:
  • Week 0 - Choose What Programming Language Should You Use
  • Week 1- Brush on the Basics w/ Programming Language
  • Week 2/3 - Data Structures and Algorithms
  • Week 4/5 - Practice Simple Data Structures Algorithmic Challenges
  • Week 6/7/8 - Practice More Complex Coding Interview Problems
  • Week 9/10 - System Design Interviews
  • Week 11 - OS and Concurrency Concepts
  • Week 12 - Object Oriented Interviews

Plan of Attack (PoS)

I will cover the topics on the schedule in a detailed manner (low
levelโ€Šโ€”โ€ŠIโ€™m seeking to breaking down more complex topics so anyone can
understand) and will end the blog post off with free resources that can
solidify any misunderstandings. Though I will be approaching the
material in an sequential manner, some topics will take more than one
blog post and will be split into parts accordingly. The language I will
be using will be Python 3. However, you should be able to apply the concepts in the language you choose to work in, if you have a good handle on the basics of said language.
The Hope
The hope is that this blog post series on DS and algorithms will be one
of the best free resources alongside many others that have helped me
during this time. Originally published here
Picture courtesy of Shahadat Rahman from Unsplash

Written by jeff-ridgeway | Software Engineer/Blogger
Published by HackerNoon on 2020/02/18