Computational thinking (CT) is broadly defined as the thought processes involved in formulating problems and their solutions so that the solutions can be automated. In this twenty-first century, computation is fundamental, and often unavoidable, in most endeavors, thus computing educators have the responsibility to instill in future generations of scientists, mathematicians, and engineers key
... [Show full abstract] computational thinking skills. There is a compelling case to be made for the infusion of CT skills into the K-16 education of everyone, given the pervasiveness of computers in all aspects of our lives. This poses the following critical educational challenge: how and when should students learn CT and how and when should it be taught? While discussions, deliberations, and debates will likely continue, the tightly knitted relationship between computational thinking and mathematical thinking suggests that one avenue to acquire CT skills is to integrate CT in the K-16 mathematics curriculum. This chapter describes a study that uses a problem-driven learning pedagogical strategy and the APOS theoretical framework to integrate computational thinking in CSCE 2100, a sophomore level discrete structures course which is a required course for all Information Technology majors. Results demonstrate that integrating computational thinking in a discrete structures course can effectively and significantly influence students’ understanding of a range of CT concepts.