C programming is very platform dependent. The compiler, machine hardware and operating system can have significant impact on the the execution of your code. To provide a standard platform for you to develop on and for us to grade on, the course is going to be utilizing the servers provided by SEAS. We will be using VS Code, a (powerful) cross-platform text editor, to enable you to develop on the remote machine easily. We are providing this setup information as a recommendation, however, you are free to use any workflow you prefer - but remember that the grading environment will be identical to that provided by the SEAS servers.
This setup is primarily designed for Windows 10 and MacOS, Linux users may follow it as well. You will need a terminal application to run some basic commands. Below are terminal applications available on the different operating systems.
Operating System | Terminal Application |
---|---|
Windows 10 | Powershell, CMD, Windows Terminal |
MacOS | Terminal, iTerm2 |
The setup will have the following steps.
WARNING! This process can take a few days! Get started early!
If you do not have a SEAS Account, you can apply here. You can also visit Boelter 2664 and request the staff to create one for you.
To connect to the SEAS servers, you need to be on the UCLA VPN. We recommend that you use the CISCO client, however, you can follow the instructions for other setups as well. The instructions for downloading, installing and setting up the VPN can be found here.
Note: If you are using Linux you will have to set up L2TP. Trying finding instructions for your preffered distro and following the UCLA set up found here.
Once you have both your SEAS account and the Cisco VPN, you can try logging into the remote using the credentials provided to you by the SEAS administrators. Run the following command in your terminal application replace user with the username that SEAS set you up with.
$ ssh user@cs33.seas.ucla.edu
If this is the first time you’re connecting to the server, you will be prompted with the following:
$ ssh user@cs33.seas.ucla.edu
The authenticity of host 'cs33.seas.ucla.edu (164.67.100.236)' can't be established.
ECDSA key fingerprint is SHA256:kk4Uglj/TTk9Be7q7acNGSjdV1Sk+bsymPopyskF9H4.
Are you sure you want to continue connecting (yes/no)?
Type in yes
and continue. You will then be prompted to enter your password (output may vary).
$ ssh user@cs33.seas.ucla.edu
The authenticity of host 'cs33.seas.ucla.edu (164.67.100.236)' can't be established.
ECDSA key fingerprint is SHA256:kk4Uglj/TTk9Be7q7acNGSjdV1Sk+bsymPopyskF9H4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'cs33.seas.ucla.edu,164.67.100.236' (ECDSA) to the list of known hosts.
user@cs33.seas.ucla.edu's password:
Enter the password that SEAS administrators provided you and continue. You should see an output similar to the one below.
Last login: Tue Oct 6 18:28:18 2020 from 172.27.130.119
*****************************************************************************
lnxsrv06.seas.ucla.edu RHEL 7
*****************************************************************************
* User processes older than 36 hours will be cleaned up
*****************************************************************************
*****************************************************************************
* SEASnet Computing Access *
* *
* Priority is given both on the servers and in the student labs to those *
* students doing coursework. Computing support for research is provided by *
* each department. *
*****************************************************************************
* For assistance please contact help@seas.ucla.edu or call 206-6864. *
*****************************************************************************
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "C.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
[user@lnxsrv06 ~]$
If this worked, you have successfully been able to log into the SEAS server and you can continue with the setup. Otherwise, please reach out to the course staff for help.
VS Code can be downloaded from here. The set up is pretty straight forward, however, if you have any difficulties installing, please reach out to the course staff for assistance.
While VS Code can be used to edit text locally, we will focus on how to use it as a Remote SSH Client. To enable this you need to download the Remote-SSH extension to VS Code. You can follow the following steps to install the Remote SSH extension:
user
with your assigned username.ssh user@cs33.seas.ucla.edu
wget
commands in the labs to download the base code files directly on to the server using this terminal. You can also run all the compilation and debug commands in this window.Check the following:
If both of the above are true, please reach out to the course staff for assistance.