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
Heuristics for designing object-oriented examples for novices
Umeå University, Faculty of Science and Technology, Department of Computing Science.
Umeå University, Faculty of Science and Technology, Department of Computing Science.
(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 [en]
Principles, Guidelines, Examples, Example programs, object-orientation, design, quality
National Category
Computer Science
Research subject
didactics of computer science
Identifiers
URN: urn:nbn:se:umu:diva-38004OAI: oai:DiVA.org:umu-38004DiVA: diva2:371669
Available from: 2010-11-22 Created: 2010-11-22 Last updated: 2010-11-25Bibliographically approved
In thesis
1. Object oriented quality in introductory programming education
Open this publication in new window or tab >>Object oriented quality in introductory programming education
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
Object orientation, Programming, Novices, Teaching, Education
National Category
Computer Science
Research subject
didactics of computer science
Identifiers
urn:nbn:se:umu:diva-38009 (URN)978-91-7459-118-7 (ISBN)
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

Open Access in DiVA

No full text

Search in DiVA

By author/editor
Nordström, MarieBörstler, Jurgen
By organisation
Department of Computing Science
Computer Science

Search outside of DiVA

GoogleGoogle Scholar

urn-nbn

Altmetric score

urn-nbn
Total: 68 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