CS 146: Elementary Algorithm Design and Data Abstraction (Advanced Version)


CS 146, like CS 136, uses the latest release of DrRacket (currently 7.9.x), which can be downloaded here.

Marmoset tests for C programs will use the C compiler clang on the Linux undergraduate servers. We recommend that students going on to CS major courses learn to use clang or gcc, which is similar enough for this class and more commonly used, on the command line, and a Unix shell. There are several possibilities for students developing C programs:

  • Use SSH within a terminal window, or an SSH client (such as PuTTY for Windows), to connect over the Internet to the servers in the CS Undergraduate Environment and complete all your work there.
  • Use your own Windows, Mac or Linux machine.
    • In recent versions of Windows, you can install Windows Subsystem for Linux to get access to a Unix shell.
    • In older versions of Windows you can try using Cygwin.
    • For Macs, you will have to install XCode.

We do not recommend other C compiler options, such as MinGW or msvc, because in our experience there are subtle differences that cause problems for students.

Your C programs will be created using a text editor. If working on the CS Undergraduate Environment, we suggest using Nano, Vim, or Emacs.

The first tutorial will go into more details about the logistics of obtaining, installing, and using the recommended software.

Last modified on Monday, 11 January 2021, at 16:45 hours.