JavaScript from a Fresh Pair of Eyes

18 Jan 2023

JavaScript Experience

JavaScript in combination with HTML and CSS are the backbone for the content on the internet from the web browsers to applications. If it does not use it directly, it is built off it and it’s huge. I completed parts of freeCodeCamp JavaScript Algorithms and Data Structures certification which include Basic JavaScript and ES6. Coming from a somewhat newbie background, with most of my coding work coming from school projects or assignments, JavaScript was very similar to different languages I have worked with. Starting from my senior year in highschool I have used languages such as Python, Java, C, and C++ where as the years went on, I found myself finding coding more and more complicated than I realized. With many processes going on in the background, I feel I have only touched the surface of what it means to code. Going back to JavaScript, many of its parts were similar to what I have learned from arrays, variables, looping, and functions. I found JavaScript to be easier to type compared to what I have used before. I love how free you can code things in JavaScript compared to other languages I have used, but the lack of structure has changed the way I think about coding. One aspect of JavaScript I found interesting and something I didn’t know I needed was the different returns I could do. In languages like C I am restricted to one kind of return. If it’s an int function I can only return an int for example. With JavaScript however, I can just have a function which can return a number, array or even functions. For returning functions however, I’m going to have to think of ways I could utilize that feature. Going further into the freeCodeCamp course, I was shocked to see the different features provided by the ES6, which served as another reminder that I have a lot to go when it comes to learning my languages. Shorthands with concepts like arrow functions may be useful to optimize my typing which removes unnecessary typing.

Practicing my Programming

In the ICS 314 course at UH Manoa, we do Athletic Software Engineering which include WODs, which are timed coding practices which allows us to hone our competency with coding. This one concept is, in my opinion, one of the most useful exercises to further improve my coding. Practice WODs before the actual WODs was also useful because it allowed me to test myself on my own time, outside of a stressful classroom environment. The WODs provide just the right amount of stress and are really enjoyable. Leaning towards a non professional perspective, the WODs remind me of speed running video games or racing in a video game. I’m motivated by the brackets for times and I take it as a challenge to further improve my score on the WODs. With all of this in mind, this style of learning will work for me, and I might see if I can apply this sort of concept to my other classes where I’m able to have timed practices. I’ve noticed that given a time limit for an appropriate challenge, it helps eliminate anxiety about overthinking a question, and allows me to start building my muscle memory with these concepts.