What I learned after studying algorithms for 1 week

I’m pretty bad at technical questions in software interviews. When I came across one I would start to panic. Then I would lose faith in my abilities as a programmer and it would set the tone for the rest of the interview.

One day I just had enough and decided to get better at technical question. So I did what most people do in my situation and went on Hacker Rank. I told myself I was going to conquer these technical questions.

I practiced for about three days before I never opened up the site again.

I learned that I wasn’t that good at Python. Knowing what dictionaries are and working with them are too different things. It’s similar to reading about how to drive a car vs actually driving the car. It takes a lot of muscle memory. It just takes a lot of practice to acquire any skill.

A friend suggested that I sign up for Coursera’s Python for Everyone Data Structures(P4E) and Algorithms Toolbox.

I usually audit classes on subjects that I have a good foundation on. But in the case of Algorithms Toolbox I felt it was important to be able to turn in the homework assignments in see how I’m progressing.

There was one tiny problem I’m broke…..

I applied for a scholarship to be able to take part of the class. Luckily the decided to give me six months to complete it. I’ve finished lessons from both Week 1 and Week 2. Here are some general concepts that I’ve learn so far.

  1. When approaching a problem don’t worry about making things incredibly efficient or pythonic.

Just worry about getting something to work. This is usually called a naive algorithm. A naive algorithm is an algorithm that is very simple. Its usually has a slow runtime. You refactor your code to a faster efficient solution.

2. Break the problem into little steps until you find your end solution

3. Stress test are awesome and they save you a lot of wahala

4. Print is a good debugging tool

5. Its alright to struggle.

Everyone struggles at some point. Its means your getting out of your comfort zone and learning something new.

6. It is okay look at other peoples code to get inspiration from.

There are times when I get stuck and I have no clue what to do. During these moments I would Google the problem and look at other people’s solutions. I would see if I understand their logic and use it in my code solutions. There is a difference between inspiration and plagiarism.

This course is not an in depth look at algorithms. It just something to get you up and running.

Full Stack Developer | Aspiring Data Scientist | Northwestern Coding Bootcamp Student | Udacity Scholar | Foodie

Full Stack Developer | Aspiring Data Scientist | Northwestern Coding Bootcamp Student | Udacity Scholar | Foodie