Skip to main navigation Skip to search Skip to main content

The eighth "killer examples" workshop: Good examples for exposing bad practice - A poster report of the workshop

  • Colby College
  • Umeå University
  • Aarhus University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

The "Killer Examples" series of workshops are highly interactive workshops which have been an annual occurrence at OOPSLA since 2002. The goals of the workshop are to bring together educators and developers to share their object-oriented expertise, and to provide a forum for discussion of teaching techniques and pedagogical goals. The theme of last year's workshop was pedagogically sound examples for object orientation; this year's workshop continues that theme, but rather than focusing on examples that demonstrate sound object-oriented design, it will focus on examples that expose bad practice and so lead to better appreciation of good practice, as obtained by following sound object-oriented principles. In this year's workshop we focus on the use of examples that expose bad practice. Students, when presented with good (killer) solutions to problems, can appreciate how the solutions incorporate sound OO principles, but they may not understand what is wrong with alternative solutions that also appear good to them. It is important that students learn how to look at a bad solution to a problem and critique it with regard to standard OO principles, such as Law of Demeter or the Liskov Substitution Principle. Skill at critiquing bad code is valuable in code reviews and in other situations involving reviews of existing or proposed solutions to problems. Good examples that demonstrate bad practice can be as simple as a section of code with a poorly named variable that misleads the reader regarding the behavior of the code. Alternatively, a good example might be one that looks to be well-designed at good at first glance, but demonstrates fragility when changes are attempted. Another example might consist of an inappropriate application of a design pattern. Also, a large method that can easily be refactored using the Extract Method refactoring could be another example. Some examples could demonstrate several bad practices, and so require a series of design changes or transformations in order to be converted into a good solution. In our workshop, participants discussed examples exposing bad practice that they have seen or used in their teaching, whether it be in a traditional classroom or in an industry training setting. Such examples are often found in students' solutions to problems or in existing code bases in industrial applications. This poster reports on the outcome of this year's full-day workshop, held at OOPSLA on Sunday,October 25.

Original languageEnglish
Title of host publicationOOPSLA 2009 Companion - 24th Annual ACM Conference on Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 2009
Pages777
Number of pages1
DOIs
StatePublished - 2009
EventOOPSLA 2009 Companion - 24th Annual ACM Conference on Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 2009 - Orlando, FL, United States
Duration: Oct 25 2009Oct 29 2009

Publication series

NameProceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA

Conference

ConferenceOOPSLA 2009 Companion - 24th Annual ACM Conference on Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 2009
Country/TerritoryUnited States
CityOrlando, FL
Period10/25/0910/29/09

Keywords

  • Learning
  • Object-orientation
  • Pedagogy
  • Process
  • Programming
  • Teaching

Fingerprint

Dive into the research topics of 'The eighth "killer examples" workshop: Good examples for exposing bad practice - A poster report of the workshop'. Together they form a unique fingerprint.

Cite this