my undergrad DSP course used "Discrete-Time Signal Processing" by Oppenheim and Schafer. I chose to buy
"Computer-Based Exercises for Signal Processing Using MATLAB Ver.5" as an extra supplement text. Since the course relied heavily on the use of Matlab exercises to reinforce the theory, this extra text came in quite handy.