Digital Home: A Case Study Approach to Teaching Software Engineering Concepts

Digital Home: A Case Study Approach to Teaching Software Engineering Concepts

Salamah Salamah, Massood Towhidnejad, Thomas Hilburn
DOI: 10.4018/978-1-4666-5800-4.ch017
(Individual Chapters)
No Current Special Offers


While many Software Engineering (SE) and Computer Science (CS) textbooks make use of case studies to introduce difference concepts and methods, the case studies introduced by these texts focus on a specific life-development phase or a particular topic within software engineering object-oriented design and implementation or requirements analysis and specification. Moreover, these case studies usually do not come with instructor guidelines on how to adopt the introduced material to the instructor’s teaching style or to the particular level of the class or students in the class. The DigitalHome Case Study aims at addressing these shortcomings by providing a comprehensive set of artifacts associated with the full software development life-cycle. The project provides an extensive set of case study modules with exercises for teaching different topics in software engineering and computer science, as well as guidance for instructors on how to use these case modules. In this chapter, the authors motivate the use of the case study approach in teaching SE and CS concepts. They provide a description of the DigitalHome case study and the associated artifacts and case modules. The authors also report on the use of the developed material.
Chapter Preview


Case studies were first used in the Harvard Law School in 1871 (Tomey, 2003) and since then much study and research have been done on the effectiveness of the use of case studies in teaching and learning (Davis & Wilcock, 2013; Grupe & Jay, 2000; Herreid, 1994). Case studies have been particularly effective in teaching professional practice and have been widely used in such fields as business, law, and medicine. The main advantage of using case studies in the classroom is that they allow the instructor to create a realistic environment and context for the study of real problems in an academic setting. A case study is based on actual events and documents, or at least pseudo-real events and documents. The case study typically describes a problem, using a scenario format providing the context and summarizing key issues and events related to the problem. The scenario is usually supplemented with background material (setting, personalities, sequence of events, and problems and conflicts), artifacts, and data, which is relevant to the situation depicted to help immerse the audience in the real-world situation to be discussed, studied, or analyzed.

While case studies can be effective when used in a prescriptive, teacher-centered teaching environment, they are most effective when used in an active, student-centered approach, where the session instructor acts as a facilitator or coach. Case studies are of special value in problem-based learning, concentrating on the development of problem-solving skills, self-directed learning, and teaming skills. The State University of New York in Buffalo Website provides examples of excellent case studies in science and engineering.

The use of case studies in education has shown great success in medicine, law, and business. However, this teaching style has seen little use in computing education. For example, currently, the SUNY-Buffalo Web site contains over 350 case studies in science and engineering, but only five of these are concerned with some aspect of computing. We suspect that one of the principal reasons for this lack of usage of case study-based teaching is the shortage of sufficient material for this purpose. Many software engineering and computer science textbooks use case studies to illustrate concepts and techniques including an Airline Reservation System and a Household Alarm System (Lethbridge & Laganière, 2001), Fireworks Factory (Metsker, 2006), Picadilly Television and Ariane-5 (Pfleeger, 2005), and SafeHome (Pressman, 2007) these case studies often lack the following:

  • Realistic artifacts (often space does not allow providing a complete requirements or design document),

  • Completeness (covers only a portion of the life-cycle, and not an end-to-end), with a focus on design and implementation,

  • Ability to decouple from the text and apply in ways not intended by the author,

  • Techniques for integration into course activities or into the curriculum as a whole,

  • A scenario format that would motivate students to get engaged in problem identification and solution, and

  • Guidance to the instructor on how to use the case study to teach a course topic or concept.

In previous work (Hiburn & Towhidnejad, 2007; Hilburn, Towhidnejad, & Salamah, 2008) we introduced the DigitalHome case study as a way to address these shortcomings by providing a complete set of artifacts associated with software development as well as providing case modules (mini-case studies addressing different aspects of the DigitalHome project) that can be used by faculty in teaching different subjects in a computing curriculum. In this chapter, we provide a detailed description of the DigitalHome case study material developed so far. In addition, we highlight our experiences in using the case study material in different software engineering courses at our institutions.

Complete Chapter List

Search this Book: