Problem Solving
Blocked on a simple problem...
So during some coding Kata's back at Dev Academy(think of it as code training questions to help build skills), we had to add each student from an array(an array is a varible that holds a list of data) to a property of the gradebook(gradebook is an object, inside an object you can have key(property) and value(property type) pairs). I started this question with a for loop (click here if you need a refresher on loops, arrays and objects) as I knew we had to go through each student in the array, but we had to add them to the gradebook as a empty object, which to be honest I was pretty stumped on and I struggled with the syntax for adding them as an empty object. Still trying to get my head around the syntax after the loop to give me my desired result, I really had to google a lot for this question and used a bracket notation for the end result which I have not really used before.

In the moment, like this question, it sounds easy and it feels like the solution wouldn't be that hard, but it can get a bit frustrating trying to find the answer, especially if it is new syntax you don't know how to do. Overall though, I learned about object bracket notation due to googling how to solve this which I did not really know about before this exercise. I'm still unsure if the question could be solved without bracket notation...
Elegantly solved a problem...
Fizzbuzz, this is a coding challenge that crossed my path. The solution sounded like a simple conditional statement from the beginning (click here and have a read of the first paragraph under control flow if you need a refresher on conditional statements) The question was to fill in a function (click here if you want a refresher on functions) that takes a number as a parameter, then if that number can be divided by 15 return a string, if it can be divided by 3 return a different string, if can be divided by 5 return a different string, otherwise just return the number. I knew this statement required a % from my past experience learning conditional statements, cause if a number divided by 3 gets divided perfectly, the remainder should equal 0. I wrote the conditional statement near correct from the start but completely out of order. Reviewing the testing results, I realised it must be in a certain order and the adjusted the statement to suit.

I felt confident throughout the process but was questioning why my first result was not working then I realised after reviewing the test results. I learned how useful tests can be, they act as a guide for the most part, and also this question reaffirmed the difference between equal to (==) and strict equal to(===) for me, the latter being equal value and type, since we are comparing numbers, either one can be used for this statement.
Reflect on how confident you feel using each of these problem-solving techniques/processes
Pseudocode is something I am really putting effort into trying to learn more after finishing the katas. I felt my pseudocode throughout the exercises was lacking, I felt I was just repeating the question asked and not breaking it down fully, I feel this comes with practice though and it is still very new to me. This is something I am trying to practice and truely implement in my problem solving going forward. I know the learning process is to break things into small steps, this applies even to something as small as a function and pseudocode is a strength for this. This reminds me of my mindset blog, and one of my new favourite sayings "practice makes permanent". I am trying some online challenges like the katas to try and get this down more.
The rubber ducky method, I wrote this down and stuck it on my wall above Master Chief...

(surely if Chief can save humanity from the covenant he can help me solve some coding questions). Well this is something else I need to practice more, instead of just jumping straight into google, it also brings me back to pseudocode and going through steps to get to the end solution. I need to rely on chief and my own logical thinking a bit more before jumping to google.
I feel confident with console logging and error messages. They give you clear hints on where syntax may be wrong, what line, or how a variable has already been defined, undefined etc. Google, I feel like google is a coders saviour. It helps when it comes to writing the syntax for solutions, and also gives insight into possible solutions, I feel like most people my age are good at using google. For coding questions, its much more helpful searching for the solution in small steps, eg how to split a string into an array, then searching and learning how to use .map on that array you just split. Overall I feel good using google.
I did not ask for help from my peers or coaches during the katas, I did not feel the need to came about but I know it's there if I need it. I will say it feels good when you're able to aid someone else and help fix a problem or answer a question they may have. The katas were challenging I will say, I would try write out a solution before hitting up google but most of them sort felt like i was on the right track but my syntax was wrong, and even after googling and changing my solution to what I thought would work, it would still fail. Trial and error is part of the problem solving journey I feel, and keeping that growth mindset, knowing that it's just something I have not fully learnt yet helps. Reflection is something I need to implement more, I can't say I reflect on a process after it has been completed or during that much. I feel this reflection right now, in a way is helping me see my strengths and weaknesses when it comes to coding and problem solving, and has definitely opened my eyes a bit when it comes to my process.