Learning TypeScript In Half a Week

08 Sep 2024

The Setting…

It is a Thursday afternoon, and you are looking forward to the weekend when you are suddenly told in your ICS 314 class that you have until Sunday to master JavaScript and TypeScript from scratch. Considering that you have four other courses, each with their homework due while also trying to balance a part-time job, you know it is time to lock in. And lock in I did. Thus, we have a typical college week.

What it was like…

I may have exaggerated a little since I also had prior experience in Java, Python, and C; learning a new language with similar syntaxes was not as monumental a task as I made it to be. Both Java and JavaScript are object-oriented programming languages with very similar syntax. A key difference between the two is that JavaScript does not have predefined types. There are pros and cons to this, however, one pro is that learning the language of JavaScript is not too difficult. A con of not having types is that it is prone to errors. This is where TypeScript comes in since it adds syntax for defining types and is a superset of JavaScript. Overall, this took ~8-10 hours to learn, but with dedication and determination, I persevered through.

But we are not done yet… (WODs)

This is not the end, since currently, our class is doing something called athletic software engineering. To clarify, this means that every week we meet in class, we do a timed coding assignment (called workout of the day or WODs for short) where our class would take what we learned from TypeScript and make real-world practical code. This puts a lot of pressure on the coder since it is a pass-or-fail assignment where if your code works, you pass, or else you fail. This is to simulate a real-life environment with deadlines ever looming over you. Although the WODs are stressful, as long as you are prepared, you will likely succeed.

In conclusion…

Although all of this may seem like a lot for one class (which it is), I know that at the end of the day, pushing myself to learn all these skills will make me a better coder by the end of the semester. In the end, the saying goes, no pain, no gain (this will probably not be the end of talking of this class).