Day 35 (Okay, it’s actually Day 37 but still…)

I think I’ve figured it out guys

I’ve been concerned for a while about getting stuck on projects, challenges, and even tutorials. It just felt like something wasn’t clicking for me and I wasn’t progressing.

Algorithms.

There are plenty of people who think algorithm practice is completely useless. When I was looking for resources, the advice was typically “just build something.” That was my problem though – I was “just building something” and clearly missing something in the foundation. I tried switching up courses, switching up languages,

One of the videos I was watching reminded me of one of the Algorithm Scripting Challenges I had been stuck at on Free Code Camp. After working at it for some time, I had passed half of the requirements, but nothing I did got the other half to pass. So I Googled.

As I looked at other people’s code and FreeCodeCamp’s solutions, I realized that none of the solutions looked quite like mine. That’s not inherently a bad thing – there can be dozens of ways to solve one problem. The reason that it bothered me though was that the other solutions used methods I didn’t even think to use and/or had forgotten about. Then, I realized that while I could read the code, it was challenging for me to really interpret and understand it.

Light Bulb moment

When I got stuck on previous Algorithm challenges, I would refer back to challenges I had already passed for clues, or even the Basic JavaScript exercises. So, that’s what I did – I started opening up older scripting challenges to see if any of them were similar in nature. Next thing I knew, I started trying to solve them again. Suddenly, I knew exactly what I needed.

As a result, I’ve spent the past week or so practicing algorithms instead of finishing the course I had intended to finish. But, honestly, this is the most accomplished I’ve felt in the past 37 days.

Goals for Day 40:

  • Complete ES2015 – I am more than halfway done with this course (55 minutes left)  with a weekend ahead of me and it is 100% doable.
  • Complete 2 Algorithm challenges a day.
  • Research other resources to help keep up with Algorithm practice.
    I know that there are some “coding dojos” out there – I’ve used CodeWars this week. What’s your favorite? Which would you recommend?

Day 25

Goals for Day 25:

  • Complete Object Oriented JavaScript (2 hours)
  • Complete The Module Pattern In JavaScript (16 minutes) I ended this video with more question marks than when I started it. This will definitely take some additional digging on my own to understand a little bit more.

This upcoming week for me is a busy one, which means that getting my coding time in will be more difficult. Difficult, but not impossible so I set my expectations and goals accordingly.

Goals for Day 30:

  • Complete Introducing ES2015
  • Research and post about Module patterns in JavaScript.

Day 20 (Pt 2)

I started the Object Oriented JavaScript course today and completed section 1, Introduction to Methods. We covered:

  • Objects
    • Methods – provides functionality of objects and may or may not return values.
    • Properties – stored data or state of an object
    • Keys – the name of a property
    • Values – the contents of a property
    • Native & Host objects

In this section, we also built the beginnings of a calculator which has given me an idea for my weekend project: update the code of my JS Calculator using a calculator object. Not only does it actually make a lot of sense, but I also think that my code will be cleaner and easier to read when re-organized this way.

Day 20

Goals for Day 15:

  • Complete JavaScript and the DOM (3 hours)
    Finished! It took me a few days longer than day 15, but I still feel good about it.

 

 

Goals for Day 25:

  • Complete Object Oriented JavaScript (2 hours)
  • Complete The Module Pattern In JavaScript (16 minutes)

 

 

Day 13

 

So far, so good!

I set my expectations for these first 2 weeks as increasing how much time I spend coding. Coming from a few months of nearly 0 times per week, I’m up to at least 4. Success!

Weekends are where I fell off which surprised me a little bit. Since I obviously have more time to code on the weekends, I thought my productivity would increase like it had previously. I found that it was actually harder to interrupt a day of doing nothing to do something that I kind of classified as “work” in my mind. To combat this, I will use weekends to focus on completing projects more so than courses. I still have plenty left on FreeCodeCamp and have a few ideas of my own.

Going Forward, I will also post an update every 5 days – specifically days ending in 0 and 5. I’ve mentioned this before, but writing has not only been fun, but beneficial in retaining information. Being able to talk about what I am doing in detail – in a way both techies and non-techies can understand is a skill I appreciate having and improving.

Goals for Day 15:

  • Complete JavaScript and the DOM (3 hours)

 

 

Day 1

Decided to start my own #100DaysOfCode starting today.

Dance season is over, which means more time to prioritize coding and learning and building and blogging. So here’s what’s happening:

  • Paused CS50.
    I feel as though I come off as indecisive and wishy-washy. I have enjoyed CS50 and will definitely complete it in the future. Learning a new programming language is exciting and I definitely benefited from trying something new, but it also reminded me that there’s still plenty to learn and build with JavaScript.
    Trial and error, folks.
  • Reactivated my Team Treehouse account.
    It has been over a year now since I last had an active account. I decided to reactivate it because I wanted a bit more structure than FreeCodeCamp or Udemy offered. Things like quizzes, tracks, suggested goals, and time estimates were appealing to me.
    I will be jumping into the Full Stack JavaScript track. Treehouse now gives the option to test out of courses, and I was able to test out of a couple of basic JS courses. I now have 32 hours left before I complete the track. At an hour a day, that’s only a bit over a month and just under 1/3 of my challenge.

Day ?????

Last you heard from me, I was in progress to complete that JavaScript 30 course.

I haven’t.

Initially, I was a bit ashamed to write a post admitting that I didn’t stick with my plan. I remembered, though, that this blog is about my learning experiences and this is one.

I completed 13 days of the course. But there were also other events in my life.

  • I flew home for the holidays and, despite my intention to code at least once a day, I spent far less time at my computer and a lot more time with family and friends  hadn’t seen in over a year.
  • I was recently promoted to a Business Analyst role at my current company.
    *Insert happy dance gif*
    I will be doing more process improvement and project management – both of which I see as extremely useful skills for a developer. Not to mention, I’ll be working with some SQL and have more involvement with web processes.
  • As much as I was being introduced to things with JS 30 (and the other resources I’ve been dabbling with), I still just felt *stuck* and couldn’t see a light at the end of the tunnel.

I believe that the reason that I have been stuck is because I haven’t truly gone back and studied fundamentals of Computer Science. I didn’t exactly need to when my goal was to just build websites. But now that my focus has shifted toward web and software development, those gaps in knowledge are important to fill. Otherwise, I’ll continue to be perpetually frustrated and that doesn’t sound like a pleasant reality to live in.

I have started the CS5o course offered by Harvard/edX. It is designed as a 12 week course and serves as an introduction to CS topics like algorithms and data structures. It also introduces you to SQL, JavaScript, Python, and C languages.

I figured that if I am searching to fill in gaps, starting from the very beginning isn’t a bad idea. It is impossible to walk away without learning anything- I’ve never worked with C or Python before. At the very, very least, I will have those in my toolbox in the end. The ultimate goal is to walk away from this course feeling more confident in my abilities as a developer, and being ready to kick ass.

Keep rocking with me and stay tuned for CS50 updates.