Abstract
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 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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Asiala, M., Brown, A., DeVries, D. J., Dubinsky, E., Mathews, D., & Thomas, K. (1996). A framework for research and curriculum development in undergraduate mathematics education. Research in Collegiate Mathematics Education, 2, 1–32.
Baldwin, D., Walker, H., & Henderson, P. (2013). The roles of mathematics in computer science. ACM Inroads, 4(4), 74–80.
Barr, V., & Stephenson, C. (2011). Bringing computational thinking to K-12: What is involved and what is the role of the computer science education community? ACM Inroads, 2(1), 48–54.
Cormen, T., Leiserson, C., Rivest, R., & Stein, C. (2001). Introduction to algorithms. Cambridge, MA: MIT.
Dubinsky, E. (1991). Reflective abstraction in advanced mathematical thinking. In D. Tall (Ed.), Advanced mathematical thinking (pp. 231–250). Dordrecht: Kluwer.
Gorman, J., Gsell, S. & Mayfield, C. (2014). Learning relational algebra by snapping blocks. In Proceedings of the 45th SIGCSE technical symposium on computer science education (pp. 73–78).
Henderson, P. B. (2003). Mathematical reasoning in software engineering education. Communications of the ACM, 46(9), 45–50.
Henderson, P. B., Baldwin, D., et al. (2001). Striving for mathematical thinking, ITiCSE 2000 working group report. SIGCSE Bulletin–Inroads, 33(4), 114–124.
Jenkins, J. T., Jerkins, J. A., & Stenger, C. L. (2012). A plan for immediate immersion of computational thinking into the high school math classroom through a partnership with AMSTI. In Proceedings of the 50th annual ACM southeast regional conference (pp. 148–152).
Johnson, S. M. (1963). Generation of permutations by adjacent transposition. Mathematics of Computation, 17, 282–285.
Kmoch, J. (2013). Computational thinking dispositions and the common core math standards. CSTA Voice, 9(4), 3–5.
Knuth, D. (1985). Algorithmic thinking and mathematical thinking. The American Mathematical Monthly, 92(3), 170–181.
Kynigos, C. (2007). Using half-baked microworlds to challenge teacher educators knowing. Journal of Computers for Math Learning, 12(2), 87–111.
Larson, P., Fitzgerald, J., & Brooks, T. (1996). Applying formal specification in industry. IEEE Software, 13(3), 48–56.
Lu, J. & Fletcher, G. (2009). Thinking about computational thinking. In Proceedings of the 40th SIGCSE technical symposium on computer science education (pp. 260–264).
McMaster, K. (2008). Two gestalts for mathematics: Logical vs. computational. Information Systems Education Journal, 6(20), 1–13.
Piaget, J. (1970). Genetic epistemology. New York, NY: Columbia University Press.
Rich, P., Leatham, K., & Wright, G. (2013). Convergent cognition. Instructional Science, 41(2), 431–453.
Roberts, E. (Ed.). (2002). Computing curricula 2001: Computer science final report. New York, NY: IEEE Computer Society.
Sherin, B. (2001). A comparison of programming languages and algebraic notation as expressive languages for physics. International Journal of Computers for Mathematics Learning, 6(1), 1–61.
Sobel, A. (2000). Empirical results of a software engineering curriculum incorporating forma methods. SIGCSE Bulletin, 32(1), 157–161.
Trotter, H. F. (1962). Algorithm 115: Perm. Communications of the ACM, 5(8), 434–435.
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Rambally, G. (2017). Integrating Computational Thinking in Discrete Structures. In: Rich, P., Hodges, C. (eds) Emerging Research, Practice, and Policy on Computational Thinking. Educational Communications and Technology: Issues and Innovations. Springer, Cham. https://doi.org/10.1007/978-3-319-52691-1_7
Download citation
DOI: https://doi.org/10.1007/978-3-319-52691-1_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-52690-4
Online ISBN: 978-3-319-52691-1
eBook Packages: EducationEducation (R0)