Digital Signal Processing: A Computer Science Perspective