Advanced C Programming

Spring 2021 ECE 264 :: Purdue University

⚠ This is a PAST SEMESTER (Spring 2021).

Setup

Throughout ECE 264, you will be working via an SSH terminal connection to ecegrid.  You can connect to this address:
ecegrid-thin1.ecn.purdue.edu.
This is one of several identical nodes in the ecegrid cluster. This web page has chosen one at random, to avoid having the entire class overload one.

Overview

  1. (Windows) Install and configure PuTTY
  2. Connect to ecegrid
  3. Install the course Bash configuration files

(Windows) Install and configure PuTTY

  1. From the PuTTY download latest release page choose the 64-bit MSI (‘Windows Installer’).
  2. Run PuTTY and create a saved session as follows:
    1. Session » Host Name » yourUsername@ecegrid-thin1.ecn.purdue.edu
    2. Connection » Data » Terminal-type string » xterm-256color
    3. Window » Appearance » Font » Lucida Console
    4. Window » Behavior » Full screen on Alt-Enter
    5. Window » Colours » Allow terminal to use xterm 256-colour mode » (make sure it is checked)
    6. SSH » X11 » Enable X11 forwarding
    7. SSH » X11 » X display location » localhost:0
    8. Session » Saved Sessions » 264
    9. Session » Saved Sessions » click Save
  3. Create a shortcut on your desktop.
    1. Right-click your desktop. » New » Shortcut
    2. Enter "C:\Program Files\PuTTY\putty.exe" -load 264

Note:  The first two "Window" configurations are optional, but recommended. The options related to X11 won't be important until/unless you want to use the DDD debugger later in the semester.

Connect to ecegrid

Linux / Mac: Open your console (aka "Terminal") and enter ssh yourUsername@ecegrid-thin1.ecn.purdue.edu window asking for your password. Use your non-Boilerkey password.

Windows: Double-click the shortcut you just created. You should get a PuTTY window asking for your password. Use your non-Boilerkey password.

Install the course Bash configuration files

This step will install our starter .bashrc and .bash_profile configuration files in your home directory. You can preview them here: .bashrc, .bash_profile Among other things, these ensure that you can access the 264get and 264submit commands, which you will need for every assignment. They also set up a few shortcuts, which we think you will find useful when working in bash (your command line on ecegrid) and vim (programming editor).

If you already have a .bashrc and/or .vimrc file that you like, just add these two lines to your .bashrc:
export PATH=/package/gcc/8.3.0/bin:$PATH:/home/shay/a/ece264
alias gcc='gcc -g -std=c11 -Wall -Wshadow -Wvla -Werror -pedantic -DNDEBUG -Wno-unused-function'
If you do that, you can ignore the instructions below, though you will not have some of the shortcuts and other niceties we will be referring to in class.
  1. Enter the following commands to install starter files provided by the instructor. If you are using PuTTY, you can paste these in by right-clicking the screen.
    cp -i ~ece264/21sp/.bashrc ~
    cp -i ~ece264/21sp/.bash_profile ~
    cp -i ~ece264/21sp/.vimrc ~
    chmod 600 .bashrc .bash_profile
    The first three commands copy the files from a shared directory. The last command sets the permissions so others can't see their contents.
  2. Log out and log back in to let your .bashrc changes take effect.
  3. Create a new directory for your 264 files. We will assume your directory is called 264.
    mkdir 264
    cd 264
    The first command creates a directory called 264. The second command changes into it.