Documentation

CS 301 Computing Environment

CS 301 supports computing with the CS GNU/Linux workstations in the Microfocus lab or SCI S173. Please work in the lab. Team programming works better with a larger screen and a keyboard/mouse that is not owned by any individual. When many people work in the lab, it builds community and concentrates more collective wisdom to tap while working. (See also: unsupported alternatives.)

First-Time Lab Setup

Follow the Getting Started guide to setup the basic tools in your CS account.

Scala

IntelliJ IDEA

Git and GitLab

Command Line Tools and Editing

Alternative Computing Environments (Unsupported)

If the preferred – and only officially supported – option of working in the lab is not feasible, you can install the programming tools elsewhere.

Beware that running your full compiler (or the executables it produces) will require GNU/Linux.

  • It may work (no guarantees) on macOS or the Windows Subsystem for Linux, but not plain Windows.
  • You can run a GNU/Linux distribution in a virtual machine (such as the csenv appliance from CS 240 and CS 251) on any common OS. You should give the virtual machine access to at least 2GB of memory (probably 3GB+) for reasonable performance with IntelliJ IDEA.

The programming tools you need are somewhat flexible depending on your work preferences and goals. The lab environment has all of these. Choose your favorite installation method.

  1. IntelliJ IDEA Community Edition 2018.3 and Scala Plugin 2018.3 for IntelliJ IDEA (usually offered on the first launch of IDEA) if you want full IDE support, otherwise use your favorite text editor.
  2. SBT 1.2.8 if you want to build your compiler from the command line.
  3. Scala 2.12 if you want to run your compiler from the command line.
  4. Git if you want to do anything.
  5. GCC or Clang (included in the command line tools for Xcode on macOS) if you want to assemble binary executables from the assembly code your compiler generates.