Design of FIR and IIR filters in Matlab
Your call to fir1 looks OK, but you should check the result yourself. You could probably answer several of your other questions by carefully reading the mathworks documentation of the respective functions. E.g., for fir2 you can read that


  f is a vector of frequency points in the range from 0 to 1, where 1 corresponds to the Nyquist frequency. The first point of f must be 0 and the last point must be 1. f must be sorted in increasing order. Duplicate frequency points are allowed and are treated as steps in the frequency response.


and


  m is a vector containing the desired magnitude response at each of the points specified in f.


So you shouldn't define m as a complex vector; the routine knows the phase lag because it's just half of the filter order. The vector f should be defined as follows:

f = [0 .6 .6 .8 .8 1]

Since this is homework, I leave the definition of the magnitude vector up to you.

Your call to butter looks OK, apart from the fact that you used stop as the filter type. You want a band pass filter, not a band stop filter, so just leave out the additional filter type argument, and the routine will by default design a band pass filter (because there are two edge frequencies in the frequency vector).

For the impulse invariance method, you first have to design an analog Butterworth filter (using butter with last input argument s for analog filter), and then use impinvar to create the corresponding digital filter. The mathworks documentation is very clear, and I think you will succeed after having studied it. Otherwise, add to your original question a very specific question where you're stuck.