Introduction to Reconfigurable Computing: Architectures, Algorithms, and Applications