“…There are several strands of related work aiming to make CS theory courses more practical, accessible, or meaningful. We might classify these strands as: (i) interactive automata software tools such as JFLAP and DEM [3,22,23]; (ii) lab assignments and visualizations for NP-completeness, an approach sometimes described as "NP-completeness for all" [4,6,14]; (iii) recasting the theoretical ideas themselves, for example by emphasizing non-decision problems and including holistic discussions about the implications of NP-completeness and P-versus-NP [8,9,10,17,20]. The present paper falls firmly in category (iii).…”