At Least it Looks Better than C

28 Aug 2023

Last semester, in ICS 212, I had the opportunity to learn the programming language C, and while there were a lot of interesting topics, uses, and especially background to the language, it was kind of a pain to code in. Coming from learning my first language, Java, the semester before, and also taking Algorithms at the same time, where no actual language was even being used, C quickly became a very time consuming way to code.

So, coming into the very beginning of this semester and being thrown into learning and using JavaScript, off the bat I have noticed how nice it is to use. Of course the basics are the same, the if statements, the loops, recursion, but for some reason it ends up feeling more comfortable to actually write in, granted I have only just started with it. I think there will be some getting used to, especially with “===” vs “==” and “[]” vs “.”, but I am hopeful that knowing when to use which of those can come with time. The ES6 and Introduction to JavaScript problems honestly were quite time consuming but I think a needed refresher to coding in general and a great way to start practically working with a new language right away.

Athletic Software Engineering…

After reading Dr. Johnson’s explanation as to why the class shifted towards teaching athletic software engineering instead of cubicle, I think I can sort of grasp the reasoning as to why the change was made, and how this change can be seen in the curriculum introduced so far. Athletic softerware engineering essentially revolves around not only finding a working solution, but also doing so in a timely matter and efficiently.

I can remember seeing some obscure coding TikTok on my for you page a few months ago talking about productivity as an employee, that combined with the stories a past professor told me about being efficient at work or risk being fired has always left the idea of coding speed hanging in the back of my mind. Despite this, in all my classes, I always have made the most of all the time and extensions given on assignments and projects, and while that may be the smart move in the moment, I never stopped to think about how efficient of a coder I was.

The idea of times WODs and practice WODs, coding exercises that are timed, graded, and doen individually in class, really aggressively promotes the fact that time is in fact a very important aspect to one’s ability as a programmer. I appreciated Dr. Johnson’s example of the local Hackathon held on island and how the thought of completing a big project in such a small time frame can be very intimidating to newbie programmers like me, or just programmers who have never been put on a tight deadline like that.

I think that practically this is a good thing that we as students and future employees need to learn and become good at. That being said, it doesn’t mean that the thought of doing WODs, and doing them well, isn’t scary, it so is. However, I think the challenge and stress that comes with this kind of teaching and learning style can also bring out the best in students. Being pushed into a tight spot might bring out a side of people or an instinctual need to improve and do better that would be absent otherwise.

Personally…

Personally I think this kind of classroom will definitely keep the semester interesting and have me on my toes. I’ll probably end up changing my mind after failing my first WOD but I’d like to think I can refer back to this essay and regain the enthusiasm and hope I have in this moment.