Paul Whitehead
Makes you work for it. Tough material, but he takes time to make sure you understand. There are a lot of assignments, but they all relate well to the material and help connect the material. Best professor at UAH.