Dashboard Start Here Syllabus Directory

Working on ews.illinois.edu

EWS is an alternative development environment

If you're having trouble installing Docker Desktop on your machine, you can develop solutions for our MPs on linux.ews.illinois.edu. The EWS environment will require a solid Internet connection while authoring your code, though you will have access to all the bells and whistles of our local containerized environment. Please do not set this environment up if Docker Desktop works satisfactorily for you.

Precursory steps

Step 1. Install VS Code

VS Code is our editor in this class. This semester, you will connect and work on a remote EWS Linux machine to compose solutions to our Machine Problems (MPs). To succeed in this course, you must configure this editor as specified in this document.

Case A. Do you have your own computer or laptop?

Install Microsoft Visual Studio (VS) Code by visiting VSC Website. Then, move on to step 2.

Case B. Is your laptop temporarily unavailable? Visit an EWS Lab Location.

Engineering IT has several EWS lab locations throughout the UIUC campus. See EWS Lab Hours & Locations. Alternatively, if you live in a University housing, residence halls also have some EWS machines. See Technology | University Housing (scroll down to section Where are computer labs and what equipment do they have).

Then, follow instructions on the following webpage: EWS Labs, Installing Optional Software to install Microsoft Visual Studio (VS) Code. If you are planning on joining office hours, you may want to install Zoom Client as well.

IMPORTANT: Downloading an installer from VSC/Zoom website will not work on EWS machines. Follow the directions in the link above.

NOTE: Choose a location with Windows EWS machine instead of Mac or Linux.

Step 2. Configure VS Code

  1. Install the Remote - SSH extension for VS Code. You can complete this task by navigating to this page and clicking the green "Install" button. Trouble Installing?
  2. Create your personal Github.com account if you don’t already have one. We recommend you use a handle that you can use throughout your professional career.

Environment configuration

You will need to configure the environment only once. So, once you complete this section of the document, you need not worry about doing anything from this section an additional time.

Connecting to an EWS Linux Machine

When connecting to linux.ews.illinois.edu, if you receive a prompt asking what operating system the remote is using (Mac, Windows, or Linux), choose Linux. If a dialogue box asking about an encryption key presents, hit continue.

Creating folder for cs128 in your home directory

Configuration files to load into your EWS home directory

Here are the commands that you should execute in the terminal window (may vary slightly from video):

wget https://raw.githubusercontent.com/cs128-illinois/env-dotfiles/master/.clang-tidy -O ~/.clang-tidy
wget https://raw.githubusercontent.com/cs128-illinois/env-dotfiles/master/.clang-format -O ~/.clang-format
wget https://raw.githubusercontent.com/cs128-illinois/env-dotfiles/master/.gdbinit -O ~/.gdbinit

Installing the required VS Code extensions for CS 128 in the remote EWS machine

Here is the list of extensions you will need to install in the remote ssh window:

Configuring git in VS Code for development on an EWS remote

You will accept the assignment using the green "GitHub Classroom" button at the top of this page, then follow along with video.

Assignments

Accepting assignments and cloning them into the EWS machine

During the Environment Configuration section of this document, you've already acquired the starter code for this assignment. I will recap the process here for your reference, though you should not follow along with this video since you've already the code for this assignment in your remote environment. For all other course assignments, you must follow this process to acquire the starter code.

Compiling your code on an EWS machine

This video illustrates compiling your source code for this activity to an executable and running the resultant application in the EWS remote machine.

Required: Have module load llvm executed automatically
We need module load llvm to be executed automatically each time you connect to linux.ews.illinois.edu. To ensure this happens, execute the following in a terminal window bound to the remote machine:
echo "module load llvm" >> ~/.bashrc

Transferring your work from the EWS remote to your local computer

Conclusion

Wrapping up: We've gone through the motions on what will become your typical routine to get started on the MPs. If you're using this environment, you will need to connect to EWS whenever you'd like to work on an assignment.


Environment Troubleshooting

Problems with clang-format or clang-tidy in the EWS environment