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


CS 146, like CS 136, uses the latest release of DrRacket (currently 7.3.x), which can be downloaded here. It is installed in the Mac labs on the 3rd floor of MC and the Linux servers in the CS Undergraduate Environment, but it is by far easiest to use it on your own computer.

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 the Mac labs on the 3rd floor of MC.
  • Use the servers in the CS Undergraduate Environment in the "thin-client" or Linux labs on the 3rd floor of MC.
  • Use your own Mac or Linux machine. For Macs, you will have to install XCode.
  • Use SSH within a terminal window on your Mac or Linux machine, or PuTTY or Git Bash on your Windows machine, to connect over the Internet to the servers in the CS Undergraduate Environment and complete all your work there.
  • Install Cygwin on your Windows machine and work without having to use the Internet.
  • Use the CS 136 development environment: Seashell and RunC.

We do not recommend other 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. We recommend using Pico, 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, 06 January 2020, at 15:19 hours.