JavaScript Reflection

For my final Codecademy project I decided to do JavaScript. There are a couple reasons why I chose this exercise for my option. One, JavaScript seems like a foundational code on the web along with HTML and CSS. It felt like the logical next step in studying code. Two, JavaScript knowledge is found on a lot of job applications for technical writing. I wanted the opportunity to get started on gaining knowledge of this code for when I entered the job market. Gaining a cursory understanding of these three markup languages will help position me as top candidate when I enter the field as a new graduate. I have heard stories about the difficulties of learning JavaScript and have even heard that Codecademy’s tutorials were especially difficult. After going through these exercises, I can say that this is the case. I will talk about some of the skills I learned along with the struggles I came across. I will also discuss why I think I had these difficulties.

Since I had some experience with HTML and CSS, I was already introduced to many of the terms involved with the languages. Just about every term presented in the Codecademy exercises was familiar to me, even if I could not define them beforehand. With HTML and CSS, most of the terms are straightforward. Tables, blocks, ordered and unordered lists, padding all find themselves in everyday usage and when it came time to apply them to coding, it was not difficult to see how they fit into the language logically. This was not the case for JavaScript. I was introduced to terms like Booleans, modulus, interpolation, function, and parameters. These terms sound like they come from a mathematical lexicon (but how would I know), which made them sort of alien to me. What initially provided a difficulty for me was getting comfortable with new terminology. I found that keeping a handwritten log of terms was beneficial during this process.

I think the overall connection to mathematics is what made this course more of a challenge to me. I found myself drumming up memories of algebraic formulas and order of operations in an attempt to understand the construction of JavaScript. It has been damn near fifteen years since I have taken a math class and my brain, which has been nestled comfortably in the humanities, had to fire up some old synapses. While this was difficult, it was also enjoyable. I have a strong desire to move into the software industry as a technical communicator. It would be in my best interest to become more comfortable with math principles. I have a long way to go though.

I suppose that a lot of this reflection is kind of based on assumptions. I do not really know why JavaScript is confusing to me. With HTML and CSS, the ordering of the markup made logical sense. I could see the way the page is laid out based on the way I wrote the code. Headers are followed by paragraphs, words are emphasized, images go where I want them to, and tables follow the order I give them. Not so with JavaScript. With JavaScript I am programming functions that will take place on the web. I am telling the computer to react to an action performed by the user. It is harder to see the way a computer thinks. The basic commands that I learned in the course were not that much trouble. When I create a variable (var), I could then place that variable in a block that completes a sequence. If I like pizza, then the script will run as true, or else it will come back as false. Then I can program a console.log to run different results based on the answer that is given. This is simple enough. When I started embedding functions within variables and interpolating strings of data types, then I started to get frustrated. I think much of this has to do with the fact that I am still not able to see the logic behind the code or picture the results on the page.

It is possible that Codecademy does not have a good JavaScript course. I looked online for some reviews about the JavaScript lessons and there seemed to be opinions ranging from “not a bad start” to “don’t learn JavaScript from Codecademy.” The ones who flat out did not like the course said that it is an unnatural way to learn the code because it exists outside of its environment. I think this is kind of what I was getting at in the last section of this reflection. But I think there was more going on here. With the HTML and CSS courses, there were very slow and patient steps taken through the early and basic concepts of the language. So by the time I reached the more complex lessons, I possessed a decent foundation. JavaScript did not do this in my opinion. There were far fewer lessons to work with and on top of this, you had to buy the premium package if you wanted to take the quizzes.

Looking back at the catalog, there is more than one JavaScript course in Codecademy. I went through the one called “Learn JavaScript”. There is another one called simply “JavaScript” and this one could be better since it looks similar to the HTML and CSS courses we did for class. I am a little frustrated that I did not complete this one instead, but will definitely go back and work through more of these Codecademy courses on my own.

Overall, I am pleased with the experience. I like to get out of my comfort zone in order to gain skills that will be useful when I enter the workforce. Getting into a routine of learning and refining my knowledge of coding languages is something I have been meaning to do. I tell myself that I will make this a hobby and getting the chance to jump into this hobby for a class project helps immensely. I cannot expect to become fluent in any of the languages we looked at within the span of one semester. Playing with code will need to become a regular exercise for several years (or more) before I really become comfortable as a developer or at least a technical writer with developer skills.