Coding Bootcamp Week 3/13: More JavaScript Fundamentals + Recursions and Object-Oriented Programming

Karla Ferry
3 min readNov 9, 2021

--

We learned recursion this past week and it was fun and we learned recursion this past week and it was fun and we…

Just when our mentors thought they couldn’t get any more Inception references from their students, we proved them wrong. There was funception the previous week, and this week was loopcetion.

Did you know?
If you Google “recursion”, you’ll get a “Did you mean: recursion suggestion with the word “recursion” hyperlinked. It links you to the same page… RECURSION!! Badum-tss.

What we Learned This Week

Compared to the previous weeks, we have only covered a “few” things this week. Few, but bigger things, so they had to be discussed and clarified again and again through round-ups and frequent nchelp.

Here’s the summary of what we tackled this week:

  • Recursion
  • Factory Functions
  • Prototypes and Constructors
  • Classes and Inheritance

My first Recursion

My first exposure to recursion was during the preparation for the entry challenge to the bootcamp.

I was so worried because it basically blew my mind. I had no concept of Local Execution Context so I had zero idea about how it works visually, and all I knew was your ordinary for loop. Even the for loop seemed complicated at the time, what more recursion?

Thankfully, during this week, I was able to fully grasp how recursion works. The mentors started with introducing the Local Execution Context, and giving us a visual representation of what exactly is happening behind the scenes.

As a visual person, I learn and understand fairly quickly if concepts are explained through diagrams. To put my understanding of recursion into simple words, it’s basically a Matryoshka doll.

Object-Oriented Programming

Along with recursion, we were also introduced to Object-Oriented Programming. And let me tell you, it easily became my favourite. I have since called myself an Object fan.

We learned how to use objects in creating functions and classes, and using the “this” keyword to keep our code DRY.

For one of our sprints, we were tasked to code a Pokemon Battler command line game and we had to use classes and inheritance. Although I didn’t have enough time to explore InquireJs in order to put my code together and play it in the terminal, I’m still pretty proud of what I have done.

I keep looking at it and thinking, “Two weeks ago, I would have never understood any of this.”

I’m starting to love TDD!

My Love for Coding Grows

During the Pokemon Battler sprint, there was an issue I was working on solving for a whole hour, and when I finally solved it without any assistance from mentors, I literally BAWLED. It was the first time coding made me cry tears of joy. It’s almost usually tears of frustration!

My remaining 5 brain cells when the tests say “PASSED”.

This incident made me realise that I love coding for everything that it is: from the hours of frustration because I can’t get something right, to the dopamine-inducing green ticks.

Really, the only reason I’m not coding in the weekends is because I want to keep my sanity intact. Otherwise, if my sanity and general health wasn’t at risk, I’d be coding 24/7.

Looking forward to next week!

Northcoders Bootcamp Series

--

--

Karla Ferry

Previously self-teaching, now a Northcoders’ student training to be a software developer.