JavaScript-ing My Future

06 Sep 2019

A fish who does not know what is going to happen next. Super relatable

My initial thoughts about this class (introduction to software engineering) were mixed. I have heard that this class does not follow standard teaching routines, where students would sit in front of an instructor who will proceed to lecture for the whole class period. Instead, it follows an athletic one (called atheltic software engineering), where students learn the material on their own time and practice that material in class. This practice is in the form of multiple Workout Of The Days (WODS for short) per week. It is now almost the end of week two, and I was tasked to learn Javascript and use that knowledge to complete this week’s set of WODS.

The exposure to Javascipt that I had was limited to hearing about it from classmates who have taken the respective course for it. According to them, Javascript is easy to learn. I took their testimonials with a grain of salt because everyone learns things at their own pace. However, after taking the first two sections (Basic Javascript and ES6) of the Javascipt course on learn.freecodecamp.org, I can confirm that the basics are easy enough but the ES6 took a bit of head grease to work with it. As a complete Javascipt noob, the basics of it are very similar to C/C++ and Java. For example, in C, variable declarations must include a variable type and a name for the variable (i.e int x = 2). In Javascript, variables declarations include either the keywords “var” or “let” and a name (i.e var x = 2 or let x = 2). In Javascipt, it seems like the variable’s type is determined by its set value. As for the ES6 section of Javascript, I say again that it took a bit for me to understand. From my limited experience, I think that Javascipt is a good high-level language just like C++ or Java. I also think that the only differences between them are code syntax and the people who exculsively use one of these languages.

As for the mechanics of actual in-class time, I think the idea behind software engineering as a form of mental exercise is great, and that it works for me. Having WODS seems like a fitting way to actually learn and retain what is to be taught in weekly learning sets (called modules). Sure, being timed and graded on our programming prowess in WODS can be stressful, but this type of learning is described as athletic for a reason. It is so because it follows the same procedure as physical exercise. It will hurt the first few times, but after programming many, many, many more times, WODs will feel like nothing. In any case for programming, the more we work with the language the better we get at it, and it makes problem-solving with it much easier and sweeter. To this end, I definitely would say that this form of teaching is very much enjoyable to those willing to put the quality time for it. What stops me from saying that it is super omega enjoyable are my other classes, all of which need the same level of focus as this class.

Update Thursday 9/5 @ 3:52 pm:

Just got up from a two hour nap after having gone through today’s WOD. I can confirm that it mentally hurts if you cannot finish (DNF) the Thursday WOD (tWOD?). What I took from it: you CANNOT change strings literals once set. Make changes to it by making a completely new variable to hold the new string.

Update Thursday 9/5 @ 4:53 pm:

Grade for the tWOD came through. Ouch.