Using FPGAs as a reconfigurable teaching tool throughout CS systems curriculum
This paper describes the adaptation of several common computer science courses to include the use of FPGA-based systems for project and assignment work. One of the principal challenges in modern curriculum design is balancing between breadth and depth of course topics while simultaneously reinforcing the interconnections among topics in the field. To address these challenges, faculty are often forced to approximate real-world systems, sometimes at the expense of any hands-on experience. At Coastal Carolina, we have integrated FPGA systems first used in our hardware-based courses into several higher-level systems and applications courses. This allows us to leverage student familiarity with a hands-on, flexible hardware platform and also strengthens the relationships between different subfields within computer science. We discuss both the changes made to our curriculum and the effectiveness of our approach.