Waseda University, Japan
With the increased demand in industry for people with programming skills and the visibility of Digital Humanities in academia, there has been a rise in humanities and other non-computer science students looking to learn programming (Hughes, 2020). However, programming course availability and quality at humanities departments vary greatly (see e.g Abrahams, 2010; Lyon & Magana, 2020) and students risk losing motivation if they cannot see the connection to their own studies with numerical rather than textual content and practical applications (Forte & Guzdial, 2005; Ramsay, 2012; Kokensbarger et al., 2018; Öhman, 2019).
Some research already exists on what makes a programming course successful in terms of high pass rates (see e.g. Nikula et al., 2011), however, in this paper we focus on examining what practices convince students themselves that a course was useful as a measure of success. In order to examine this aspect and to try to create a few guidelines for successful Python courses specifically for students of humanities-related subjects, we examined student course feedback from three courses: an undergraduate course
Python Programming for Digital Humanities
(~150 students, early 20s, online) at Waseda University, Japan and the
NLP for Linguists
and
Working with Text
courses, partially based on the
Applied Language Technology
online tutorials (Hiippala, 2021), at the University of Helsinki, Finland (~30 students each, early to late 20s, hybrid style) that are open both for undergraduate and graduate students. The main contents of these courses are fairly similar and so are both the complaints and praise. We compare difficulties students face, explore what keeps them motivated, and analyze their feedback holistically while looking for common denominators of what works:
“These courses have been the high point of the spring semester, and all of the exercises have been motivating and satisfying to complete.”
(Student. Finland)
As is common with humanities-focused programming courses there is a significant skill gap between students (see e.g. Öhman, 2019) and this too shows in the evaluations. In 2022 the question “What was the level of this week’s content?” was asked of students after their first week of the “Python Programming for Digital Humanities” course. With 107 respondents, the distribution of responses shows normal distribution with most students (69%) feeling that the level was just right, and the rest almost evenly split between “I struggled a bit” and “Too easy” (Table 1).
Table 1. Results of poll regarding content difficulty
In the Finnish data, the question “Was the level of the course appropriate?” the answers have the greatest spread as well, suggesting that ideally perhaps students should either be placed in different groups based on initial skill level or that some students could really benefit from a pre-introduction course or extra tutoring where they could gain confidence in the most basic of programming concepts. This is especially true in the light that there does not seem to be a correlation between struggling students and below average final grades as long as the students do not drop out. A correlation matrix of evaluation questions and results (Figure 1.) show that there are high correlations between how students experience the speed of the course and the workload and the level of the course. If one of these parameters are adjusted it will likely affect the others, e.g., if the speed that new topics are introduced is slowed down, the workload will feel more manageable and the contents easier to digest.
We also recommend that programming courses such as these are best balanced by using scaffolding methods to keep students in the zone of proximal development (Chaiklin et al, 2003; Vygotsky, 1987). In practice this means telling the students the outline of what they are going to learn first to enable independent learning at the students’ own pace later and not making the contents too easy, but also providing students with the tools to do their own trouble-shooting and advanced learning by introducing StackOverflow and other such tools early on. Additionally, the content should be humanities focused and practical. This could mean introducing the NLTK library (Bird & Loper, 2004) right after teaching the basics (data types & loops) as a way to demonstrate usefulness.
Overall, student satisfaction ratings are very high for both courses as are enrollment numbers. Ramsay (2012) referred to teaching humanities students programming as raising an army of hacker-scholars, and it certainly seems that the interest is there from the student side once they get past the initial hurdle of enrolling in the course.
Figure 1. Correlation matrix of feedback responses
Bibliography
Abrahams, D. A.
(2010). Technology adoption in higher education: A framework for identifying and prioritizing issues and barriers to the adoption of instructional technology.
Journal of Applied Research in Higher Education
2, 2, 34–49.
Bird, S. G., & Loper, E.
(2004).
NLTK: the natural language toolkit
. Association for Computational Linguistics.
Chaiklin, S.
(2003). The zone of proximal development in Vygotsky’s analysis of learning and instruction. Vygotsky’s educational theory in cultural context 1, 39–64.
Forte, A., and Guzdial, M. (
2005). Motivation and nonmajors in computer science: Identifying discrete audiences for introductory courses.
IEEE Transactions on Education
48:2, 248–253.
Hiippala, T. (
2021). Applied Language Technology: NLP for the Humanities.
In Proceedings of the Fifth Workshop on Teaching NLP
(pp. 46-48).
Hughes, O
. (2020).
Developer training sees spike in demand as more people learn to cod
e. TechRepublic. Retrieved November 29, 2021, from https://www.techrepublic.com/article/the-economic-outlook-is-uncertain-so-more-people-want-to-become-developers/
Kokensparger, B., and Peyou, W.
(2018). Programming for the humanities: A whirlwind tour of assignments. In
Proceedings of the 49th ACM Technical Symposium on Computer Science Education,
SIGCSE’18, ACM, pp. 1050–1050.
Lyon, J.A., and J. Magana, A
. (2020).
Computational thinking in higher education: A review of the literature
. Computer Applications in Engineering Education.
Öhman, E.S
. (2019). Teaching Computational Methods to Humanities Students. In
Digital Humanities in the Nordic Countries Proceedings of the Digital Humanities in the Nordic Countries 4th Conference
. CEUR-WS.org.
Nikula, U., Gotel, O. and Kasurinen, J. (
2011). A motivation guided holistic rehabilitation of the first programming course.
ACM Transactions on Computing Education
(TOCE), 11(4), pp.1-38.
Ramsay, S
. (2012). Programming with humanists: Reflections on raising an army of hacker-scholars in the digital humanities.
Digital Humanities Pedagogy: Practices, Principles, and Politics
, 217–41.
Vygotsky, L.
(1987). Zone of proximal development.
Mind in society: The development of higher psychological processes
5291, 157.
If this content appears in violation of your intellectual property rights, or you see errors or omissions, please reach out to Scott B. Weingart to discuss removing or amending the materials.
In review
Tokyo, Japan
July 25, 2022 - July 29, 2022
361 works by 945 authors indexed
Held in Tokyo and remote (hybrid) on account of COVID-19
Conference website: https://dh2022.adho.org/
Contributors: Scott B. Weingart, James Cummings
Series: ADHO (16)
Organizers: ADHO