JavaScript is one of the most popular languages used for writing code. It is often a “beginner” language or “starter” language due to its versatility and design.
Typescript is a superset of JavaScript. This means that it includes everything that JavaScript is, and more. It includes extra features that help mitigate some of the issues that JavaScript runs into like mistakes and errors.
The first time that I had heard of TypeScript was in ICS 314. It was an intriguing concept to me, and made sense. At the time, it was not intuitive and I found it to be a little difficult to navigate. It is different from learning a new language, since its base is JavaScript. I was learning an addition to a language, and that meant refreshing my JavaScript at the same time that I was trying to learn TypeScript.
I think that it is useful, and I can see why it is highly regarded in software engineering spaces. It mitigates problems in advance, which can save a lot of time and improve your code. From my experience in ICS 314 so far, I am finding TypeScript to be a good programming language from a software engineering perspective.
Athletic Software Engineering is a pedagogical approach that treats learning new skills like athletic training. Repetition, speed, and consistency are key parts of Athletic Software Engineering and WODs (Workout of the Day).
The “training” aspect is doing the WOD which is a task that is performed under a time constraint. This is a good idea in theory, especially because this reflects real work environments where time is of the essence and using your resources is essential. This includes using the internet and artificial intelligence (AI) to assist.
The same is true for ICS 314 where AI usage is allowed. I find the WODs to be stressful, especially with the time constraint. I also think that the usage of AI is a difficult subject, since it has been emphasized that it is supposed to be used as a tool.
Heavy penalties for academic violations were also emphasized. At the same time, if the task is not completed within the given amount of time or is not correct, no credit is given for that WOD. With AI getting better by the day, this may grow to be a more contentious topic. I personally do not think that doing the WODs will help me gain any skills related to coding per say, but maybe more towards time management. Because I have not done many WODs for this class yet, this may change with time.