Teaching Data Science with Literate Programming Tools

This paper presents a case study on using Emacs and Org-mode for literate programming in undergraduate computer and data science courses. Over three academic terms, the author mandated these tools across courses in R, Python, C++, SQL, and more. The onboarding relied on simplified Emacs tutorials an...

Full description

Bibliographic Details
Main Author: Marcus Birkenkrahe
Format: Article
Language:English
Published: MDPI AG 2023-09-01
Series:Digital
Subjects:
Online Access:https://www.mdpi.com/2673-6470/3/3/15
_version_ 1797580577170259968
author Marcus Birkenkrahe
author_facet Marcus Birkenkrahe
author_sort Marcus Birkenkrahe
collection DOAJ
description This paper presents a case study on using Emacs and Org-mode for literate programming in undergraduate computer and data science courses. Over three academic terms, the author mandated these tools across courses in R, Python, C++, SQL, and more. The onboarding relied on simplified Emacs tutorials and starter configurations. Students gained proficiency after undertaking initial practice. Live coding sessions demonstrated the flexible instruction enabled by literate notebooks. Assignments and projects required documentation alongside functional code. Student feedback showed enthusiasm for learning a versatile IDE, despite some frustration with the learning curve. Skilled students highlighted efficiency gains in a unified environment. However, the uneven adoption of documentation practices pointed to a need for better incorporation into grading. Additionally, some students found Emacs unintuitive, desiring more accessible options. This highlights a need to match tools to skill levels, potentially starting novices with graphical IDEs before introducing Emacs. The key takeaways are as follows: literate programming aids comprehension but requires rigorous onboarding and reinforcement, and Emacs excels for advanced workflows but has a steep initial curve. With proper support, these tools show promise for data science education.
first_indexed 2024-03-10T22:51:50Z
format Article
id doaj.art-0fdd24abede14a959b6231962864dd77
institution Directory Open Access Journal
issn 2673-6470
language English
last_indexed 2024-03-10T22:51:50Z
publishDate 2023-09-01
publisher MDPI AG
record_format Article
series Digital
spelling doaj.art-0fdd24abede14a959b6231962864dd772023-11-19T10:14:57ZengMDPI AGDigital2673-64702023-09-013323225010.3390/digital3030015Teaching Data Science with Literate Programming ToolsMarcus Birkenkrahe0Department of Math and Science, Lyon College, Batesville, AR 72501, USAThis paper presents a case study on using Emacs and Org-mode for literate programming in undergraduate computer and data science courses. Over three academic terms, the author mandated these tools across courses in R, Python, C++, SQL, and more. The onboarding relied on simplified Emacs tutorials and starter configurations. Students gained proficiency after undertaking initial practice. Live coding sessions demonstrated the flexible instruction enabled by literate notebooks. Assignments and projects required documentation alongside functional code. Student feedback showed enthusiasm for learning a versatile IDE, despite some frustration with the learning curve. Skilled students highlighted efficiency gains in a unified environment. However, the uneven adoption of documentation practices pointed to a need for better incorporation into grading. Additionally, some students found Emacs unintuitive, desiring more accessible options. This highlights a need to match tools to skill levels, potentially starting novices with graphical IDEs before introducing Emacs. The key takeaways are as follows: literate programming aids comprehension but requires rigorous onboarding and reinforcement, and Emacs excels for advanced workflows but has a steep initial curve. With proper support, these tools show promise for data science education.https://www.mdpi.com/2673-6470/3/3/15data scienceliterate programmingteachingEmacsorg-modeIDE
spellingShingle Marcus Birkenkrahe
Teaching Data Science with Literate Programming Tools
Digital
data science
literate programming
teaching
Emacs
org-mode
IDE
title Teaching Data Science with Literate Programming Tools
title_full Teaching Data Science with Literate Programming Tools
title_fullStr Teaching Data Science with Literate Programming Tools
title_full_unstemmed Teaching Data Science with Literate Programming Tools
title_short Teaching Data Science with Literate Programming Tools
title_sort teaching data science with literate programming tools
topic data science
literate programming
teaching
Emacs
org-mode
IDE
url https://www.mdpi.com/2673-6470/3/3/15
work_keys_str_mv AT marcusbirkenkrahe teachingdatasciencewithliterateprogrammingtools