Synergies between Intro to Data Science and Intro to Programming via Purely Functional Programming
Intro Programming (CS1) courses often face the problem that some students come in with prior experience and some do not. We offered an optional data science course in the summer, marketed as a way to both learn some data science and learn computational thinking.
Since the course is optional, we wanted a clear separation between the material in the course and our CS1. Our CS1 is taught using Python and teaches mainly procedural programming.
We teach R functions by expanding them algebraically. Tracing functions by expanding them algebraically is possible "on paper" (i.e., on a computer, but typing in the expansion) . We report on having students trace functions in R in the data science course, and automatically verifying that their tracing is correct using a custom prompt in ChatGPT.
We report on the synergies created by teaching tracing early using a functional language: students learn data science, and students get a substantive and pedagogically-different introduction to programming.
Since the course is optional, we wanted a clear separation between the material in the course and our CS1. Our CS1 is taught using Python and teaches mainly procedural programming.
We teach R functions by expanding them algebraically. Tracing functions by expanding them algebraically is possible "on paper" (i.e., on a computer, but typing in the expansion) . We report on having students trace functions in R in the data science course, and automatically verifying that their tracing is correct using a custom prompt in ChatGPT.
We report on the synergies created by teaching tracing early using a functional language: students learn data science, and students get a substantive and pedagogically-different introduction to programming.
Synergies entre l’introduction à la science des données et l’introduction à la programmation par la programmation fonctionnelle pure
Les cours d’introduction à la programmation (CS1) sont souvent confrontés au problème voulant que certains étudiants arrivent avec une expérience préalable, tandis que d’autres n’en ont aucune. Nous avons proposé un cours optionnel de science des données en été, présenté comme un moyen d’apprendre à la fois la science des données et la pensée computationnelle. Étant donné que ce cours est facultatif, nous voulions une séparation claire entre son contenu et celui de notre CS1. Notre CS1 est enseigné en Python et se concentre principalement sur la programmation procédurale. Nous enseignons les fonctions en R en les développant algébriquement. Le traçage des fonctions par développement algébrique est possible « sur papier » (c’est-à-dire sur un ordinateur, en tapant le développement). Nous faisons état de l’expérience des étudiants retraçant des fonctions en R dans le cours de science des données, tout en vérifiant automatiquement l’exactitude de leur traçage à l’aide d’une requête personnalisée dans ChatGPT. Nous mettons en avant les synergies créées en enseignant tôt le traçage à l’aide d’un langage fonctionnel : les étudiants apprennent la science des données et profitent d’une introduction substantielle et pédagogiquement différente à la programmation.
Date and Time
-
Langue de la présentation orale
Anglais
Langue des supports visuels
Anglais