umu.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • 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
A study of student problems in learning to program
Umeå University, Faculty of Science and Technology, Department of Computing Science.
2011 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Programming is a core subject within Computer Science curricula and many also consider it a particularly difficult subject to learn. There have been many studies and suggestions on what causes these difficulties and what can be done to improve the situation.

This thesis builds on previous work, trying to understand what difficulties students have when learning to program. The included papers cover several areas encountered when trying to learn programming.

In Paper I we study how students use annotations during problem solving. The results show that students who annotate more also tend to be more successful. However, the results also indicate that there might be a cultural bias towards the use of annotations.

Not only do students have problems with programming, they also have problems with designing software. Even graduating students fail to a large extent on simple design tasks. Our results in Paper II show that the majority of the students do not go beyond restating the problem when asked to design a system.

Getting stuck is something that most learners experience at one time or another. In Paper III we investigate how successful students handle these situations. The results show that the students use a large number of different strategies to get unstuck and continue their learning. Many of the strategies involve social interaction with peers and others.

In Papers IV, V, and VI we study what students experience as being key and threshold concepts in Computer Science. The results show that understanding particular concepts indeed affect the students greatly, changing the way they look at Computer Science, their peers, and themselves.

The two last papers, Papers VII and VIII, investigate how researchers, teachers and students view concurrency. Most researchers/teachers claim that students have difficulties because of non-determinism, not understanding synchronization, etc. According to our results the students themselves do not seem to think that concurrency is significantly more difficult than any other subject. Actually most of them find concurrency to be both easy to understand and fun.

Abstract [sv]

Programmering har en central roll i datavetenskapliga utbildningar. Många anser att programmering är svårt att lära sig. Ett stort antal studier har undersökt vad som orsakar dessa svårigheter och hur det är möjligt att övervinna dem. Denna avhandling är en del av denna forskning. Artiklarna i avhandlingen undersöker vilka problem som studenterna stöter på under sina programmeringsstudier.

Artikel 1 beskriver hur studenter använder sig av annoteringar vid problemlösning. Resultaten visar att studenter som gör många annoteringar tenderar att prestera bättre. Resultaten antyder också att det kan finnas kulturella skillnader i hur ofta annoteringar används.

Studenter har inte bara problem vid programmering, de har också problem med att utforma programvarusystem. Även sistaårsstudenter misslyckas till stor del att utforma lösningar för relativt enkla system. Resultaten i Artikel II visar att majoriteten av studenterna inte kommer längre än en omformulering av problemet.

Att inte förstå ett koncept eller en specifik detalj är något som alla studenter stöter på då och då. I Artikel III undersöker vi hur framgångsrika studenter hanterar en sådan situation. Resultaten visar att studenterna använder sig av ett stort antal olika strategier för att få en förståelse för konceptet/detaljen. Många av de redovisade strategierna bygger på en social interaktion med andra.

Artiklarna IV, V och VI utforskar vad studenterna uppfattar som nyckelkoncept inom datavetenskap och hur förståelsen av dessa koncept påverkar dem. Resultaten visar att förståelsen av vissa specifika koncept kan göra att studenterna ändrar hur de ser på datavetenskap, kollegor och sig själva.

I artiklarna VII och VIII undersöker vi hur forskare, lärare och studenter ser på de problem studenter har vid jämlöpande programmering. De flesta forskare och lärare hävdar att studenterna har problem med att förstå icke-determinism, synkronisering, etc. Våra resultat visar dock att studenterna inte själva tycks anse att jämlöpande programmering är signifikant svårare än andra ämnen. Tvärtom, de flesta anser att jämlöpande programmering är både lätt att förstå och roligt.

Place, publisher, year, edition, pages
Umeå: Umeå University, Department of Computing Science , 2011. , 180 p.
Series
Report / UMINF, ISSN 0348-0542 ; 11.10
Keyword [en]
concurrency, learning, difficulties, programming
National Category
Computer Science
Research subject
Computer Science; didactics of computer science
Identifiers
URN: urn:nbn:se:umu:diva-48216ISBN: 978-91-7459-293-1 (print)OAI: oai:DiVA.org:umu-48216DiVA: diva2:447104
Public defence
2011-11-02, MIT-huset, MA 121, Umeå University, Umeå, 18:44 (English)
Opponent
Supervisors
Available from: 2011-10-12 Created: 2011-10-10 Last updated: 2011-10-12Bibliographically approved
List of papers
1. Questions, annotations, and institutions: observations from a study of novice programmers
Open this publication in new window or tab >>Questions, annotations, and institutions: observations from a study of novice programmers
2004 (English)In: Kolin Kolistelut: Koli Calling 2004 - Proceedings of the Fourth Finnish/Baltic Sea Conference on Computer Science Education / [ed] Ari Korhonen and Lauri Malmi, Helsinki, Finland: Helsinki University of Technology, Department of Computer Science and Engineering, Laboratory of Information Processing Science, FINLAND , 2004, Vol. TKO-A42/04, 11-19 p.Conference paper, Published paper (Refereed)
Abstract [en]

This paper examines results from a multiple-choice test given to novice programmers at twelve institutions, with specific focus on annotations made by students on their tests. We found that the question type affected both student performance and student annotations. Classifying student answers by question type, annotation type (tracing, elimination, other, or none), and institution, we found that tracing was most effective for one type of question and elimination for the other, but overall, any annotation was better than none.

Place, publisher, year, edition, pages
Helsinki, Finland: Helsinki University of Technology, Department of Computer Science and Engineering, Laboratory of Information Processing Science, FINLAND, 2004
National Category
Computer Science
Research subject
Computer and Information Science; didactics of computer science
Identifiers
urn:nbn:se:umu:diva-48161 (URN)951–22–7438–8 (ISBN)
Conference
the Fourth Finnish/Baltic Sea Conference on Computer Science Education, October 1–3, 2004 in Koli, Finland
Available from: 2011-10-10 Created: 2011-10-10 Last updated: 2011-10-12Bibliographically approved
2. Can graduating students design software systems?
Open this publication in new window or tab >>Can graduating students design software systems?
Show others...
2006 (English)In: SIGCSE ’06: Proceedings of the 37th SIGCSE technical symposium on Computer science education, New York NY, USA: ACM , 2006, 403-407 p.Conference paper, Published paper (Refereed)
Abstract [en]

This paper examines software designs produced by students nearing completion of their Computer Science degrees. The results of this multi-national, multi-institutional experiment present some interesting implications for educators.

Place, publisher, year, edition, pages
New York NY, USA: ACM, 2006
Series
Newsletter ACM SIGCSE Bulletin Vol. 38 (2006):1, Vol. 38 (2006):1
National Category
Computer Science
Research subject
Computer and Information Science; didactics of computer science
Identifiers
urn:nbn:se:umu:diva-48160 (URN)10.1145/1121341.1121468 (DOI)1-59593-259-3 (ISBN)
Conference
SIGCSE ’06
Available from: 2011-10-10 Created: 2011-10-10 Last updated: 2011-10-12Bibliographically approved
3. Successful students’ strategies for getting unstuck
Open this publication in new window or tab >>Successful students’ strategies for getting unstuck
Show others...
2007 (English)In: ITiCSE ’07: Proceedings of the 12th annual SIGCSE conference on innovation and technology in computer science education, New York, NY, USA: ACM , 2007, 156-160 p.Conference paper, Published paper (Refereed)
Abstract [en]

Students often “get stuck” when trying to learn new computing concepts and skills. In this paper, we present and categorize strategies that successful students found helpful in getting unstuck. We found that the students reported using a broad range of strategies, and that these strategies fall into a number of recognizably different categories.

Place, publisher, year, edition, pages
New York, NY, USA: ACM, 2007
Series
Newsletter ACM SIGCSE Bulletin Volume 39 Issue 3, September 2007, Volume 39 Issue 3
Keyword
learning strategies, stuck places, threshold concepts
National Category
Computer Science
Research subject
Computer Science; didactics of computer science
Identifiers
urn:nbn:se:umu:diva-48162 (URN)10.1145/1268784.1268831 (DOI)978-1-59593-610-3 (ISBN)
Available from: 2011-10-10 Created: 2011-10-10 Last updated: 2011-10-12Bibliographically approved
4. Concrete examples of abstraction as manifested in students’ transformative experiences
Open this publication in new window or tab >>Concrete examples of abstraction as manifested in students’ transformative experiences
Show others...
2008 (English)In: ICER ’08: Proceeding of the Fourth international Workshop on Computing Education Research, New York: ACM , 2008, 125-136 p.Conference paper, Published paper (Refereed)
Abstract [en]

This paper examines transformational learning experiences of computing students as a way to better understand threshold concepts in computing. From empirical evidence we found that students often describe transformative experiences as learning situations in which they were led to use various kinds of abstraction, for example modularity, data abstraction, inheritance, polymorphism, reuse, design patterns, and complexity. Some students describe an abstract concept as coming first, and then needing to be made concrete though application; others describe transformations in which they learn the advantages of these abstract concepts from their experience of not using them. Abstraction is certainly of central importance in computer science. It appears, however, from our students’ descriptions of transformative experiences, that abstraction per se is not a threshold, but that particular concepts in which abstraction is paramount exhibit the characteristics of threshold concepts.

Place, publisher, year, edition, pages
New York: ACM, 2008
National Category
Computer Science
Research subject
Computer and Information Science; didactics of computer science
Identifiers
urn:nbn:se:umu:diva-48163 (URN)10.1145/1404520.1404533 (DOI)978-1-60558-216-0 (ISBN)
Conference
ICER ’08, September 6–7, 2008, Sydney, Australia
Available from: 2011-10-10 Created: 2011-10-10 Last updated: 2011-10-12Bibliographically approved
5. Student understanding of object-oriented programming as expressed in concept maps
Open this publication in new window or tab >>Student understanding of object-oriented programming as expressed in concept maps
Show others...
2008 (English)In: SIGCSE ’08: Proceedings of the 39th SIGCSE technical symposium on Computer science education, New York, NY, USA: ACM , 2008, 332-336 p.Conference paper, Published paper (Refereed)
Abstract [en]

In this paper, we present the results of an experiment in which we sought to elicit students’ understanding of object-oriented (OO) concepts using concept maps. Our analysis confirmed earlier research indicating that students do not have a firm grasp on the distinction between “class” and “instance.” Unlike earlier research, we found that our students generally connect classes with both data and behavior. Students rarely included any mention of the hardware/software context of programs, their users, or their real-world domains. Students do mention inheritance, but not encapsulation or abstraction. And the picture they draw of OO is a static one: we found nothing that could be construed as referring to interaction among ob jects in a program. We then discuss the implications for teaching introductory OO programming.

Place, publisher, year, edition, pages
New York, NY, USA: ACM, 2008
Series
SIGCSE Bulletin Volume 40 Issue 1, Volume 40 Issue 1
Keyword
CS1, object-oriented, empirical research, concept maps
National Category
Computer Science
Research subject
didactics of computer science; Computer Science
Identifiers
urn:nbn:se:umu:diva-48164 (URN)10.1145/1352135.1352251 (DOI)978-1-59593-799-5 (ISBN)
Conference
SIGCSE '08 March 7-10, 2008, Portland, Oregon, USA
Available from: 2011-10-10 Created: 2011-10-10 Last updated: 2011-10-12Bibliographically approved
6. Student transformations: are they computer scientists yet?
Open this publication in new window or tab >>Student transformations: are they computer scientists yet?
Show others...
2009 (English)In: Proceedings of the fifth international workshop on Computing education research workshop, New York, NY, USA: ACM, Association for Computing Machinery , 2009, 129-140 p.Conference paper, Published paper (Refereed)
Abstract [en]

We examine the changes in the ways computing students view their field as they learn, as reported by the students themselves in short written biographies. In many ways, these changes result in students thinking and acting more like computer scientists and identifying more with the computing community. Most of the changes are associated with programming and software engineering, rather than theoretical computer science, however.

Place, publisher, year, edition, pages
New York, NY, USA: ACM, Association for Computing Machinery, 2009
Keyword
student biographies, threshold concepts, transformations
National Category
Computer Science
Research subject
Computer Science; didactics of computer science
Identifiers
urn:nbn:se:umu:diva-48165 (URN)10.1145/1584322.1584337 (DOI)978-1-60558-615-1 (ISBN)
Conference
ICER’09, August 10–11, 2009, Berkeley, California USA
Available from: 2011-10-10 Created: 2011-10-10 Last updated: 2011-10-12Bibliographically approved
7. Learning Concurrency - what's the problem?
Open this publication in new window or tab >>Learning Concurrency - what's the problem?
(English)Manuscript (preprint) (Other (popular science, discussion, etc.))
Abstract [en]

At least since the early~80s there have been researchers and teachers claiming that understanding concurrency is a necessity for our students. Many authors also write that concurrency is very difficult for students to learn. However, other researchers claim that concurrency is something natural to most humans and the problems are caused by the way we teach the subject and the languages/tools we use.

This paper looks at a number of articles that discuss concurrency and student learning. Many of them discuss various tools, sometime without giving any evidence that they solve a problem that students actually have and/or that the tools improve the situation. Others discuss course designs, where the designs are based on assumptions about how concurrency should be taught. There are also studies that try to understand what causes the problems that students experience and how to improve the situation.

Unfortunately, in reading these articles we have to come to the conclusion that the situation today is much the same as in the early-80s: We do not know how to teach concurrency.

National Category
Computer Science
Research subject
Computer Science; didactics of computer science
Identifiers
urn:nbn:se:umu:diva-48167 (URN)
Available from: 2011-10-10 Created: 2011-10-10 Last updated: 2011-10-12Bibliographically approved
8. Students' experience of learning concurrency
Open this publication in new window or tab >>Students' experience of learning concurrency
(English)Manuscript (preprint) (Other (popular science, discussion, etc.))
Abstract [en]

In a survey of existing research on the teaching of concurrency, many teachers/researchers write that students have problems in learning concurrency. Several suggestions for how to improve teaching concurrency by using specific tools, languages, or curricula are given. Much of this advice appears to have no empirical background but is based on ``common knowledge'' or teacher's/researcher's personal experience.

This paper reports on a study where students were interviewed about their experience of learning concurrency. During the interviews the students reported that concurrency was both fun and interesting, and that the increased complexity only acted as a challenge, making the learning more interesting.

National Category
Computer Science
Research subject
Computer and Information Science; didactics of computer science
Identifiers
urn:nbn:se:umu:diva-48168 (URN)
Available from: 2011-10-10 Created: 2011-10-10 Last updated: 2011-10-12Bibliographically approved

Open Access in DiVA

FULLTEXT(2431 kB)11069 downloads
File information
File name FULLTEXT02.pdfFile size 2431 kBChecksum SHA-512
5335ff5561d9afb4aab941cfa65961cba10f65430c24bdddb8377e392336acd3604a0c1d433327655de4916f0bb2af31f124e0a1713c979c5dd4e6b896ed2871
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Moström, Jan Erik
By organisation
Department of Computing Science
Computer Science

Search outside of DiVA

GoogleGoogle Scholar
Total: 11069 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: 1498 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • 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