Software Setup Guide

Contents:

Why you should begin your setup with this guide!

This step-by-step set of instructions is meant to speed up and familiarize you with the tools listed under the Tools section of the course website.

Please do the following steps before you arrive at our first section of the quarter. If you have any trouble, get as far as you can on your own and come to section with what you have. Also, feel free to reach out to us on Ed or attend OH, we are happy to help guide you through this process! :)

Determine your operating system

Figure out if you're using a MacOS, Windows, or Linux. Then, make sure that you follow the instructions that work for your computer as you proceed through this document. For this course, we recommend that you do any and all coding locally.

A note for Windows users: For any downloads you perform in this course (both downloading tools in the following instructions and downloading/cloning any section or homework code) you should make sure that you are storing things in local directories. Specifically, do not place code or other downloads in a OneDrive folder. This can cause various issues with tools not working as expected.

Bash

Bash is the command-line shell that you use on your laptop. It is sometimes also referred to as the terminal.

Git

Is a version control system. We won't need to use git for anything more than downloading the starter code. However, it is an extremely useful tool that would be worth your time to learn.

Node and NPM

Node executes JavaScript code on the command-line. NPM is a package manager that comes with Node.

Please note that absolutely everyone in this course should install Node. Even if you already have it installed, do it again! The Node installer will handle all duplicate and outdated Node versions on your OS, so there's no harm in re-installing!

NPM comes with Node.js, so you should have it now as well!

VSCode

The staff will only provide help with VSCode. In other words, if you prefer to use a different editor, the staff will be unable to help you with any setup related bugs you encounter throughout the quarter.

VSCode is an editor with excellent support for TypeScript (and practically all other programming languages under the sun). If you ask the staff, we think it's pretty great! This is an editor that is popularly used in industry as well, so it is definitely a good tool to be familiar with! :)

Recommended VSCode Extensions

The following are a list of suggested VSCode extensions that enable even more functionality on VSCode, which can be especially helpful when interacting with an editor for the first time! To install an extension, follow the link to the VSCode website which provides more information on the extension, click the big green Install button which will redirect you to VSCode, and then prompt you to install there. You will have to complete these steps for each extension that you wish to install.

How to turn in assignments

All work will be turned in via Gradescope. For each assignment, you will turn in your written work and code separately.

You will turn in your written work to the "HW# Written" assignment on Gradescope. Make sure that any handwritten work is legible (and dark enough) for us to read. If the graders cannot read your solution, they cannot give you points. Also, when you turn in your written HW to Gradescope, please match each HW problem to where you did your work. If you do not do this, you may receive a point deduction.

You will turn in your code to the "HW# Code" assignment on Gradescope. You only need to submit the final version of each of the files you worked on in the assignment.

In the HW instructions, for each coding problem, we will identify which files that you will need to upload to Gradescope. It is crucial that you only upload the files that we instruct you to, or else you may not pass the autograder. For example, if HW1 Problem 30 says to upload file example.ts and Problem 60 says to upload fun.ts, you should only upload example.ts and fun.ts to Gradescope. You should not put example.ts and fun.ts into a folder, and then upload the folder to Gradescope, as this will cause you to fail the autograder.

Be sure to look for any error messages from the autograder when you submit, and be sure that you received all of the auto-graded points. If you did not, you can examine the error messages, identify the problem, and then submit a corrected solution. Make sure you leave enough time to fix any errors that identified by the autograder. Try to avoid submitting for the first time in the last few minutes before the assignment is due because that will not leave you enough time to fix any problems encountered.