Engaging students in computing hardware fundamentals using FPGA games