The good news is that we can use the same circuit from the Shift Register lecture:

We then create some code that lights up an LED one at a time, in order, to create a "sweep" illusion:

// Pins
const int data_pin = 2;
const int clock_pin = 3;
const int latch_pin = 4;

// Time to display each LED
int wait = 70;   // milliseconds (ms)

void setup() {
  pinMode(data_pin, OUTPUT);
  pinMode(clock_pin, OUTPUT);
  pinMode(latch_pin, OUTPUT);
}

void loop() {

  // Sweep LEDs in one direction
  byte x = B10000000;
  for ( int i = 0; i < 8; i++ ) {
    shiftDisplay(x);
    x = x >> 1;
    delay(wait);
  }

  // Sweep LEDs back the other direction
  x = B00000001;
  for ( int i = 0; i < 8; i++ ) {
    shiftDisplay(x);
    x = x << 1;
    delay(wait);
  }
}

void shiftDisplay(byte data) {
  digitalWrite(latch_pin, LOW);
  shiftOut(data_pin, clock_pin, LSBFIRST, data);
  digitalWrite(latch_pin, HIGH);
}