• Overview: This is an ungraded psuedo-assignment in which you familiarize yourself with the course and Racket, introduce yourself to Lyn and the tutors/graders, and prepare for the first day of class and PS1.

  • Due: Try to complete as many tasks as you can by the end of Mon Feb 15, and all remaining tasks soon after that.

  • Submission: There is no submission of PS0 other than completing the individual tasks.

1. Familiarize yourself with the course

Read through the syllabus and tentative course schedule. Jot down any questions that arise to either (1) ask on your form in Task 3, (2) ask in class, or (3) ask in the Anonymous Question Form.

2. Prepare for the first synchronous class on Mon Feb 15

Before the first synchronous class on Mon Feb 15, review the slides and asynchronous videos for this date in the course schedule. The first day has lots of video segments, so this may take two hours, possibly more.

3. Introduce yourself to Lyn and the Tutors

Introduce yourself to Lyn and the tutors/graders (Jannitta, Funing, Sophia) by:

4. Find a PS1 Partner

It is strongly recommended that you work with a partner on PS1 (and you need to work on at least 3 psets this semester with a partner.)

Use this CS251 Pset Partner GDoc to (1) indicate that you’re looking for a pset partner for PS1 and (2) to record the members of your PS1 partner team when you form one.

5. Create a Course Folder and List Doc for your 251 psets.

Follow the Setup instructions in the CS251-S21-T3 Pset Submission Instructions.

6. Use a Terminal to connect to the CS Dept Server (tempest)

For most assignments, you will need to submit code to the CS Dept Server (cs.wellesley.edu = tempest.wellesley.edu). So it’s good to check now that you remember how to connect to your tempest account. Furthermore, tempest has many programming language implementations that you might find handy to use in CS251.

You can use the *ssh program to securely log into tempest from any computer. This program runs in a terminal window on your computer.

  • If you have a Mac, use its Terminal application for this purpose.

  • If you have Windows 10, use the Microsoft Windows Terminal application. If it is not installed on your computer, you can download and install it from Microsoft.

  • For other versions of Windows and other operating systems, the PuTTY Terminal is a good option

Once you have one of the above Terminal applications, launch it connect to tempest by executing the following command:

ssh YourAccountName@cs.wellesley.edu

where YourAccountName is your tempest account name. E.g., user gdome would connect using the command

ssh gdome@cs.wellesley.edu

In order to connect, you will be prompted for the password for your CS Dept account. If you have forgotten it, contact Lyn or Scott Anderson to reset it.

Once connected to tempest, you can browse the contents of your directories and any applications supported by tempest. It includes a wide variety of programming implementations that you can experiment with:

  • Java: use javac to compile programs and java to run them.

  • C: use gcc to compile C program.

  • Python:: use python3 to launch an interpreter for Python Version 3 and python2 for Python Version 2. Exit with Ctrl-D.

  • JavaScript:: use node to launch the Node.js Javascript interpreter. Exit with Ctrl-D. (Alternatively, every Web browser has a JavaScript interpreter embedded in it that you can access via the Developer Tools for that browswer.)

  • Racket:: use racket to launch a Racket intepreter. Exit with Ctrl-D.

  • Standard ML:: use sml to launch a Standard ML intepreter. Exit with Ctrl-D.

It’s also a good idea to learn and/or practice Linux skills on tempest. Many courses and employers will assume that you have at least basic Linux skills.

7. Install DrRacket

Download and install DrRacket on your computer from https://download.racket-lang.org/. We will use DrRacket for all of our Racket programming in the course.

8. Follow the DrRacket Tutorial

Follow the DrRacket tutorial Quick: An Introduction to Racket with Pictures

9. Racket Reading

Read these two sections from the Racket Guide, and experiment with examples in DrRacket:

Don’t worry if you don’t understand everything or have lots of questions. We’ll spend the next two weeks covering this material in detail.

10. Racket Reference

Quickly skim the Racket Reference. This is the main documentation for the Racket language, and you will consult it frequently throughout the course.