login
Home / Papers / Learning from the Impossible: Introducing Theoretical Computer Science in CS...

Learning from the Impossible: Introducing Theoretical Computer Science in CS Mathematics Courses

4 Citations•2021•
Rafael del Vado Vírseda
Proceedings of the 52nd ACM Technical Symposium on Computer Science Education

A complete educational methodology to systematically introduce questions of computability and algorithmic complexity, in the early years of computer science and mathematics degrees, from the results of impossibility that are already included in the curriculum of CS-geared mathematics courses is offered.

Abstract

The low academic results and mathematical difficulties experienced by students in learning theoretical computer science have been one of the reasons why many undergraduate students postpone the study of their theoretical subjects until absolutely necessary. For this reason, some optional theoretical subjects have been postponed for the last years, and in some cases, not included in the curricula due to lack of students. In order to reverse this problematic situation in theoretical computing education, it is essential that students acquire as soon as possible an intuitive and progressive knowledge of the main theoretical computing concepts and their associated skills and abilities. To achieve this goal, in this paper we offer a complete educational methodology to systematically introduce questions of computability and algorithmic complexity, in the early years of computer science and mathematics degrees, from the results of impossibility that are already included in the curriculum of CS-geared mathematics courses. To provide clear evidence of the impact of the applicability of the proposed methodology, we analyze the experimental results and student feedback we have obtained to confirm that the introduction of theoretical computing questions from impossibility results increases students' academic results in theoretical computing subjects, and motivation and interest in studying mathematical subjects of beginning level of computer science.