I assume this is the "Knight Rider" or "Larson Scanner" effect? You should be able to find lots of examples for that...
How far did you get? If you understand how the Blink LED example works, it shouldn't be too hard to blink/sequence a few more LEDs.
If you are required to make it sweep both directions, work on one direction first. Then when that works, add the reverse direction.
Try to get the sequence working before you mess-around with changing the speed.
Then make a variable for the delay-time so you can change the speed by simply changing one variable. Just put that in your program, don't worry about the up-down buttons 'till you can change the speed in software.
Then make a button that just increases speed, and when you get that working add the button to decrease speed.
NOTE - The processor "locks up" during delay(). That means if you use delay(), you cannot read the up/down button states during delay() and you'll have to hold down button until the end of the sequence before the button-state is read.
If you understand how the Blink Without Delay example works or how to use millis(), try using that method instead of delay() so you can read the button states at any time. If you haven't used millis() yet, it's probably OK for you to use delay(). Most real-world programs avoid delay(), or it's used very carefully and usually for very short delays.
...Bit shifting can make this "easy" (that's how I do it), but you need to understand binary and bitwise operations (and it helps to understand hexadecimal) and you have to know how to associate one bit with one LED. If you haven't learned any of that in your class yet, don't use it. ;)