Logo: to the web site of Uppsala University

uu.sePublications from Uppsala University
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Practical thinking in programming education: Novices learning hands-on
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Division of Scientific Computing. (Uppsala Computing Education Research Group)ORCID iD: 0000-0003-1750-8647
2022 (English)Doctoral thesis, comprehensive summary (Other academic)
Description
Abstract [en]

Understanding how novices learn to program is of national and global concern. A substantial number of studies have been conducted within computing education research (CER), and, although some understanding has been gained, research still finds that programming is hard to learn. This thesis presents a detailed investigation of novice students’ learning of computer programming. The research project used a mixed-methods approach that ties together a controlled study with upper secondary school students with naturalistic classroom studies at the university level.

Underpinning the research is a pragmatic philosophical view on knowledge and learning. Pragmatism places “doing” at the forefront of knowledge acquisition, and doing is also central to this thesis. Learning that takes place in the computer lab is the primary object of investigation. Throughout the research, hands-on learning (direct control of keyboard and thus interaction with the computer environment) is compared with hands-off learning (other participation in programming activities).

Results from the controlled study demonstrated that hands-on learning decreased stress and was beneficial for learning over time. However, the usefulness of hands-on learning could not be confirmed in terms of improved learning outcomes immediately after students’ first encounter with programming. The beneficial effect of hands-on learning over time could be explained by emotional factors as mediators. 

Findings from the naturalistic settings confirmed that emotions and the social setting in which the learning takes place were important. Novices experienced frustration when getting stuck but also joy when succeeding — an “emotional roller coaster”. All students report that hands-on code writing is necessary when learning to program.

Students in this research appreciated time for individual interaction with the computer environment, and time for working together in pairs to handle the emotional roller coasters. Experiencing negative emotions, or not getting personalized help when stuck, seemed to negatively affect student beliefs about themselves as programmers, and may result in decisions not to continue with computing.

Two new concepts, ‘practical thinking’ and ‘come to agreement’, were developed, which tie pragmatic knowledge theory to learning to program. These concepts help to understand and re-describe the purpose of an introductory programming course that in a way emphasizes the “doing”. This novel use of pragmatism in CER is one important contribution to the research field. The research presented in this thesis has implications for how programming education can be understood beyond the dichotomy of theory and practice.

Place, publisher, year, edition, pages
Uppsala: Acta Universitatis Upsaliensis, 2022. , p. 64
Series
Digital Comprehensive Summaries of Uppsala Dissertations from the Faculty of Science and Technology, ISSN 1651-6214 ; 2104
Keywords [en]
Programming education, Novice programming, Hands-on learning, Higher education, Pragmatism, Dewey
National Category
Didactics Computer Sciences
Research subject
Computing Education Research
Identifiers
URN: urn:nbn:se:uu:diva-461455ISBN: 978-91-513-1372-6 (print)OAI: oai:DiVA.org:uu-461455DiVA, id: diva2:1620099
Public defence
2022-02-17, Room 101195 (nya hus 10), Ångströmlaboratoriet, Lägerhyddsvägen 2, Uppsala, 09:15 (English)
Opponent
Supervisors
Funder
Swedish Research Council, 2015-01920
Note

Lokalen är bokad i det nya hus 10 och jag är lite osäker på adressen till den.

Available from: 2022-01-26 Created: 2021-12-14 Last updated: 2022-01-26
List of papers
1. Measuring programming knowledge in a research context
Open this publication in new window or tab >>Measuring programming knowledge in a research context
2018 (English)In: Proc. 48th ASEE/IEEE Frontiers in Education Conference, Piscataway, NJ: IEEE Press, 2018Conference paper, Published paper (Refereed)
Place, publisher, year, edition, pages
Piscataway, NJ: IEEE Press, 2018
National Category
Computer Sciences Educational Sciences
Identifiers
urn:nbn:se:uu:diva-380603 (URN)10.1109/FIE.2018.8658615 (DOI)000468396901001 ()978-1-5386-1174-6 (ISBN)
Conference
FIE 2018, October 3–6, San Jose, CA
Available from: 2019-03-07 Created: 2019-03-29 Last updated: 2021-12-14Bibliographically approved
2. Learning to program hands-on: a controlled study
Open this publication in new window or tab >>Learning to program hands-on: a controlled study
2020 (English)In: Proceedings of the 20th Koli Calling International Conference on Computing Education Research November 2020 November 2020 / [ed] ACM Digital Library, 2020, p. 1-10, article id Article No.: 6Conference paper, Published paper (Refereed)
Abstract [en]

Knowledge of computer programming is increasingly important in society. Many countries have introduced programming into the school curriculum. Programming students’ learning has been studied from many perspectives, one being the importance of students working hands-on with programming problems. The explanations and underlying factors for this are however less researched.

In a controlled study with upper secondary school students (n=53) learning basic Java programming for three hours, we studied how factors like learning outcome, engagement, motivation, stress, and long-term memory are affected by hands-on and hands-off learning respectively. Students worked in pairs to solve programming problems. In each pair, one student was randomly selected to write the code hands-on, while the other student contributed hands-off. The roles did not switch during the session.

We used tests and questionnaires to assess the learning outcome and some other aspects of relevance for learning. Statistical analysis of the results showed that working hands-on reduced stress. There was no difference in knowledge gain immediately after the teaching, but the hands-on group did slightly better on a follow-up test one week later. The results are discussed in relation to research about, e.g., stress, long-term learning, and novices learning to program.

Keywords
Novice programming, Hands-on, Practice, Pair programming
National Category
Didactics
Research subject
Computing Education Research
Identifiers
urn:nbn:se:uu:diva-428711 (URN)10.1145/3428029.3428058 (DOI)
Conference
Koli Calling '20: Koli Calling '20
Funder
Swedish Research Council, 2015-01920
Available from: 2020-12-15 Created: 2020-12-15 Last updated: 2023-01-09Bibliographically approved
3. Social dimensions in the lab session when novices learn to program
Open this publication in new window or tab >>Social dimensions in the lab session when novices learn to program
2020 (English)In: 2020 IEEE Frontiers in Education Conference (FIE), 2020Conference paper, Published paper (Refereed)
Abstract [en]

This full research paper reports on a study of social dimensions when students learn to program. The aim of this study is to investigate students’ experiences of social dimensions in learning to program as novices in a pair-programming lab setting. Data was collected by means of individual interviews with seven students mid-way through the course. A questionnaire to 77 students gave a background of the class as a whole and was used to select students for the interviews. The interview data were analyzed using an inductive content analysis method and interpreted theoretically from a pragmatist and transactional perspective on learning. Our results show different ways that the social dynamic between the students in a pair affected 1) the emotions experienced, 2) the extent to which students actively wrote code and interacted with the computer environment, and3) how students perceived their competence. Interviewed students report that failure and success in a programming task result in an emotional roller coaster, and that in this turbulence, the social context is of utmost importance and weighs in when students consider if they are going to pursue a programming profession.

Series
Frontiers in Education Conference, ISSN 1539-4565, E-ISSN 2377-634X
Keywords
novice programming, pair programming, practice, pragmatism, social dimensions
National Category
Didactics
Research subject
Computer Science with specialization in Computer Science Education Research; Computing Education Research
Identifiers
urn:nbn:se:uu:diva-428697 (URN)10.1109/FIE44824.2020.9273816 (DOI)000646660800005 ()978-1-7281-8961-1 (ISBN)978-1-7281-8962-8 (ISBN)
Conference
2020 IEEE Frontiers in Education Conference (FIE), 21-24 October, Uppsala
Funder
Swedish Research Council, 2015-01920
Available from: 2020-12-15 Created: 2020-12-15 Last updated: 2023-01-09Bibliographically approved
4. Practical thinking while learning to program – novices’ experiences and hands-on encounters
Open this publication in new window or tab >>Practical thinking while learning to program – novices’ experiences and hands-on encounters
2021 (English)In: Computer Science Education, ISSN 0899-3408, E-ISSN 1744-5175, Vol. 0, no 0, p. 1-25Article in journal (Refereed) Published
Abstract [en]

Objective

The first objective is to lay out a theoretical foundation for understanding the learning situation when novices first encounter programming in the computer lab. The second objective is to illustrate how this theoretical foundation can help give insight by applying it to an empirical study.

Method

Core concepts from Dewey’s pragmatic theory are combined with the thinking of Deleuze and the later Wittgenstein to form a theoretical framework. The main empirical data is seven student interviews, which were analyzed using a qualitative content analysis method in two steps, first analyzing the stated content and second through the lens of the theoretical framework.

Findings

Students’ learning processes can be understood as ‘come to agreement’ and habitual actions when doing programming as ‘practical thinking’.

Implications

Programming education can be reframed beyond the theory–practice dichotomy already rejected by pragmatism. This may have an impact on both course design and assessment, in that knowledge and measurement of knowledge have to be re-evaluated in a pragmatic light.

Place, publisher, year, edition, pages
Taylor & FrancisInforma UK Limited, 2021
Keywords
programming education, learning to program, novices in programming, Dewey, Pragmatism, hands-on work
National Category
Didactics
Research subject
Computer Science with specialization in Computer Science Education Research
Identifiers
urn:nbn:se:uu:diva-449525 (URN)10.1080/08993408.2021.1953295 (DOI)000674815400001 ()
Projects
Hands-on in Programming Education (HOPE)
Funder
Swedish Research Council, 2015-01920
Available from: 2021-08-02 Created: 2021-08-02 Last updated: 2024-01-15Bibliographically approved
5. Engineering students’ strategies to learn programming correlate with motivation and gender
Open this publication in new window or tab >>Engineering students’ strategies to learn programming correlate with motivation and gender
2021 (English)In: 2021 IEEE Frontiers in Education Conference (FIE), Institute of Electrical and Electronics Engineers (IEEE), 2021Conference paper, Published paper (Refereed)
Abstract [en]

This full research paper reports on a study where we investigated engineering students’ learning to program. In particular, we explored differences in students’ strategies, how they work in the computer lab, and if this is related to their motivation, gender, and overall tendency to engage in thinking. We gathered survey data from first-year engineering students in an introductory, compulsory programming course. The survey consisted of established instruments and items constructed by us. 67 students answered the survey (response rate of 43%).18% of the students that answered the survey did not have previous experiences of programming, and 43% were female. An exploratory factor analysis of the items relating to how students learn programming revealed three factors: 1) the individual thinker, 2) the social reader, and 3) the interactive problem-solver. We found gender differences relating to the second factor; female students reported more frequent use of the social reader strategy. There were also differences in reported used strategies and how students worked in the lab, previous experiences, need for cognition, and motivation. These differences indicate that the factors individual thinker and interactive problem-solver were privileged in this programming course. Further research is needed to explore these findings in different educational contexts.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2021
Keywords
novice programmers, introductory programming, learning strategies, pragmatism, gender differences, motivation
National Category
Didactics
Research subject
Computer Science with specialization in Computer Science Education Research
Identifiers
urn:nbn:se:uu:diva-460805 (URN)10.1109/FIE49875.2021.9637375 (DOI)000821947700264 ()978-1-6654-3851-3 (ISBN)
Conference
2021 IEEE Frontiers in Education Conference (FIE), 13-16 October, Lincoln, NE, USA
Funder
Swedish Research Council, 2015-01920
Available from: 2021-12-08 Created: 2021-12-08 Last updated: 2022-08-12Bibliographically approved
6. Practical thinking and learning strategies: novices experiencing learning programming
Open this publication in new window or tab >>Practical thinking and learning strategies: novices experiencing learning programming
(English)Manuscript (preprint) (Other academic)
Abstract [en]

Research in computer science education has reported that novices have difficulties when learning to program. Practice is important both as means to learn programming and as the goal in itself, i.e. knowing programming involves practical skills. While some evidence points to the individual students’ activities as important in hands-on work, there is always a social context in with the learning takes place. 

The aim of this interview study is to investigate novices encountering programming for the first time by exploring students' experiences of ‘practical thinking’ and ‘come to agreement’ throughout a course. In doing so account is taken of the social dimensions of the setting. Six students were interviews on three occasions during an introductory programming course at university level. 

Practical thinking is described at two different stages of the learning process. The second at the end of the course was described as an experience of ease in moving around in the computer environment. This feeling of ease could also be described as a “come to agreement” state with the computer environment and can be seen as a description of a desired learning outcome of an introductory programming course.

It takes time to learn programming with hurdles and need for assistance. For some, stress and frustration made learning tougher, an emotional roller-coaster. Both feeling less of negative emotions, willingness to invest a lot of time, and preferences of working alone taken together seems to play into decisions of continuing with programming. 

Keywords
Novice programming; practice; pragmatism; higher education
National Category
Didactics
Research subject
Computing Education Research
Identifiers
urn:nbn:se:uu:diva-460807 (URN)
Available from: 2021-12-08 Created: 2021-12-08 Last updated: 2023-01-09Bibliographically approved

Open Access in DiVA

UUThesis_K-vonHausswolff-2022(910 kB)742 downloads
File information
File name FULLTEXT01.pdfFile size 910 kBChecksum SHA-512
0dfa6f30b7e6fca7589ea88fedc548469165d33298c9dc8477cb6b303107f8c4eaa214f6050792c4b0e94696eb42ea47623da0ce948f6aded835a3be86a50cfa
Type fulltextMimetype application/pdf
errata(48 kB)98 downloads
File information
File name ERRATA01.pdfFile size 48 kBChecksum SHA-512
b63f4c9019e2c61d6545a1b5fc31eef470e55286d7b63bfa04ed2480e34304affc72f33c8659e22e7c057e2140f3ee20dc913e5094ecb031169542c662a33db5
Type errataMimetype application/pdf

Authority records

von Hausswolff, Kristina

Search in DiVA

By author/editor
von Hausswolff, Kristina
By organisation
Division of Scientific Computing
DidacticsComputer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 748 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 1672 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf