Change search
ReferencesLink to record
Permanent link

Direct link
Concrete examples of abstraction as manifested in students’ transformative experiences
Umeå University, Faculty of Science and Technology, Department of Computing Science.
Högskolan i Gävle, Gävle, Sweden.
Uppsala University, Uppsala, Sweden.
University of Connecticut, Storrs, CT, USA.
Show others and affiliations
2008 (English)In: ICER ’08: Proceeding of the Fourth international Workshop on Computing Education Research, New York: ACM , 2008, 125-136 p.Conference 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. 125-136 p.
National Category
Computer Science
Research subject
Computer and Information Science; didactics of computer science
URN: urn:nbn:se:umu:diva-48163DOI: 10.1145/1404520.1404533ISBN: 978-1-60558-216-0OAI: diva2:446900
ICER ’08, September 6–7, 2008, Sydney, Australia
Available from: 2011-10-10 Created: 2011-10-10 Last updated: 2011-10-12Bibliographically approved
In thesis
1. A study of student problems in learning to program
Open this publication in new window or tab >>A study of student problems in learning to program
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.
Report / UMINF, ISSN 0348-0542 ; 11.10
concurrency, learning, difficulties, programming
National Category
Computer Science
Research subject
Computer Science; didactics of computer science
urn:nbn:se:umu:diva-48216 (URN)978-91-7459-293-1 (ISBN)
Public defence
2011-11-02, MIT-huset, MA 121, Umeå University, Umeå, 18:44 (English)
Available from: 2011-10-12 Created: 2011-10-10 Last updated: 2011-10-12Bibliographically approved

Open Access in DiVA

No full text

Other links

Publisher's full text

Search in DiVA

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

Search outside of DiVA

GoogleGoogle Scholar
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

Altmetric score

Total: 61 hits
ReferencesLink to record
Permanent link

Direct link