Computational Thinking has been introduced as a fundamental skill to acquire, just like basic skills like reading, writing, and numeracy. The reason is that Computational Thinking is one of the most important skills for XXI century citizens, in particular for programmers and scientists at large. Currently, Computer Science teaching practices focus on individual programming and Computational Thinking first, and only later address students to work in teams. We study how Computational Thinking can be enhanced with social skills and teaming practices, aiming at training our students in Computational Thinking exploiting Agile values and practices. Based on prior studies, we describe and compare the four traditional software development learning approaches: solo programmer, pair programmers, self-organized teams, and directed teams. Such approaches have been explored in a number of teaching experiments, involving a significant number of students, over several years. Accordingly, we induced a model that we call Cooperative Thinking, based on such previous evidence and grounded in literature. This paper provides a research synthesis of previous works contextualized in a pedagogical framework, and proposes a new learning paradigm for software engineering education.
CITATION STYLE
Ciancarini, P., Missiroli, M., & Russo, D. (2020). Exploiting Agile Practices to Teach Computational Thinking. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 12055 LNCS, pp. 63–83). Springer. https://doi.org/10.1007/978-3-030-39306-9_5
Mendeley helps you to discover research relevant for your work.