Simplifying Programming for Non-technical Students: A Hermeneutic Approach (original) (raw)

Abstract

This paper investigates the simplification of programming for non-technical university students. Typical simplification strategies are outlined, and according to our findings CT courses for non-technical students typically address learners from different faculties, providing generic and basic knowledge, not specifically related to their major. In this study, we propose instead a hermeneutic approach to simplify programming, in which we aim at clarifying the problem-solving aspect of programming, addressing computational problems that are specific to their studies and leveraging on learners’ preunderstanding of the digital media they have experienced as users. The practical counterpart of our theoretical approach is a minimalistic Python multimedia library, called Medialib, that we designed to enable university students with a non-technical profile to create visual media and games with short and readable code. We discuss the use of Medialib in two empirical case studies: a collaboration with the university of Kyushu in Fukuoka, Japan, and a coding module for Media Studies students at the University of Southern Denmark. Furthermore, we use Notional Machines to attempt a comparison of the simplicity of learning tools for programming, and to ground our claim that Medialib is “simpler” for learners than other popular approaches. The main contribution is a hermeneutic approach to the simplification of programming for specific contexts that combines the hermeneutic spiral and notional machines. The approach is supported by a tool, the Medialib library; the two case studies provide examples of how the approach and tool can be deployed in beginners in CT courses.

Access this article

Log in via an institution

Subscribe and save

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Balzer W, Eleftheriadis A, Kurzawe D (2018) Digital humanities and hermeneutics. Philos Inquiry 42(3/4):103–119
    Article Google Scholar
  2. Berry M, Kölling M (2016) Novis: a notional machine implementation for teaching introductory programming. In: International conference on learning and teaching in computing and engineering, LaTICE 2016, Mumbai, March 31–April 3, 2016, pp. 54–59. IEEE Computer Society . https://doi.org/10.1109/LaTiCE.2016.5
  3. Björgvinsson E, Ehn P, Hillgren PA (2010) Participatory design and “democratizing innovation”. In: Proceedings of the 11th Biennial participatory design conference, pp 41–50
  4. Drotner K, Iversen SM (2017) Digitale metoder: at skabe, analysere og dele data. Samfundslitteratur
  5. Duran R (2019) Blog post “notional machines” . https://compedonline.school.blog/2019/07/26/notional-machines
  6. Duran R, Sorva J, Leite S (2018) Towards an analysis of program complexity from a cognitive perspective. In: Proceedings of the 2018 ACM conference on international computing education research, ICER ’18, pp 21–30. Association for Computing Machinery, New York. https://doi.org/10.1145/3230977.3230986
  7. Fowler M (2010) Domain-specific languages. Addison-Wesley, Upper Saddle River
    Google Scholar
  8. Fry B, Reas C (2021) The processing language, official website . https://processing.org/
  9. Gadamer HG (1989) Truth and method (J. Weinsheimer & DG Marshall, Trans.). New York: Continuum
  10. Grondin 2017 (2017) Gadamer’s interest for legal hermeneutics. Law’s hermeneutics: other investigations. Routledge, Oxford, pp 48–62
    Google Scholar
  11. Guo PJ (2013) Online python tutor: embeddable web-based program visualization for CS education. In: Proceeding of the 44th ACM technical symposium on Computer science education, pp 579–584
  12. Heidegger M (1962) Being and time (J. Macquarrie & E. Robinson, Trans.)
  13. Horban O, Maletska M (2019) Basic hermeneutic approaches to interpretation of videogames. Skhid 163(5):5–12
    Article Google Scholar
  14. Iordache C, Mariën I, Baelden D (2017) Developing digital skills and competences: a quick-scan analysis of 13 digital literacy models. Ital J Sociol Educ 9(1):6–30
    Google Scholar
  15. Jakobsen M, Nyborg M, Valente A (2021) Towards a new tool for individualized content delivery in classrooms. In: Learning and Collaboration Technologies (HCII 2021). Springery
  16. Kozinets RV (2015) Netnography. Int Encycl Digital Commun Soc 39:1–8
    Google Scholar
  17. Kristensen K, Marchetti E, Valente A (2021) The global challenge of designing e-learning tools for computational thinking: a comparison between east asia and scandinavia. In: e Lecture Notes in Computer Science (LNCS). Springer, Germany . http://2021.hci.international/
  18. Malan DJ (2019) Cs50 2019-lecture 0-computational thinking, scratch . https://www.youtube.com/watch?v=jjqgP9dpD1k
  19. McGugan W (2007) Beginning game development with python and pygame: from novice to professional (beginning from novice to professional). Apress, New York
    Google Scholar
  20. Moreno A, Myller N, Sutinen E, Ben-Ari M (2004) Visualizing programs with jeliot 3. In: Proceedings of the working conference on advanced visual interfaces, pp 373–376
  21. Piotrowski M, Neuwirth M (2020) Prospects for computational hermeneutics. In: Atti del IX Convegno Annuale AIUCD
  22. Pope D (2021) Pygame zero—official webpage . https://pygame-zero.readthedocs.io/en/stable/introduction.html
  23. Russell SJ, Norvig P (2003) Artificial intelligence: a modern approach. Pearson Education . http://portal.acm.org/citation.cfm?id=773294
  24. Schleiermacher F (1998) Hermeneutics and criticism and other writings. Cambridge University Press, Cambridge
    Google Scholar
  25. Seppälä O, Duran R, Becker B, Denny P, Barik T, Ball T, Velázquez-Iturbide Á, Sorva J (2019) Notional machines for scratch and python. In: Dagstuhl Seminar 19281, pp. 18–19
  26. Severance CR (2021) Online course—programming for everybody (getting started with python) . https://www.coursera.org/learn/python?specialization=python
  27. Severance CR, Blumenberg S, Hauser E (2016) Python for everybody: exploring data in python 3. CreateSpace Independent Publishing Platform, North Charleston
    Google Scholar
  28. Shiffman D (2021) Online video course—the coding train . https://www.youtube.com/watch?v=yPWkPOfnGsw
  29. Sorva J (2013) Notional machines and introductory programming education. ACM Trans Comput Educ 13(2):8. https://doi.org/10.1145/2483710.2483713
    Article Google Scholar
  30. Sotirou P (1993) Articulating a hermeneutic pedagogy: the philosophy of interpretation. J Adv Compos 13(2):365–380
    Google Scholar
  31. Sweigart A (2016) Invent your own computer games with python, 4th Edition-free online book. No Starch Press. https://inventwithpython.com/invent4thed/
  32. Tedre M, Denning PJ (2016) The long quest for computational thinking. In: Proceedings of the 16th Koli calling international conference on computing education research, pp 120–129
  33. Tomkins L, Eatough V (2018) Hermeneutics: interpretation, understanding and sense-making. SAGE handbook of qualitative business and management research methods pp. 185–200
  34. Valente A, Marchetti E, Wang J (2020) Design of an educational multimedia library to teach python to non-technical university students. In: P. Zaphiris, A. Ioannou (eds.) Proceedings of the 9th International Congress on Advanced Applied Informatics (IIAI-AAI), pp. 169–175. IEEE. https://doi.org/10.1109/IIAI-AAI50415.2020.00041
  35. Vorderman C (2017) Computer coding python projects for kids: a step-by-step visual guide. Computer coding. Dorling Kindersley Limited . https://www.dk.com/uk/book/9780241286869-computer-coding-python-projects-for-kids/
  36. Vorderman C (2018) Computer coding python games for kids. Dorling Kindersley Limited, London
    Google Scholar
  37. Wing J (2017) Computational thinking’s influence on research and education for all. Ital J Educ Technol 25(2):7–14
    Google Scholar
  38. Zimmerman J, Forlizzi J (2014) Research through design in HCI. In: Ways of knowing in HCI, pp. 167–189. Springer

Download references

Acknowledgements

We would like to thank Jingyun Wang (from Durham University, UK) for providing the initial problem that brought us to create the Medialib, and for supporting its testing and deployment. We would also like to thank Marco Ragni and Nina Bonderup Dohn (from SDU, Denmark) for the very productive and stimulating discussions that helped frame and improve this paper.

Author information

Authors and Affiliations

  1. Maersk Mc-Kinney Moller Institute, Game Development and Learning Technology, University of Southern Denmark (SDU), Odense, Denmark
    Andrea Valente
  2. Media, Department for the Study of Culture, University of Southern Denmark (SDU), Odense, Denmark
    Emanuela Marchetti

Authors

  1. Andrea Valente
  2. Emanuela Marchetti

Corresponding author

Correspondence toAndrea Valente.

Rights and permissions

About this article

Cite this article

Valente, A., Marchetti, E. Simplifying Programming for Non-technical Students: A Hermeneutic Approach.Künstl Intell 36, 17–33 (2022). https://doi.org/10.1007/s13218-021-00748-0

Download citation

Keywords