Hello, Javascript!

18 Jan 2022

JavaScript first impressions
Out of the languages I have experience with, JavaScript is most similar to Java. The languages I have experience with are Java, Python, MATLAB, System Verilog, and MIPS assembly. To be frank, I am not adept at any of these languages, but Java is what I have most experience with currently from prior classes and work. Although JavaScript is new to me, it was not too challenging to pick up the basics from the FreeCodeCamp’s Introduction to JavaScript and ES6 because of my previous experience with Java. The largest difference to me was the use of const and let in JavaScript. I was used to making specific data type declarations, such as integer, double, and string, for example, but in JavaScript, const and let are extremely flexible. Despite my limited experience with JavaScript, I find these features the most useful. FreeCodeCamp’s Introduction to JavaScript and ES6 were extremely helpful in teaching me the basics of JavaScript. Although it was quite tedious to complete, revisiting basic coding concepts was a helpful refresher and the problems taught me new concepts I did not know beforehand, such as promises and switch statements. Overall, JavaScript is a useful language to know, and I look forward to becoming better at using it.

Athletic software engineering and WODs
My first impressions of athletic software engineering and WODs are positive. This style of learning seems extremely helpful and useful in helping students like myself develop our coding skills. Pressure and stress are applied weekly to be prepared for these WODs and in return, students will better remember the material through application instead of memorization. Additionally, I do not have any whiteboarding experience, so WODs will help me prepare for future interviews. Earlier at Brandon’s practice WOD, I struggled to remember the JavaScript formatting and failed to complete the problem on time. I was in the right direction and knew all the structures needed to complete the problem, but my implementation was wrong. I know already that a weakness of mine is not thoroughly thinking about how I will solve a problem before I start coding. I tend to start coding right away and not think of the optimal solution. In a simple problem like Brandon’s practice WOD, I failed to complete the problem in a timely manner because I did not take the time to think thoroughly about the structure of the solution. WODs make weaknesses apparent, and this knowledge can be used to improve my coding ability. In future coding assignments, spending even a minute longer on brainstorming an approach may help me better solve the problem. However, this and the other practice probolems helped me pass the first WOD.

Exercise 07, Project Euler Problem 1 (If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below 1000.), took me two tries to complete with times of 6:24 and 2:21. The other practice problem, Exerice 08 isUnique (Implement an algorithm to determine if a string has all unique characters), took me 11:22, 7:55, and 1:53 to complete. I obtained the correct answer all times, but practiced to become more efficient. I think the suggested strategy for these exercises is great: try a problem on your own, do not go over the DNF time, watch the solution, and keep trying again until time to completion of the correct solution is adequate. Overall, WODs are a stressful experience, but they promote growth and I believe that it will help hone my coding skills.