Elaborating heuristic reasoning and rigor with mathematical games
Mathematical games arouse enthusiasm and challenge. They usually involve clear and simple rules, with physical, visual, or numerical entities, which raise motivation and intuition. The development of their playing strategies requires both heuristic reasoning and rigor. In order to win, one should recognize and capitalize on number patterns, such as parity and symmetry, as well as invariant patterns of repeated algorithmic actions. The search for patterns involves essential problem solving heuristics, and the validation of devised algorithmic actions requires a rigorous, scientific point of view. While games are known to be stimulating, their utilization in textbooks is very limited, if at all. In this paper, we offer an instructional approach, of using mathematical games, for elaborating fundamental notions that are apparent and relevant already at the very basic levels of computer science (CS) studies. We display our approach, illustrate it, and describe our experience in applying it in class.