The problem that I was stuck on was trying to add an object to an already existing object. In JavaScript, an object is a collection of data stored in key:value pairs. For instance 'name: "Jill"''. I needed to add the object and I thought that I already knew how to do this, so I went ahead with what I knew - and it didn't work. I thought, 'strange', that should work, and then tried several different ways to try and add it, to no avail.
The problem solving techniques I used were to go back and reread the question again, to see if there were more clues on how to do it in there. After that I went and read the documentation on how to add objects to preexisting objects. I then talked myself through the process, as though I was talking to someone else in the room.
I felt good throughout the process and I knew that I would get there and solve the problem if I took it a step at a time, and I knew the problem was easy. I learnt that I need to read the questions or instructions more thoroughly to begin with and then if I don't quite understand the problem, instead of keeping on guessing, to go and read up on the subject and then apply that knowledge.
In the Built-in Methods Kata there was a problem in which we needed to remove instances of the word Buzz from an array, no matter the capitalisation. For example, if a list of words was passed on to me that said 'Hello Buzz i like your buzz cut it's pretty BUzz E', I would need to create a function (a function is a little piece of code that does something to create an outcome) that removed all of the buzz words.
The probelm solving techniques I used were to reread the question very carefully and break the question down in to simple steps. I then took these steps and expanded on them with my own words, creating an instruction that I needed to complete - this is called using pseudocode. With these instructions I figured out that I would need to manipulate the sentence (array) before trying to remove the words. I knew that there were methods that I could apply that would do this, so I had a search for array methods and read up about them. I then talked to myself in my head about the best way to code out these methods and then talked myself through my solution to the problem step by step outloud. The solution I had didn't work, so I looked for more information and found what I needed.
I felt good throughout this probelm solving task as I knew I had several different types of problem solving techniques I could use to help me. If I really couldn't figure it out I could always ask my facilitator to help me. I learnt that reading the question properly, pseudocoding and doing the problem step by step is a great way to code!
Pseudocode
I feel like this can be very helpful and it has been when I've been using it. I need to try and use it more and then make sure I use the pseudocode to tease out what JavaScript is required.
Trying something
Usually my third step after pseudocode and googling. I'll see if I can do it then move on to console.log, so I feel quite confident in trying something.
Rubber ducky method
I really like this method and am confident with it - I find that it does help me. I'll read out loud to myself but also pose a question that I would normally ask a coach and sometimes I can solve the question myself.
Reading error messages
I use the error messages and google them to get an idea of what they are about and see if stackoverflow can help! My confidence has grown using error messages but I still need more knowledge.
Console.logging
I have started to use this a lot more when we aren't doing TDD and am slowly building my confidence with it. I sometimes feel I am not doing it right and I get a lot of 'undefined' returned!
Googling
Very confident, I love Google! I have a few main sites that I go to for help, such as The Coding Train on YouTube, stackOverflow, W3 Schools and Mozzilla Docs.
Asking peers for help
I have only done this once so far however I think that I will do this a lot more once on campus.
Asking coaches for help
I am confident asking for help but am also wary that I should have exhausted all of the other avenues before turning to a coach.
Improving your process with reflection
I dream JavaScript these days and go to bed thinking about what I've learnt. To reflect, I go back to problems I have solved in the past and redo them while talking about the problem and solution to myself. I do this to reflect and make sure that the knowledge gets 'locked in'.