Learning TypeScript In Half a Week

03 Sep 2025

The setting…

Today is Monday. It is the first day of school and you have prepared extensively for all of the classes you will take. The first day, you are hit with homework assignments due the next day and every subsequent day after. You are prepared, however, since you wrote down all of the due dates before hand. Despite this, things go by in a flash; by Friday, you must have a decent fundamental of JavaScript and TypeScript for your software engineering class. By the weekend, you are already doing coding challenge practices in a language you just learned for a in-person timed test you will do on the following Wednesday (more on this later). Considering you have a part-time job to balance as well; you know that you have to lock in. And lock in I did. Thus, what the first week of one of the hardest CS courses looks like.

What it was actually 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 work intensive 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 ~10 hours to learn, but with dedication and determination, I persevered through (these hours do not include the construction of this website and the initial essays and projects made).

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 (for this week, 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. It is done 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, especially considering how I am also taking algorithms at the same time…), 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.