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
Object oriented quality in introductory programming education
Umeå University, Faculty of Science and Technology, Department of Computing Science.
2010 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Examples are important when we attempt to learn something new. To learn prob-lem solving and programming is an acknowledged difficulty. Teaching and learning introductory object oriented problem solving and programming has been discussed extensively since the late 1990’ies, when a major shift to object orientation as first programming paradigm took place. Initially, this switch was not considered to cause any major problems, because of the accumulated knowledge for how pro-gramming should be taught. This turned out to be naive. Knowledge gained for the imperative paradigm did not apply well to the object oriented paradigm.

Because of its importance for the field of computer science, introductory pro- gramming education has drawn a lot of attention. Most of the research done in connection to object oriented problem solving and programming has been focused on students learning and the difficulty to acquire skills in programming.

Less investigated is the foundation of the educational mission, the characteris- tics of object orientation and how this is best supported by the educator. There is no obvious agreement of what the basics of object orientation are, especially not from an educational point of view.

In this thesis, two major aspects concerning the teaching of object orientation have been investigated: the definition of object oriented quality, specifically in examples for novices, and educators’ views on aspects of object orientation. Based on research of how object orientation is characterised in literature and in software design principles, a set of concepts and principles are presented as a description of basic characteristics of object orientation. These are applied to the educational context, and a number of heuristics, called Eduristics, for the design of object oriented examples for novices are defined. The Eduristics are then used to discuss the flaws and shortcomings of common textbook examples, but also how the object oriented quality of examples can be improved.

To be able to evaluate the quality of examples, we initiated and participated in the development of an evaluation tool. This tool has been used to evaluate a number of examples from popular textbooks. The results show that the object oriented quality of examples is low.

To explore the ways educators view a number of aspects of object orientation and the teaching of it, ten interviews have been conducted. The results of this study show that the level of abstraction in the conceptual model of object orientation among educators is low, and that novices are not given any support for object oriented problem solving.

Abstract [sv]

Exempel är viktiga när man ska lära sig något nytt och det gäller även när man ska lära sig programmera. Att lära sig problemslösning och programmering är erkänt svårt och det har föranlett många förslag på vad som är ett bra sätt.

Under 1990-talet skedde en större omläggning i programmeringsundervisningen världen över. Från att ha introducerat programmering i det imperativa/procedurella paradigmet övergick man till att använda objektorientering som första paradigm. Inledningsvis trodde man inte att det skulle skilja sig på något avgörande sätt från tidigare erfarenheter om hur programmering skulle undervisas. Detta visade sig vara en naiv föreställning. Mycket av den kunskap som ackumulerats kring den imperativa programmeringsundervisningen visade sig svår att överföra till objekt orientering. Omställningen har varit mödosam och är fortfarande inte genomförd fullt ut.

Programmering är centralt i datavetenskap, eftersom olika aspekter av programvarukonstruktion genomsyrar det mesta av verksamheten kring datorer. Utbildningsmässigt är en inledande kurs i problemlösning och programmering förutsättningen för vidare studier i ämnet. Detta gör att en hel del uppmärksamhet har riktats mot problemlösning och programmering.

Det mesta av den forskning som finns gjord i anslutning till objekt orienterad problemlösning och programmering har varit fokuserad på nybörjares lärande och problem att komma in i programmerandet.

Mycket lite finns gjort när det gäller själva utgångspunkten för undervisningen om objektorientering, nämligen vad som är centralt i objektorientering och på vilket sätt det ska manifestera sig i undervisningen.

I det här arbetet har två huvudaspekter av objektorientering i undervisningssammanhang undersökts: definitionen av objektorienterad kvalité, specifikt i exempel för nybörjare, samt vilken syn lärare har på olika aspekter av objektorientering.

För att möjliggöra detta har vi undersökt hur objektorientering beskrivs i litteraturen och i vedertagna design-principer som används i programvaruutvecklingssammanhang. Baserat på resultatet av den undersökningen har vi använt en uppsättning koncept och designprinciper för att definiera vad som är karakteristiskt för objektorientering. Med detta som utgångspunkt har vi applicerat definitionen av objektorientering till undervisningssammanget och definierat ett antal heuristiker specifikt för konstruktion av objektorienterade exempel för nybörjare.

Parallellt med detta arbete deltog vi i utvecklingen av ett utvärderingsverktyg för att värdera objektorienterade exempel för nybörjare. Detta verktyg har använts för en större utvärdering av exempel hämtade från populära läroböcker. Resultaten från denna studie visar att exempel generellt sett håller låg objektori

enterad kvalitet. Vi har också visat att exempel som värderas högt, uppfyller våra heuristiker och att exempel som värderas lågt strider mot desamma.

För att utforska hur lärare ser på objektorientering och hur de resonerar kring strategier för att lära ut objektorientering, har vi gjort tio intervjuer med lärare i gymnasieskolan och på universitetsnivå. Resultaten visar att den konceptuella modellen för objektorientering är mycket enkel i förhållande till den komplexitet som ofta anses känneteckna paradigmet. Dessutom, ges i stort sett inget stöd för nybörjaren vad gäller att förstå och lära sig problemlösningsansatsen, som ofta upplevs som väsensskild från hur man i normala fall löser problem.

Place, publisher, year, edition, pages
Umeå: Umeå universitet, Institutionen för datavetenskap , 2010. , 76 p.
Series
Report / UMINF, ISSN 0348-0542 ; 10.15
Keyword [en]
Object orientation, Programming, Novices, Teaching, Education
National Category
Computer Science
Research subject
didactics of computer science
Identifiers
URN: urn:nbn:se:umu:diva-38009ISBN: 978-91-7459-118-7 (print)OAI: oai:DiVA.org:umu-38009DiVA: diva2:371709
Public defence
2010-12-16, MIT-huset, MA121, Umeå Universitet, Umeå, 10:15 (English)
Opponent
Supervisors
Available from: 2010-11-25 Created: 2010-11-22 Last updated: 2010-11-25Bibliographically approved
List of papers
1. Transitioning to OOP/Java: A never ending story
Open this publication in new window or tab >>Transitioning to OOP/Java: A never ending story
Show others...
2008 (English)In: Reflections on the teaching of programming, Springer , 2008, 80-97 p.Chapter in book (Other academic)
Place, publisher, year, edition, pages
Springer, 2008
Series
Lecture Notes in Computer Science, 4821
Identifiers
urn:nbn:se:umu:diva-8483 (URN)10.1007/978-3-540-77934-6_8 (DOI)978-3-540-77933-9 (ISBN)
Available from: 2008-09-22 Created: 2008-09-22 Last updated: 2010-11-25Bibliographically approved
2. Heuristics for designing object-oriented examples for novices
Open this publication in new window or tab >>Heuristics for designing object-oriented examples for novices
(English)Manuscript (preprint) (Other academic)
Abstract [en]

Research shows that examples play an important role for cognitive skill acquisition, and students as well as teachers rank examples as important resources for learning to program. Students use examples as templates for their work. Examples must therefore be consistent with the principles and rules of the topics we are teaching.

Despite many generally accepted object oriented principles, guidelines and rules, textbook examples are not always consistent with those characteristics. How can we convey the idea of object orientation, using examples showing "‘anti"’-object oriented properties?

Based on key concepts and design principles, we present a number of heuristics for the design of object oriented examples for novices. We argue that examples adhering to these heuristics are of higher object oriented quality than examples that contradict them.

Keyword
Principles, Guidelines, Examples, Example programs, object-orientation, design, quality
National Category
Computer Science
Research subject
didactics of computer science
Identifiers
urn:nbn:se:umu:diva-38004 (URN)
Available from: 2010-11-22 Created: 2010-11-22 Last updated: 2010-11-25Bibliographically approved
3. Evaluating OO Example Programs for CS1
Open this publication in new window or tab >>Evaluating OO Example Programs for CS1
Show others...
2008 (English)In: Proceedings of the 13th annual conference on Innovation and technology in computer science education, 2008, 47-52 p.Conference paper, Published paper (Refereed)
Keyword
Computer Science Education
National Category
Software Engineering
Identifiers
urn:nbn:se:umu:diva-10238 (URN)doi:10.1145/1384271.1384286 (DOI)
Available from: 2008-07-07 Created: 2008-07-07 Last updated: 2010-11-25Bibliographically approved
4. On the quality of examples in introductory Java textbooks
Open this publication in new window or tab >>On the quality of examples in introductory Java textbooks
(English)In: Transactions on Computing EducationArticle in journal (Refereed) Accepted
Abstract [en]

Example programs play an important role in the teaching and learning of programming. Students as well as teachers rank examples as the most important resources for learning to program. Ex- ample programs work as role models and must therefore always be consistent with the principles and rules we are teaching.

However, it is difficult to find or develop examples that are fully faithful to all principles and guidelines of the object-oriented paradigm and also follow general pedagogical principles and practices. Unless students are able to engage with good examples, they will not be able to tell desirable from undesirable properties in their own and others’ programs.

In this paper we report on a study in which experienced educators evaluated the quality of object-oriented example programs for novices from popular Java textbooks. The evaluation was accomplished using an on-line checklist that elicited responses on the technical, object-oriented, and didactic quality of examples.

In total 25 reviewers contributed 215 reviews to our data set, based on 38 example programs from 13 common introductory programming textbooks. Results show that the evaluation instru- ment is reliable in terms of inter-rater agreement. Overall, example quality was not as good as one might expect from common textbooks, in particular regarding certain object-oriented properties.

We conclude that educators should be careful when taking examples straight out of a textbook.

Place, publisher, year, edition, pages
ACM
Keyword
Principles, Guidelines, Examples, Example programs, check list, courseware, textbooks, assessment
National Category
Computer Science
Research subject
didactics of computer science
Identifiers
urn:nbn:se:umu:diva-38005 (URN)
Available from: 2010-11-22 Created: 2010-11-22 Last updated: 2010-11-25Bibliographically approved
5. Educators' views on object orientation
Open this publication in new window or tab >>Educators' views on object orientation
2011 (English)In: ACM inroads, ISSN 2153-2184, E-ISSN 2153-2192, Vol. 2, no 4, 50-58 p.Article in journal (Refereed) Published
Abstract [en]

Much of the research on the teaching of object orientation has been focused on the students and their learning. Less is known of how the educators themselves think about different issues of the paradigm. The personal view of the educator is an important aspect that will affect how object orientation is taught. To investigate this, a qualitative study on educators’ views on object orientation has been conducted and categories of views concerning object orientation, objects, and examples for object orientation defined. In all, ten educators have been interviewed, six teaching in upper secondary school and four teaching at university-level. The results indicate that educators have a simple conceptual model of object orientation, which is likely to affect the presentation of the paradigm.

Keyword
Object orientation, Programming, Educators, Novices
National Category
Computer Science
Research subject
didactics of computer science
Identifiers
urn:nbn:se:umu:diva-38002 (URN)10.1145/2038876.2038892 (DOI)
Available from: 2010-11-22 Created: 2010-11-22 Last updated: 2017-12-12Bibliographically approved
6. Educators' strategies for object oriented analysis and design
Open this publication in new window or tab >>Educators' strategies for object oriented analysis and design
(English)Manuscript (preprint) (Other academic)
Abstract [en]

Almost all research on the teaching of object orientation has been focused on the stu- dents and their learning. One important aspects that will affect how object orientation is taught, is the educators personal views on different issues of the paradigm. In this paper we present some results of a qualitative study on educators views on the teaching of object orientation. We specifically focus on how teachers address object oriented design and analysis. Data was collected through interviews with ten educators.

Keyword
Object orientation, Teaching, Programming, Novices, Education
National Category
Computer Science
Research subject
didactics of computer science
Identifiers
urn:nbn:se:umu:diva-38003 (URN)
Available from: 2010-11-22 Created: 2010-11-22 Last updated: 2010-11-25Bibliographically approved
7. Improving OO example programs
Open this publication in new window or tab >>Improving OO example programs
(English)Manuscript (preprint) (Other academic)
Abstract [en]

When teaching object oriented programming, ed- ucators rely heavily on textbook examples. However, research shows that such examples are often of insufficient quality regard- ing their object-oriented characteristics. In this paper, we present a number of guidelines for designing or improving object oriented example programs for novices. Using actual textbook examples, we show how the guidelines can help in assessing and improving the quality of object oriented example programs.

Keyword
Object orientation, Programming, Examples, Heuristics, Object oriented quality
National Category
Computer Science
Research subject
didactics of computer science
Identifiers
urn:nbn:se:umu:diva-38000 (URN)
Available from: 2010-11-22 Created: 2010-11-22 Last updated: 2010-11-25Bibliographically approved

Open Access in DiVA

FULLTEXT01(3534 kB)780 downloads
File information
File name FULLTEXT02.pdfFile size 3534 kBChecksum SHA-512
87bcbba6d415e28466ec689850be5040e9f68cf6425655792d2101bdc13f9759db85f006f387c6839157be2775d6f672cb12767a65dbdd77dd67bc731c943f52
Type fulltextMimetype application/pdf

Authority records BETA

Nordström, Marie

Search in DiVA

By author/editor
Nordström, Marie
By organisation
Department of Computing Science
Computer Science

Search outside of DiVA

GoogleGoogle Scholar
Total: 780 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: 1251 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