Working Locally Guide: Select your operating system and follow the guides or videos below to learn how to set yourself up to work locally! If you run into any issues post to piazza under the local-setup tag!

We know it’s long, but it’s your key to success in navigating a completely local cs16! We’re all sad that we’ve gone remote, but on the bright side you never have to set foot in the sunlab again! This page gives you all the tools to do everything in cs16, and (for the most part) your future cs classes, remotely! So take 5 minutes to read all of it!

Windows vs. Mac: First things first, select if you are on a mac or windows machine. If you don’t have a mac or windows machine, post on piazza or email the tas, and we will work with you!

Python+Java Version Control: Next, you want to make sure that your local computer is running the right version of both java and python. Follow the “Local Python Setup” and “Local Java Setup” guides to make sure you’ve installed the right versions of both!

IDEs: IDEs are software platforms in which programmers can write code

  • Eclipse (Java): The IDE we recommend for navigating Java is Eclipse. To learn how to install and set up eclipse locally follow the “Local Eclipse Setup” guide. The steps are tricky, but well worth it.
  • Atom/Sublime/VSCode/Pycharm (Python): We don’t have an IDE we recommend for python, any of the above work. For the most part setting these up only involves downloading them from their respective websites.

Connecting to a Department Machine: From here you have a couple options:

  • SSH: this connects you directly with the terminal of the department machine. You won’t be able to see anything, but you’ll be able to run all the commands you typically run on a department machine like cs0160_install. We recommend using ssh for running the handin and install scripts, but don’t recommend relying on it for coding hws/projects.
  • FastX: this allows you to see the graphical user interface (GUI) of the department machines. It’s like you’ve got a window on your laptop that is a portal into a department computer! Caution: it is really slow, and crashes a lot, so we highly recommend that you don’t rely on FastX when coding hws/projects.
  • Fuse (Mac) / WinFPS (Windows): this allows you to have your entire cs0160 folder appear and act as a folder on your local computer. This means you can do everything that you can do to the folders and files on your computer, to the folders and files within your cs0160 folder (double click to open, drag and drop to move, using the spacebar as a preview etc.). With this you won’t have to ssh, FastX, XQuartz, or Cyberduck, all you’ll have to do is type one command and all your department machine files will act the same as your local files. This can be automatically connected to Eclipse, so you won’t have to do any file transferring. Trust us, it’s really cool, and worth the time to set up (which is not long!)
  • SCP: is a command that allows you to copy files, folders, etc. from one machine to another. You would use this to copy files over to your local computer and then use an IDE to edit those files. Remember you must transfer the files back after you edit them in order for them to show up on the department machine.

This is relatively new territory for all of us, so bear with us as we work out the glitches! That being said, please let us know by posting on piazza under the local-setup tag about how we can improve our guide, especially if you run into any issues. We want to make this process as seamless possible! Thank you all for bearing with us through this time of transition. Good luck, and see you on Zoooomm!

We know it’s long, but it’s your key to success in navigating a completely local cs16! We’re all sad that we’ve gone remote, but on the bright side you never have to set foot in the sunlab again! This page gives you all the tools to do everything in cs16, and (for the most part) your future cs classes, remotely! So take 5 minutes to read all of it!

Windows vs. Mac: First things first, select if you are on a mac or windows machine. If you don’t have a mac or windows machine, post on piazza or email the tas, and we will work with you!

Python+Java Version Control: Next, you want to make sure that your local computer is running the right version of both java and python. Follow the “Local Python Setup” and “Local Java Setup” guides to make sure you’ve installed the right versions of both!

IDEs: IDEs are software platforms in which programmers can write code

  • Eclipse (Java): The IDE we recommend for navigating Java is Eclipse. To learn how to install and set up eclipse locally follow the “Local Eclipse Setup” guide. The steps are tricky, but well worth it.
  • Atom/Sublime/VSCode/Pycharm (Python): We don’t have an IDE we recommend for python, any of the above work. For the most part setting these up only involves downloading them from their respective websites.

Connecting to a Department Machine: From here you have a couple options:

  • SSH: this connects you directly with the terminal of the department machine. You won’t be able to see anything, but you’ll be able to run all the commands you typically run on a department machine like cs0160_install. We recommend using ssh for running the handin and install scripts, but don’t recommend relying on it for coding hws/projects.
  • FastX: this allows you to see the graphical user interface (GUI) of the department machines. It’s like you’ve got a window on your laptop that is a portal into a department computer! Caution: it is really slow, and crashes a lot, so we highly recommend that you don’t rely on FastX when coding hws/projects.
  • Fuse (Mac) / WinFPS (Windows): this allows you to have your entire cs0160 folder appear and act as a folder on your local computer. This means you can do everything that you can do to the folders and files on your computer, to the folders and files within your cs0160 folder (double click to open, drag and drop to move, using the spacebar as a preview etc.). With this you won’t have to ssh, FastX, XQuartz, or Cyberduck, all you’ll have to do is type one command and all your department machine files will act the same as your local files. This can be automatically connected to Eclipse, so you won’t have to do any file transferring. Trust us, it’s really cool, and worth the time to set up (which is not long!)
  • SCP: is a command that allows you to copy files, folders, etc. from one machine to another. You would use this to copy files over to your local computer and then use an IDE to edit those files. Remember you must transfer the files back after you edit them in order for them to show up on the department machine.

This is relatively new territory for all of us, so bear with us as we work out the glitches! That being said, please let us know by posting on piazza under the local-setup tag about how we can improve our guide, especially if you run into any issues. We want to make this process as seamless possible! Thank you all for bearing with us through this time of transition. Good luck, and see you on Zoooomm!

When you open your terminal, make sure it says bash at the top. If it says zsh or something else like that, follow the following instructions:

  • Open the Terminal preferences
  • Go to "Shell's open with" and select "Command"
  • Type in /bin/bash
  • Now quit the terminal and reopen it
  • It should now say bash at the top

While FastX and XQuartz allow you to see the graphics/user interfaces of the department machines, sometimes you want to run something without needing to see the department machine’s visuals. This is where SSH comes in. SSH opens your department machine’s terminal. If you SSH and then type ls (a command that lists where you are in your directories) you’ll see that the directories listed are the directories of the department machine not your local machine. You can even see exactly which department machine you are connected to by looking at the highlighted word in your terminal!

This will be really helpful when you code locally, but want to run commands/scripts/your code on a department machine. Some examples of where we recommend using SSH are:

  • running the install script
  • running the handin script
  • making sure your code compiles on the department machine (definitely do this before handing in your projects and hws!)

To ssh you follow the below 4 steps. Once you ssh you can then treat the terminal as you would a department machine terminal. You can run cs0160_install and cs0160_handin and you can even compile your code by cding into your project folder and running make!

To run ssh:

  1. Open a terminal
  2. Type ssh <cslogin>@ssh.cs.brown.edu where you replace <cslogin> with your cs login
  3. Type in your password
  4. You’re done!

While FastX and MobaXTerm allow you to see the graphics/user interfaces of the department machines, sometimes you want to run something without needing to see the department machine’s visuals. This is where SSH comes in. SSH opens your department machine’s terminal. If you SSH and then type ls (a command that lists where you are in your directories) you’ll see that the directories listed are the directories of the department machine not your local machine. You can even see exactly which department machine you are connected to by looking at the highlighted word in your terminal!

This will be really helpful when you code locally, but want to run commands/scripts/your code on a department machine. Some examples of where we recommend using SSH are:

  • running the install script
  • running the handin script
  • making sure your code compiles on the department machine (definitely do this before handing in your projects and hws!)

To ssh you follow the below 4 steps. Once you ssh you can then treat the terminal as you would a department machine terminal. You can run cs0160_install and cs0160_handin and you can even compile your code by cding into your project folder and running make!

To run ssh:

  1. Open a terminal
  2. Type ssh <cslogin>@ssh.cs.brown.edu where you replace <cslogin> with your cs login
  3. Type in your password
  4. You’re done!

File Transfer Option 1: FUSE

Fuse allows you to have your entire cs0160 folder appear and act as a folder on your local computer. This means you can do everything that you can do to the folders and files on your computer, to the folders and files within your cs0160 folder (double click to open, drag and drop to move, using the spacebar as a preview etc.). With this you wont have to ssh, FastX, XQuartz, Cyberduck, all you’ll have to do is type one word myfuse and all your department machine files will act the same as your local files. Trust us, it’s really cool, and worth the time to setup (which is not long!)

  1. Download and install FUSE here.
  2. Download and install SSHFS here .
  3. On your mac make a fuse folder where you’d like your files to be shown. When you run fuse, this folder will convert to be the course folder that is on the department machines. For example, you could make a folder called browncs on your Desktop.
  4. In your terminal type vim ~/.bash_profile and add the below code snippet to the end of the file. You must use vim as other text editors will reformat the quotes and therefore raise errors. Note on how to use vim: To add to a file, type i (for insert). To save after the code snippet has been pasted, press esc and then :w (to save work) and then :q (to quit). After each of these commands, hit enter for them to run.

    BROWNCS_MOUNTPOINT=<path to fuse folder> #TODO: PATH TO YOUR FUSE FOLDER HERE

    BROWNCS_LOGIN=<fill me in> # TODO: YOUR BROWN LOGIN HERE

    myfuse() {

    printf "... attempting to mount brown filesystem for user ${BROWNCS_LOGIN} on local file ${BROWNCS_MOUNTPOINT}\n"

    mkdir -p ${BROWNCS_MOUNTPOINT}

    sshfs -o defer_permissions "${BROWNCS_LOGIN}@ssh.cs.brown.edu:/home/${BROWNCS_LOGIN}" "${BROWNCS_MOUNTPOINT}"

    }

    fixfuse() {

    printf "... attempting to unmount brown filesystem from local file ${BROWNCS_MOUNTPOINT}\n"

    diskutil unmount force "${BROWNCS_MOUNTPOINT}"

    rmdir "${BROWNCS_MOUNTPOINT}"

    }

  5. Make sure you change <fill me in> to your login and <path to fuse folder> to the path to your local fuse folder! For example, if you made a browncs folder on your desktop the path would be ~/Desktop/browncs
    • What this is doing is creating an alias. An alias is a (usually short) command that the shell (terminal) translates into another (usually longer) command. For example, if instead of typing cs0160_install you wanted to type i you could set up an alias so i was interpreted as cs0160_install in your terminal. Here we are saying when you type myfuse it is the equivalent to typing that long line sshfs…
  6. From a terminal, run source ~/.bash_profile. (This refreshes the terminal and compiles what you just wrote)
  7. At this point, you should be good to go! Whenever you want to connect to the department maching using FUSE/SSHFS, simply type myfuse in a terminal. If that hangs or does not work for some reason, type fixfuse. One of these commands should work. Now when opening files in Eclipse or any Python editor, you must first run fuse, and then you can open these mounted files, edit them, and save them, just as you would any other file on your computer. Any changes you make locally will automatically be saved to the department machines! This will only happen though, if everytime you open Eclipse, or edit files that are on the department machines, you run myfuse first. Remember to do this!!!

File Transfer Option 2: SCP

SCP is a command that allows you to copy files, folders, etc. from one machine to another. The command works as follows:

scp <source> <destination>

Source → the file you want to copy

Destination → where you want to put the file

When you want to copy something from the department machine such as jars, files, etc. the source will look like <cslogin>@ssh.cs.brown.edu:<file path>. You need to begin the file path with <cslogin>@ssh.cs.brown.edu: because this lets scp know that the file is located on a different computer.

Example:

scp rmalone1@ssh.cs.brown.edu:~/course/cs0160/hw2/arraylessthan.py ~/Desktop

Will copy the arraylessthan file to my pc’s desktop

If you wanted to copy a full folder, add the -r flag to scp. This will let scp know to recursively copy everything inside the folder

scp -r rmalone1@ssh.cs.brown.edu:~/course/cs0160/hw2/ ~/Desktop

Will copy the hw2 folder to my pc’s desktop

File Transfer Option 1: WinFSP

  1. Use this link to download WinFSP
  2. Before you download SSHFS, make sure to check your system type. This can be done by going to System Information. To do this, type System Info into the Windows search bar. Then look at system type (most will be x64 based pc)

  3. Follow the installer setup to complete the WinFSP and SSHFS download
  4. Once you have downloaded and installed both WinFSP and SSHFS, you can now begin to mount your home directory on the Brown University machines. To do so, navigate to file explorer and right click on PC
  5. Click on the option “Map network drive…
  6. In the bar that says folder, type \\sshfs\@ssh.cs.brown.edu
  7. You will be prompted to enter your CS Login password. If you entered it correctly, your home Directory should now be under PC in the file explorer.

File Transfer Option 2: SCP

SCP is a command that allows you to copy files, folders, etc. from one machine to another. The command works as follows:

scp <source> <destination>

Source → the file you want to copy

Destination → where you want to put the file

When you want to copy something from the department machine such as jars, files, etc. the source will look like <cslogin>@ssh.cs.brown.edu:<file path>. You need to begin the file path with <cslogin>@ssh.cs.brown.edu: because this lets scp know that the file is located on a different computer.

Example:

scp rmalone1@ssh.cs.brown.edu:~/course/cs0160/hw2/arraylessthan.py ~/Desktop

Will copy the arraylessthan file to my pc’s desktop

If you wanted to copy a full folder, add the -r flag to scp. This will let scp know to recursively copy everything inside the folder

scp -r rmalone1@ssh.cs.brown.edu:~/course/cs0160/hw2/ ~/Desktop

Will copy the hw2 folder to my pc’s desktop

These steps are to install/ensure the correct version of python and pytest are installed locally on your computer.

  1. In terminal, run python --version to get the python version you are running. If it says 3.x.x (where the xs are numbers, but it doesn’t matter what they are) you are good to go, if not:
    • Run python3 --version.
      • If you don't get 3.x.x install python 3.7.3
      • If you get 3.x.x you must type python3 to run anything, or setup an alias as shown below.
    • Setting up an alias:
      • What an alias is: a (usually short) command that the shell (terminal) translates into another (usually longer) command. For example, if instead of typing cs0160_install you wanted to type i you could set up an alias so i was interpreted as cs0160_install in your terminal
      • We are going to make an alias so python is interpreted as python3 by default.
        • In your local terminal (not over ssh) type open -e ~/.bash_profile if a file does not exist type touch ~/.bash_profile first and then open -e ~/.bash_profile
        • Then add the following line to the end of the document: alias python="python3"
    • Now run source ~/.bash_profile (essentially refreshing your terminal) and then run python --version to confirm that you've correctly set the version to python 3. It should now say: 3.x.x
  2. Make sure pytest is installed by running python3 and then in the python shell run import pytest If you get no errors doing this, you are fine, If not:
    • Type exit() to exit the python shell
    • Run pip3 install -U pytest
    • Now go back into the python shell by running python3 and then in the shell write import pytest once more to confirm it is installed by making sure you no longer have errors

Important note: any version of python 3.x.x is fine, for example, if you have 3.5/3.6/3.7, then these instructions are not necessary to follow

  1. Follow this link to download python 3.7.3
  2. To determine which download you want to do, go into system info and look at system type.
    • If it is x64 you want the x86-64 executable installer
    • If it is x86 you want the x86 installer
  3. Once that downloads open the executable.
  4. There will be a box in at the bottom that says add python 3.7 to path, make sure this box is checked.
  5. Press install now. Python 3.7.3 takes about 30 seconds to a minute to download
  6. Once the download is complete, open either powershell or cmd prompt and type python --version, you should see Python 3.7.3
  7. Continue only if NOTHING or the WRONG version comes up:
    • If nothing comes up, or you receive a different version, python probably hasn’t been added to the path. To add it to the path manually, press the windows key and type edit the system environment variables
    • The bottom right hand corner will have an option “environment variables” that you should click on
    • In user variables, click “path” then edit.
    • You will be adding two new lines. Press new, then add

        C:\Users\\AppData\Local\Programs\Python\Python37\Scripts\

        C:\Users\\AppData\Local\Programs\Python\Python37\

These steps are to make sure the correct version of java is installed on your local computer. You must do this before doing your local Eclipse setup!

  1. In terminal type, java -version and check that the number following “java version” starts with 1.8 or 8, if it does, you're done! If not, read on.
  2. Visit this website, and download the program that corresponds with your computer (ie Mac, Linux, or Windows), and download the 64-bit version. If you don't have an Oracle account and don't want to make one, you can also download jdk8 here. That said, we highly recommend making an Oracle account -- you'll be able to download jdk8 directly from the source, and it may come in handy later on.
  3. In your terminal type java -version again to check if the version is now 1.8 or 8, and if it is not type the following into your terminal:
    • cd /Library/Java/JavaVirtualMachines
    • ls you should see at least one file that starts with “jdk”, look for the file whose number starts with 1.8 or 8 and copy the file name. The full copied file name should look something like jdk.1.8.0_181.jdk
    • cd ~
    • open -e .bash_profile
    • if it says no bash_profile file exists, type touch .bash_profile then open -e.bash_profile
    • Add the below code line to the end of your .bash_profile file. However, fill in the part <fill me in> with the copied file name from the second bullet point:
    • export JAVA_HOME=/Library/Java/JavaVirtualMachines/<fill me in>/Contents/Home
  4. Now type java -version to make sure the correct version of java is being used
  1. Type java -version to see your version of java, if it is 1.8, you’re done
  2. Visit this website, and download the program that corresponds with your computer (ie Mac, Linux, or Windows). If you don't have an Oracle account and don't want to make one, you can also download jdk8 here. That said, we highly recommend making an Oracle account -- you'll be able to download jdk8 directly from the source, and it may come in handy later on.
  3. Follow the install setup provided from the download until it completes
  4. Check to make sure the path of java has been updated by running java -version in powershell or cmd prompt. If nothing or the wrong version comes up, continue following these instructions
  5. To add it to the path manually, press the windows key and type edit the system environment variables
  6. The bottom right hand corner will have an option “environment variables” that you should click on
  7. In system variables, click “path” then edit. You will be adding 1 line, press new, then add: C:\Program Files\Java\jdk1.8.0_231\bin
    Note: To make sure this runs properly, make sure this new line added to the path goes to the top, you can do so by clicking on the newly added line and pressing “move up” until it is at the top.

Eclipse is an IDE we recommend for coding in java (IDEs are platforms in which you can write code). With Eclipse setup outlined below, paired with fuse (outlined above), your project will automatically show up in your eclipse folder, and run locally. If you aren't using fuse, you will have to create a new package for every new project and re-copy over files. Either way, using Eclipse locally means there are no lags (as there are in XQuartz and FastX), and hopefully no crashes!

  1. Download Eclipse by going to this website, and downloading “Eclipse IDE for developers.” Clicking on the link for your respective computer (Windows, Mac, Linux)
  2. Open the downloaded file and drag the eclipse icon into your applications folder
  3. Launch eclipse and open your workspace (the default is fine)
  4. Exit out of the welcome tab, and then go to File → New → Java Project.
    • For project name write cs0160
    • Click blue highlighted text that says “Configure JREs”
      • Click the tab that says “Compiler” on the left, and set the dropdown that says “Compiler Compliance” to 1.8. If this is not an option make sure to follow the Java setup steps first.
      • Click the tab that says "Installed JREs" on the left, and select the JRE named Java SE 8 or jdk1.8.0 or 1.8 <something> Then click Edit on the right panel. For JRE name type usr and then click finish.
      • Select usr(default), and then click “Ok” or “Apply and Close”
    • You should be back at the page titled “Create a Java Project”
      • Select the second radio button titled "Use a project specific JRE" and make sure usr is selected from the dropdown
      • Select the first radio button of the next category titled "Use a project folder as root for sources and class files"
      • FUSE ONLY: Near the top uncheck "use default location" and then click browse and navigate to your cs0160 folder. If working over fuse (recommended) make sure to run myfuse in terminal first, and then you can select your cs0160 folder on the department machines.
      • NON FUSE: If you aren’t working over FUSE, you can keep “use default location” checked. If you have to restart for any reason, you will have to re-copy over the files from your course/cs0160/ directory and overwrite your old files.
    • Click "Next" this should take you to a page titled “Java Settings” and you should be in the “Source” tab
      • In the source tab, if you have a src folder do the following, if not skip this: right click the src folder and select "Remove from Build Path"
      • Right click the cs0160 folder and select "Use as Source Folder"
    • Click on the "Libraries" tab
      • First, make sure that in your cs0160 folder you have a lib folder that includes the 4 jar files you will need. If not run the new cs0160_refreshlib script, it will create and update this folder for you. This script will also be run automatically when installing projects to update the jars. You must run this script over ssh.
      • Click "Add External JARs" Navigate to where your jar files are stored. If you are using fuse make sure to select all the jars in your lib folder in your cs0160 folder over fuse. Both fuse and non-fuse users should select all of the following jars:
        • cs0160.jar
        • nds4.jar
        • junit-4.12.jar
        • hamcrest-core-1.3.jar
    • Click "Finish" and you are now done setting up Eclipse!
  5. At this point you should be able to view all of your Java projects in Eclipse at once and you should be able to run them all!

    If you have issues running Seamcarve or Heap: This is most likely because you made extra src folders for Seamcarve and Heap based on our old setup instructions. To get these projects to work, open up your cs0160 folder through WinFSP, and drag all of your files to the outermost "Seamcarve" or "Heap" folder and remove all other inner "src" or "seamcarve"/"heap folders".

    FUSE ONLY: In addition, when a new project comes out you can now run the install script and go to File → Refresh in Eclipse, and your new project should show up automatically! However, you MUST make sure fuse is connected before opening Eclipse.

    NON FUSE: If you aren’t working with FUSE, you will have to create a new package for every new project and re-copy over files. Once you get your files onto your computer with scp or some other format, you then have to drag the specified files into the correct package.

    To run project demos, it is recommended that you use FastX

Eclipse is an IDE we recommend for coding in java (IDEs are platforms in which you can write code). With Eclipse setup outlined below, paired with WinFSP (outlined above), your project will automatically show up in your eclipse folder, and run locally. If you aren't using fuse, you will have to create a new package for every new project and re-copy over files. Either way, using Eclipse locally means there are no lags (as there are in XQuartz and FastX), and hopefully no crashes!

  1. Download Eclipse by going to this website, and downloading “Eclipse IDE for developers.” Clicking on the link for your respective computer (Windows, Mac, Linux)
  2. Open the downloaded file
  3. Launch eclipse and open your workspace (the default is fine)
  4. Exit out of the welcome tab, and then go to File → New → Java Project.
    • For project name write cs0160
    • Click blue highlighted text that says “Configure JREs”
      • Click the tab that says “Compiler” on the left, and set the dropdown that says “Compiler Compliance” to 1.8. If this is not an option make sure to follow the Java setup steps first.
      • Click the tab that says "Installed JREs" on the left, and select the JRE named Java SE 8 or jdk1.8.0 or 1.8 <something> Then click Edit on the right panel. For JRE name type usr and then click finish.
      • Select usr(default), and then click “Ok” or “Apply and Close”
    • You should be back at the page titled “Create a Java Project”
      • Select the second radio button titled "Use a project specific JRE" and make sure usr is selected from the dropdown
      • Select the first radio button of the next category titled "Use a project folder as root for sources and class files"
      • WinFSP ONLY: Near the top uncheck "use default location" and then click browse and navigate to your cs0160 folder. If working over WinFSP (recommended) you have mapped the network drive first, and then you can select your cs0160 folder on the department machines.
      • Non WinFSP: If you aren’t working over WinFSP, you can keep “use default location” checked. If you have to restart for any reason, you will have to re-copy over the files from your course/cs0160/ directory and overwrite your old files.
    • Click "Next" this should take you to a page titled “Java Settings” and you should be in the “Source” tab
      • In the source tab, if you have a src folder do the following, if not skip this: right click the src folder and select "Remove from Build Path"
      • Right click the cs0160 folder and select "Use as Source Folder"
    • Click on the "Libraries" tab
      • First, make sure that in your cs0160 folder you have a lib folder that includes the 4 jar files you will need. If not run the new cs0160_refreshlib script, it will create and update this folder for you. This script will also be run automatically when installing projects to update the jars. You must run this script over ssh.
      • Click "Add External JARs" Navigate to where your jar files are stored. If you are using WinFSP make sure to select all the jars in your lib folder in your cs0160 folder over WinFSP. Both WinFSP and non-WinFSP user should select all of the following jars:
        • cs0160.jar
        • nds4.jar
        • Junit-4.12.jar
        • Hamcrest-core-1.3.jar
    • Click "Finish" and you are now done setting up Eclipse!
  5. At this point you should be able to view all of your Java projects in Eclipse at once and you should be able to run them all!

    If you have issues running Seamcarve or Heap: This is most likely because you made extra src folders for Seamcarve and Heap based on our old setup instructions. To get these projects to work, open up your cs0160 folder through WinFSP, and drag all of your files to the outermost "Seamcarve" or "Heap" folder and remove all other inner "src" or "seamcarve"/"heap folders".

    WinFSP ONLY: In addition, when a new project comes out you can now run the install script and go to File → Refresh in Eclipse, and your new project should show up automatically! However, you MUST make sure WinFSP is connected before opening Eclipse.

    NON WinFSP: If you aren’t working with WinFSP, you will have to create a new package for every new project and re-copy over files. Once you get your files onto your computer with scp or some other format, you then have to drag the specified files into the correct package.

    To run project demos, it is recommended that you use FastX

There are many different IDEs that work for writing in python (IDEs are platforms in which you can write code). You can edit your python files in whatever program you like. Some recommended ones are Atom, VS Code, Sublime, and Pycharm. Atom, VS Code, and Sublime are free whereas Pycharm can be downloaded for free by first creating a GitHub account and then registering it as a GitHub student account here. The video tutorial shows these off more.

There are many different IDEs that work for writing in python (IDEs are platforms in which you can write code). You can edit your python files in whatever program you like. Some recommended ones are Atom, VS Code, Sublime, and Pycharm. Atom, VS Code, and Sublime are free whereas Pycharm can be downloaded for free by first creating a GitHub account and then registering it as a GitHub student account here. The video tutorial shows these off more.

FastX enables you to see and manipulate a department machine from your local machine. It is useful for running project demos and testing your code on a department machine before handing it in. It does; however, have a tendency to crash, and is often slow. We therefore don’t recommend that you rely on FastX for coding remotely.

  1. First, follow the CS Department's instructions to setup FastX here: FastX
  2. If using Eclipse over FastX, make sure to do the following: right click on your App.java file → Properties → Run/Debug Settings → double click “App” → Arguments tab and write -Dprism.order=sw for VM arguments.

In the case where FastX returns an error open your terminal and type the command sudo killall -HUP mDNSResponder. This should clear your cache. You can try to reconnect to FastX now.

FastX enables you to see and manipulate a department machine from your local machine. It is useful for running project demos and testing your code on a department machine before handing it in. It does; however, have a tendency to crash, and is often slow. We therefore don’t recommend that you rely on FastX for coding remotely.

  1. First, follow the CS Department's instructions to setup FastX here: FastX
  2. If using Eclipse over FastX, make sure to do the following: right click on your App.java file → Properties → Run/Debug Settings → double click “App” → Arguments tab and write -Dprism.order=sw for VM arguments.

In the case where FastX returns an error open eitther cmd prompt or powershell and type the command ipconfig /flushdns. This should clear your cache. You can try to reconnect to FastX now.

Zoom will be used for all interactions that used to be in person :(. This is the link to log in to your Zoom account. This is how Zoom will work for each of its implementations:

Code Hours:

  1. At the beginning of an hours slot, TAs will release a link to join a Zoom video call.
  2. Sign up on signmeup as normal.
  3. You can join the call at any time. However, you will be placed in a waiting room before actually meeting with TAs until it comes to your spot in line. As a result, please constantly be monitoring the hours line and/or your Zoom account when it comes close to being your turn in line.
  4. You will then be accepted to join the meeting. After being accepted into the meeting you will have 2 minutes to initiate conversation with the TA. If you fail to do so, the TA will release you back to the waiting room, where you will have 30 minutes to email the TAs who are currently on hours to unmark you missing. If it has been more than 30 minutes, we reserve the right to delete your sign up.
  5. Once in hours, in order to debug over Zoom, you will have to rely on Zoom’s screen-sharing feature.
  6. To screen share over Zoom: in the panel on the bottom of the meeting, there is a “Screen Share” or “Share” option in which you can choose which screen you’d like to share. You should select your Eclipse Workspace/FastX Session/Atom File/whatever, and then click share in the bottom right hand corner. Your TA should be able to see your screen. After you’re done screen sharing, at the top of your screen, select the “Stop Share” option.

Conceptual Hours/Clinic:

  1. At the beginning of the Conceptual Hours/Clinic TAs will be posting a link for you to join them for Conceptual Hours/Clinic.
  2. TAs will answer questions by demand, and split you into supervised breakout sessions if necessary.

Section:

    Your section TAs will send out invitations to join a Zoom meeting 5 minutes before your section. Joining the meeting will earn you attendance points for that session. (All mini assignments are to be emailed to your section TAs before your section.)

Zoom will be used for all interactions that used to be in person :(. This is the link to log in to your Zoom account. This is how Zoom will work for each of its implementations:

Code Hours:

  1. At the beginning of an hours slot, TAs will release a link to join a Zoom video call.
  2. Sign up on signmeup as normal.
  3. You can join the call at any time. However, you will be placed in a waiting room before actually meeting with TAs until it comes to your spot in line. As a result, please constantly be monitoring the hours line and/or your Zoom account when it comes close to being your turn in line.
  4. You will then be accepted to join the meeting. After being accepted into the meeting you will have 2 minutes to initiate conversation with the TA. If you fail to do so, the TA will release you back to the waiting room, where you will have 30 minutes to email the TAs who are currently on hours to unmark you missing. If it has been more than 30 minutes, we reserve the right to delete your sign up.
  5. Once in hours, in order to debug over Zoom, you will have to rely on Zoom’s screen-sharing feature.
  6. To screen share over Zoom: in the panel on the bottom of the meeting, there is a “Screen Share” or “Share” option in which you can choose which screen you’d like to share. You should select your Eclipse Workspace/FastX Session/Atom File/whatever, and then click share in the bottom right hand corner. Your TA should be able to see your screen. After you’re done screen sharing, at the top of your screen, select the “Stop Share” option.

Conceptual Hours/Clinic:

  1. At the beginning of the Conceptual Hours/Clinic TAs will be posting a link for you to join them for Conceptual Hours/Clinic.
  2. TAs will answer questions by demand, and split you into supervised breakout sessions if necessary.

Section:

    Your section TAs will send out invitations to join a Zoom meeting 5 minutes before your section. Joining the meeting will earn you attendance points for that session. (All mini assignments are to be emailed to your section TAs before your section.)