Skip to content

Recitation 1: Learning Typescript (Asynchronous) - DUE Friday August 28th, 11:59pm

NOTE: This recitation is to be completed asynchronously. You do not have to attend recitation in person on August 24th.

Overview

This semester, you will be working on the open-source project opencode. Like most modern web codebases, opencode is written in TypeScript. Most students start this course without ever having used TypeScript, because of that, becoming familiar with TypeScript is a learning goal for this class. Picking up a new language quickly from documentation, rather than waiting for it to be taught to you, is itself a skill this course (and most software jobs) will ask of you repeatedly, so before you dive into the codebase, you'll spend some time learning TypeScript on your own.

Activity

Using the official TypeScript Handbook (or any other resource you find helpful, there are many YouTube videos) and online resources of your choosing, study (at least) the following core topics:

  • Basic types & type annotations (string, number, arrays, functions)
  • Unions, literals, and narrowing
  • Object shapes: interfaces and type aliases
  • Tooling, config, and ecosystem (tsconfig.json, flags, frameworks)

Note: In Project 1B, you will be asked to create a short multiple-choice quiz using your newfound knowledge of TypeScript. The goal of this exercise is to get you somewhat familiar with TypeScript. We are not expecting you to be experts at TypeScript, thus, you should not have to spend more than ~45 minutes on this activity.

Submission

Complete this recitation’s assignment on Gradescope to receive credit for the activity.