Taking the time to (finally) formally understand Javascript

17 Jan 2024

As someone who loves just getting into the weeds of things, I’m kinda a fan of Javascript. Big thanks to my Software Engineering I (ICS 314) class for forcing me to sit down and actually learn the syntax!

Origins

I first started programming with Python sometime in middle school, where I made little toy programs. I would never be able to progress in my programming knowledge past toy programs, so I stopped doing anything with Python up until much later when I started trying web development in the later years of high school. I started with FreeCodeCamp’s html/css course, and I remember doing a small bit of the Javascript class. At that time, I genuinely had a huge interest in learning Javascript, simply because of how important it was in the entire web world. However, life and the college grind gets in the way, and I didn’t find there was enough time to do much web development (especially when you choose a completely different major like Electrical Engineering).

What is it about Javascript?

The point is, I didn’t get into Javascript for any other reason than to actually apply it to real life apps and tools. But I can’t just start hacking away a half-working mobile app that runs slower than a Minecraft redstone computer. It’s great to have the drive to just “YOLO” and start creating cool things, but it’s also important to take a second and learn important things such as the way data is passed throughout the web. This in mind, I think it’s great that my first software engineering class started with a pretty long introduction to the basics of Javascript. Before learning anything to do with apps and real applications, it’s important to really take the time to learn the language that drives it all.

I really did not expect the Javascript basics to take as long as it did. It took a total of 4 hours to complete around 140 exercises on FreeCodeCamp. I did it all in one day, but in my high school programming days, I would have taken around two weeks to complete it all (even though I had so much more free time back then). Doing this entire module in one day really gave me insight for how quickly my ICS 314 class will really go. When it comes to developing code in the real world, there is going to be a certain speed we have to work, which I believe is the intention behind how quickly we go through concepts in this class.

I already took some programming classes that was included in my EE major, so I’m already familiar with a lot of simple homework assignment algorithms. The software engineering class I’m currently taking required me to do this Project Euler problem, which was quite straightforward in my opinion. I was also required to complete the first problem in “Cracking the Coding Interview” as part of my weekly assignments in that class. The main thing I took away from these assignments were the format of the practice tests we take every week or so.

This class takes on a method of teaching programming that is very unique which can be quite effective. Learning the syntax of Javascript is one thing, but it’s an entirely different beast to develop complex programs with all the bells and whistles. This class will constantly test us on software engineering concepts, with these tests being a huge portion of the ICS 314 grade. This added pressure can be a good thing for developing the speed and know-how to develop software. There are limitless ways to use Javascript to build applications, but there is definitely a direction that the class wants to take for designing working applications.

I appreciate that I had the introductory Javascript module as a number of assignments for ICS 314. The main reason why I wanted to take this class was to really see the direction of application development that this class has to offer. While I learned the Javascript syntax just fine, I may have complete difficulty with actually designing working systems. While this module was grueling, it’s probably easiest part of this class. While this may be a source of dread for some of us, I’m excited about this rollercoaster of a class.