In my current university career, I have been introduced to and applied multiple programming languages. My major, being computer engineering however means that while I have learned the basics of programming in C++, most of the other languages I have learned are hardware related. These lanugaes include Verilog and machine code. ICS314 was the first class that I have taken that has formally introduced me to another software language, Javascript. I have previously used Javascript in EE491E which is called Internet of Things. Javascript’s usage in the course however was very limited and usually comprised of simple logic and json packaging in Node-Red. Having completed a 107 problem excercise in Javascript, I have noticed many similarities with C++, a language I am already familiar with. There are a few notable differences, some of which are useful such as string searches. One of the aspects of Javascript which is different from C++ is the variables. Javascript variables are not completely type-safe and depending on how you assign the values, the values may be saved as different types. While this is probably fine if you’re just using Javascript since the types automatically convert, I believe this is a bad programming practice. Aside from these differences, Javascript appears to be fairly similar to C++ syntax and I can surmise that Javascript could potentially be used for similar applications as C++.
The notion of learning how to program in my opinion can often be misleading. One phrase that I truly believe when it comes to programming is, you do not learn to code, but rather code to learn. In otherwords, applied programming is the only real way to truly learn a programming language. ICS314 incorporates a similar approach to programming with the so-called athletic software engineering. Athletic software engineering concepts are applied in ICS314 in the form of work outs of the day or WOD’s. I believe WOD’s are an excellent way to implement athletic software engineering. WOD’s incorporate simple programming questions into a time constrained format. This simulates stressful programming situations which can help simulate interview programming questions. I myself had some trouble with the first WOD which was the fizz buzz programming question. While I finished the problem in RX time, I wasted a significant amount of time attempting to recall how to print out strings to console in Javascript. While this is partially due to my unfamiliarity with the language, the rest of it was due to the stress of having to program quickly. I believe this style of practice will help me since it will simulate timed/stressful situations rather than the difficulty of the programming questions.