Program wars: a card game for learning programming and cybersecurity concepts

Thumbnail Image
Anvik, John
Cote, Vincent
Riehl, Jace
Journal Title
Journal ISSN
Volume Title
Although there are many computer science learning games with the goal of teaching programming, such games typically require the person to either learn an existing programming language or the game's own specialized language. This can be intimidating, confusing or frustrating for an individual when they cannot get their "program" to work correctly (e.g. syntax error, infinite loop). Additionally, such games commonly use a puzzle-solving approach that does not appeal to some demographics. This paper presents a programming-language-independent approach to teaching fundamental programming and cybersecurity concepts using simple vocabulary. This approach also uses the familiar activity of playing cards against opponents to create a more dynamic and engaging learning experience. The approach is demonstrated by a web-based game called Program Wars. Results from a user study show that players are able to effectively connect game concepts to actual programming language structures; however, whether players' comprehension of computer programming is improved is unclear.
Permission to archive accepted author manuscript
Card game , Cybersecurity education , Programming language , Web application
Anvik, J., Cote, V., & Riehl, J. (2019). Program wars: A card game for learning programming and cybersecurity concepts. In SIGSCE' 19: Proceedings of the 50th ACM Technical Symposium on Computer Science Education (pp. 393-399).