The first programming language I learned was Java during my first semester as a Computer Science major. Everything I learned back then was so new and unfamiliar to me, causing me to worry about how difficult it would be to learn other programming languages in the future. This past week I’ve been self-learning basic Javascript through freecodecamp and it brought back those past memories and made me realize how much I’ve changed since then.
Prior to delving into Javascript, I was knowledgable in both Java and C, with some (but not a lot of) experience in C++. With those three languages as my background, things like syntax and concepts such as functions and arrays were not incredibly difficult to understand. Many parts of Javascript reminded me of Java and C, which helped my overall learning experience. However, one part about Javascript that I noticed which significantly differed from the past languages I’ve learned is variables.
As opposed to having variable types such as “int”,”float”,”string”,”char”, etc., the realization that javascript (in the case of freecodecamp’s basic lesson) used “var” to define any type of variable was very surprising it and took a while to get used to. After learning a bit more I also realized that there were also things like “const” and “let” to define variables. However, it was still so out of the box compared to the variable types used in Java and C.
As a whole, I think Javascript is a pretty decent language. However, with the addition of Javascript, I only have three languages (3.5 if counting the little experience I have with c++) under my belt. Pairing that with the fact that I’ve only learned the basics of the language so far it’s possible for my opinion to change in the future. In addition, through a little research as well as spoken word from my peers I’ve realized that javascript is a necessary language for Web Development. Since I have an interest in that field I look forward to continuing to learn the language as well as practicing with it.
The reason why I started learning Javascript was for my ICS 314: Software Engineering class. As opposed to a normal classroom setting, a lot of the learning for this class is done outside of class time and during the student’s personal time.
I’m not completely unfamiliar with this type of learning and some of my past Computer Science classes have actually used this style. In a way, it’s beneficial because it allows me to learn at my own pace and if I don’t understand a specific section I can go back until I can understand my material. However, this class is also proving to be very time-consuming. Since I’m a full-time student I need to manage my time carefully so I can devote enough time to this class while still doing work for my other classes.
Another aspect of this class besides self-learning is the introduction of Workout of the Day’s or WOD’s for short. WOD’s are tasks assigned by the professor that need to be completed within a certain amount of time.
The introduction of WOD’s was a very new experience for me. In my opinion, they’re a bit stressful since they’re timed and I’m required to think quickly and creatively to write out the code necessary to carry out the assigned task. Although they’re stressful I think they’re a good way to challenge students. By making WOD’s timed and in-class, students are unable to look for help online or from their peers which makes them rely solely on their own abilities.
Prior to doing the in-class WOD, the professor assigned practice WOD’s for students to do online. These are very helpful and gives an idea of what the in-class WOD will be like. Recently my class finished our first in-class WOD. In comparison to doing the practice WOD’s, the in-class WOD made me feel very pressured since my grade depended on how well I did and if I was able to finish in time. However, since I was able to get an idea of what the in-class WOD would be like as well as practiced writing code for tasks similar to it, I was able to complete the WOD within an average amount of time. Due to this, I will continue doing practice WOD’s and hopefully I’ll be able to continue successfully completing WOD’s.
Although I only know the basics of Javascript so far I’m looking forward to learning more about it in detail. Due to my interest in Web Development, I will pay close attention to the upcoming lessons in order to advance my fluency in the language. In addition, in order to do well not only on the in-class WOD’s but ICS 314 in general, I will continue to do the practice WOD’s as well as devoting time in order to learn and understand the material.