Tools for Working Remotely

The Computer Science Department has not historically assumed student access to personal computing resources. Nonetheless, students largely have their own Windows or MacOS machines and often want to work on those machines remotely. This page collects some of the most useful software resources for remote work in CS.

Java Development

Windows Java and Eclipse Installation

  1. Download and install the "Java SE 8u241" for your platform here. Note where this Java Development Kit (JDK) is installed on your system.
  2. After the JDK installation is complete, download and install the Eclipse IDE.
  3. Change your Eclipse default version of Java to conform with Java SE 8u241 as recommended above by following these instructions, but with a goal to have Eclipse use the _older_ Java 8.
  4. Create a new project via File → New → Java Project. Enter a lowercase simple project name (e.g. "cs111"). Under "JRE", select "Use an execution environment JRE:" and select "JavaSE-1.8" from the right dropdown menu.
  5. When creating new Java class files, right-click your project, click "New" → "Class". Remember that the "Package" field should be blank in the New Class wizard so as to use the default package in Java.

Mac Java and Eclipse Installation

Follow Professor Presser's instructions.

JavaFX

If you're using JavaFX GUI programming elements (e.g. CS 112), you may need to do more to configure your project setup. If you are getting an "Access Restriction" error in your personal installation of Eclipse, one can solve it as follows with Java SE 8u241:

Right-click on the project and bring up the project properties dialog. Select "Build Path" in the left pane, and select the "Libraries" tab. You will see a "JRE System Library" entry. Expand that entry, and you will see an "Access Rules" subentry: Select the "Access Rules" entry and click "Edit". Click "Add". Under "Resolution", choose "Accessible", and under "Rule Pattern", enter javafx/**: Click OK to exit all the dialogs. This setting will allow access to all the classes in any packages beginning javafx., but will preserve the rule on the ext folder for all other classes. (source)

It's worth noting that although JavaFX is bundled with Java SE 8u241 (recommended above), JavaFX needs to be installed separately for newer versions of Java. We are not currently supporting newer versions, but you can find the latest version of JavaFX at OpenJFX and find instructions for installation at https://openjfx.io/openjfx-docs/#IDE-Eclipse.

Secure Shell (SSH) Connection

Choosing a Lab Computer

Connect to:

(While not strictly necessary, this tool will help pseudorandomly distribute people across machines. Having everyone on cs1 wouldn't be good and humans are bad random number generators.)

Windows SSH

(Side note: Modern Windows computers come with a Windows Linux Subsystem, so one can install an Ubuntu app to get a terminal window (article, installation video 1, installation video 2) and enter an ssh command like Linux/Mac users. However, MobaXterm is easier to install, offers a local terminal window plus easy one-click ssh and drag-and-drop secure file transfer (SFTP below), so we recommend that instead.)

Mac SSH

See Clif Presser's "Working Remotely on the Mac"

Secure File Transfer Protocol (SFTP)

Windows SFTP

Once you've set up a Windows SSH as described above, you'll also have a secure file transfer protocol (SFTP) session set up automatically with a graphical user interface (GUI) to the left of your SSH terminal window.

You can simply drag and drop files to and from the file navigator in that window.

Mac SFTP

See Clif Presser's "Working Remotely on the Mac"

Videoconferencing

Gettysburg College currently recommends the use of Zoom for instructor, student, and class online interaction. Your professor can supply the meeting code for your access. Give yourself time to download and install the Zoom Client for Meetings software from the site before your first meeting.

Remote Control

Should you have an extreme scenario where you're having difficult installing and running this software, there are software tools for sharing your screen and allowing remote control of your computer. Only use this software with a trusted individual. The permission you grant is temporary and under your control.

Remote Text Editing

Sometimes, it's handy to directly edit a text file through a terminal window. Clif Presser has a CS Workstation Editing page for that. Like Clif, I prefer emacs as an editor. If you'd like to take the time to learn emacs, the Swiss army knife of Unix editors here are some resources:

If you're looking for a very simple text editor that should be available on most Unix/Linux installations, consider nano. Here is a cheatsheet, and a video demonstration of remote programming with nano.

Chromebook Help

Here are some links that should be helpful for working remotely with a Chromebook: