Papers by Marie Nordström
are important tools for programming education. In this paper, we investigate desirable properties... more are important tools for programming education. In this paper, we investigate desirable properties of programming examples from a cognitive and a measurement point of view. We argue that some cognitive aspects of example programs are "caught" by common software measures, but they are not suffi- cient to measure understandability of examples. We conclude that a framework for measuring understandability of examples should also consider factors related to the usage of the example.
I artikeln presenteras två studier i att klassificera nivån av komplexitet i studentuppsatser. Ve... more I artikeln presenteras två studier i att klassificera nivån av komplexitet i studentuppsatser. Verktyget vi använt är baserat på SOLO-taxonomin. Studierna fokuserar på operationalisering, diskussion och bruket av litteratur i examensarbeten på kandidatnivå och avancerad nivå. Resultaten visar att insatser i att höja nivån av vetenskaplig ansats i dessa fall haft effekt och att tillämpningen av verktyget kan ge värdefulla insikter om systematiska kvalitetsbrister.<br>
Introduktion till en workshop i att läsa uppsatser med fokus på operationalisering, litteratur oc... more Introduktion till en workshop i att läsa uppsatser med fokus på operationalisering, litteratur och diskussion

Research shows that examples play an important role for cognitive skill acquisition. Students as ... more Research shows that examples play an important role for cognitive skill acquisition. Students as well as teachers rank examples as important resources for learning to program. Students use examples as templates for their work. Therefore examples must be consistent with the principles and rules of the topics we are teaching; free of any undesirable properties or behaviour. By repeatedly exposing students to “exemplary ” examples, desirable properties are reinforced many times. Students will eventually recognize patterns of “good” design, gaining experience in telling desirable from undesirable properties. We therefore need to be able to tell apart “good ” and “bad ” examples. To do so objectively and consistently requires some kind of measurement instrument. In this paper, we describe the development and initial validation of an evaluation instrument for example programs, based on three aspects of
I denna rapport beskrivs en empirisk studie for att undersoka om detgar att faststalla ett samban... more I denna rapport beskrivs en empirisk studie for att undersoka om detgar att faststalla ett samband mellan en larares personliga larstil ochhans/hennes undervisningsstil.Larstilsanalys innebar en ka ...
One of the problems teaching introductory object-oriented problem solving and programming is desi... more One of the problems teaching introductory object-oriented problem solving and programming is designing appropriate and enlightening examples and exercises. The type of examples we use in procedural programming is not necessarily adequate for illustrating similar syntactical concepts in an object-oriented paradigm. Moving to a higher level of abstraction, as with objects examples need to illustrate how solutions are to be designed and organised to uphold "good" object-oriented principles. Being aware of the factors influencing the success of an example illustrating a certain concept could aid in designing them. Critical aspects of examples are presented in this paper.
ACM Inroads, 2011
Almost all research on the teaching of object orientation focuses on the students and their learn... more Almost all research on the teaching of object orientation focuses on the students and their learning. One important aspect that will affect how object orientation is taught is the educators' personal views on different issues of the paradigm. In this article, we present some results of a qualitative study on educators' views on the teaching of object orientation. We specifically focus on ways teachers address object-oriented design and analysis. Data was collected through interviews with ten educators.
Lecture Notes in Computer Science
Changing the introductory programming course from a traditional imperative model to an object-ori... more Changing the introductory programming course from a traditional imperative model to an object-oriented model is not simply a matter of changing compilers and syntax. It requires a profound change in course materials and teaching approach to be successful. We have been working with this transition for almost ten years and have realized that teaching object-oriented programming is not as simple or "natural" as some proponents claim. In fact, it has proven difficult to convey to the students the advantages and methodologies associated with objectoriented programming. To help ourselves and others in a transition like this we have developed a number of "course design principles" as well as teaching methods and examples that have proven to have positive influence on student learning outcome.

Software Quality Journal, 2015
Some solutions to a programming problem are more elegant or more simple than others and thus more... more Some solutions to a programming problem are more elegant or more simple than others and thus more understandable for students. We review desirable properties of example programs from a cognitive and a measurement point of view. Certain cognitive aspects of example programs are captured by common software measures, but they are not sufficient to capture a key aspect of understandability: readability. We propose and discuss a simple readability measure for software, SRES, and apply it to object-oriented textbook examples. Our results show that readability measures correlate well with human perceptions of quality. Compared with other readability measures, SRES is less sensitive to commenting and whitespace. These results also have implications for software maintainability measures. Keywords Object-oriented programming Á Quality Á Measurement Á Software readability Á Programming education 1 Introduction Simplicity and understandability are essential properties of example programs. In simple and understandable programs, it is easier to identify the essential elements (Watson and
When teaching object oriented programming, educators rely heavily on textbook examples. However, ... more When teaching object oriented programming, educators rely heavily on textbook examples. However, research shows that such examples are often of insufficient quality regarding 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.
ACM SIGCSE Bulletin, 2010
Research shows that examples play an important role for cognitive skill acquisition. Students as ... more Research shows that examples play an important role for cognitive skill acquisition. Students as well as teachers rank examples as important resources for learning to program. Therefore examples must be consistent with the principles and rules of the topics we are teaching. However, educators often struggle to find or develop objectoriented example programs of high quality. Common examples are often
Examples are important tools for programming education. In this paper, we investigate desirable p... more Examples are important tools for programming education. In this paper, we investigate desirable properties of programming examples from a cognitive and a measurement point of view. We argue that some cognitive aspects of example programs are “caught” by common software measures, but they are not sufficient to capture all important aspects of understandability. We propose a framework for measuring the understandability of example programs that also considers factors related to the usage context of examples.
Not being part of a larger SI-organisation has both advantages and disadvantages. In this paper w... more Not being part of a larger SI-organisation has both advantages and disadvantages. In this paper we try to illustrate the advantages of doing SI small scale. In a large scale SI-organisation the sup ...
The introduction of the Supplemental Instruction (SI) method to the introductory programming cour... more The introduction of the Supplemental Instruction (SI) method to the introductory programming course was initialised by the fact that the rate of students passing the course had been constantly decr ...
Vi upplever att studenternas attityd till studier och kunskap har forandrats. I mycket hogre utst... more Vi upplever att studenternas attityd till studier och kunskap har forandrats. I mycket hogre utstrackning an tidigare tvingas vi, vilket kan kannas bade positivt och negativt, som larare att motive ...
Vad beror det pa att datavetenskap ar det amne som lockar den minsta andelen kvinnor av alla natu... more Vad beror det pa att datavetenskap ar det amne som lockar den minsta andelen kvinnor av alla naturvetenskapliga utbildningar? Varfor ses teknik som ett manligt omrade? Hur ser de kvinnliga studente ...

Research shows that examples play an important role for cognitive skill acquisition. Students as ... more Research shows that examples play an important role for cognitive skill acquisition. Students as well as teachers rank examples as important resources for learning to program. Students use examples as templates for their work. Therefore examples must be consistent with the principles and rules of the topics we are teaching; free of any undesirable properties or behaviour. By repeatedly exposing students to "exemplary" examples, desirable properties are reinforced many times. Students will eventually recognize patterns of "good" design, gaining experience in telling desirable from undesirable properties. We therefore need to be able to tell apart "good" and "bad" examples. To do so objectively and consistently requires some kind of measurement instrument. In this paper, we describe the development and initial validation of an evaluation instrument for example programs, based on three aspects of quality; technical quality, object-oriented quality, and didactical quality. Validation was performed by six experienced educators using examples from popular introductory programming textbooks. Results show that the instrument helps indicating particular strengths and weaknesses of example programs. In all but one example program, we identified aspects that need to be improved. However, inter-rater agreement is low. The instrument can therefore not be considered reliable enough for evaluations on a larger scale. Further work is necessary to fine-tune the instrument and provide guidance for its usage.
Uploads
Papers by Marie Nordström