Return to search

Object oriented quality in introductory programming education

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. / 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.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:umu-38009
Date January 2010
CreatorsNordström, Marie
PublisherUmeå universitet, Institutionen för datavetenskap, Umeå : Umeå universitet, Institutionen för datavetenskap
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageSwedish
TypeDoctoral thesis, comprehensive summary, info:eu-repo/semantics/doctoralThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationReport / UMINF, 0348-0542 ; 10.15

Page generated in 0.0062 seconds