Programming with
Data Structures and Algorithms

To work on your own computer, you'll need to download DrRacket.

We will use a special language designed for cs019, for which you can read documentation. We will distribute it using PLaneT, which is Racket's Web-based distribution system. To install it, you'll naturally need to be connected to the Internet and follow the instructions below; after it's installed, you can use the language while disconnected.

DrRacket Initialization

When you first run DrRacket, it says “DrRacket cannot process programs until you choose a programming language”—a comment that might surprise you (it's DrRacket, right?), but we'll see the power of this during the course. For now, you need to take the following steps:

In the Language menu, select Choose Language.... In the resulting pop-up window, select “Use the language declared in the source”, and click OK.

choose language menu

The definitions window will now read

#lang racket
This tells DrRacket that you wish to write programs in the language racket. We want to instead use the language designed for this course. Therefore, get rid of #lang racket, and make the first line instead read
#lang planet cs019/cs019
This tells DrRacket that you want the cs019 language written by the author cs019 (us!), which is available from planet.

Click the Run button at the top-right. DrRacket will now spend a few minutes downloading, unpacking, installing, and re-building. When it's done, you're ready to use this language! Make sure you put the above incantation at the top of every file you write in this class.

Language Upgrade

We will periodically issue upgrades to the language being used in the course. You should upgrade as soon as possible. To upgrade, you need to be connected to the Internet; after the upgrade is complete, you can use the new version even while disconnected.

When there is a new version, we will send you a version number in the form major:minor format, e.g., “1:3” (which means major version 1, minor version 3). In a new buffer, make the first line read

#lang planet cs019/cs019:major:minor
In the above example, this would be
#lang planet cs019/cs019:1:3
and click Run. This will connect to PLaneT and download and install the new code. You may want to monitor the log to make sure the upgrade installs without any errors (most warnings are harmless; if in doubt, ask us). Once the upgrade is done, you do not need to use the version number again; you can simply continue to write
#lang planet cs019/cs019
and you'll get the latest version.

DrRacket Customization

It might be annoying to have to type the above #lang every time, but you can make DrRacket do it automatically. In Language | Choose Language..., click the Show Details button. At the bottom-right of the resulting pane, you'll see “Automatic #lang line”. Type the #lang line here and click OK. From now on, whenever you create a new tab, it will automatically have the cs019 language chosen.

There are more things you might wish to do. For instance, in Edit | Preferences...:

Working From Home

The Sunlab consultants maintain a guide (PDF) on how to work from home. It tells you how to, from your own machine, access the department machines to run programs and transfer files. CS17 also maintains guides (PDF) for Windows and Mac OS X.