Abstracts

Information regarding scheduling can be found on the program page.
Technical Papers

Paper Session: Net Generation and the Real-World

Teaching Successful "Real-World" Software Engineering to the "Net" Generation: Process and Quality Win!
Author: William Honig

Abstract
Purpose/Context of this paper Software engineering skills are critical for students seeking careers as software developers. However, academic course content often fails to teach practical, "real-world" software engineering as it is done in large organizations. For instance, some courses fail to provide effective introduction of methodology and teamwork skills that are essential to produce high quality software on time with teams. The academic use of Team Software Process (TSP), a leading methodology of global industries, is an unexplored approach to solve this problem. Design/methodology/approach Using TSP as a tool in a software engineering course, students form teams of ten and complete two cycles of development (several thousand lines of code). The teams collect, record, and analyze extensive information about their work. Over four years, data from over 200 student developers in 18 teams has been collected and analyzed. Findings Students begin with strong individual software skills but with limited team and process experience. By the end of a course, the teams achieved basic proficiency in software process and understood the value of discipline, data collection, metrics, and quality measures. Further, they reached industry levels of productivity and software quality.

Practical implications Real-world software methodologies such as TSP can be successfully used in classrooms to achieve traditional learning outcomes and to expand the student's skills in process and quality.

Limitations/implications/future work The work to date has not addressed other topics of importance to "real-world" software engineering, such as software reuse, and global software development including outsourcing. What is the originality/value of paper The course structure reported here and the academic use of TSP provide instructors a proven technique to teach "real-world" software engineering in a course setting. It also better prepares the "Net" generation for their career-development as successful software engineers.

Working Across Borders: Overcoming Culturally-Based Technology Challenges in Student Global Software Development
Authors: Olly Gotel, Vidya Kulkarni, Long Chrea Neak and Christelle Scharff

Abstract
Purpose/Context Facilitated by the Internet, global software development has emerged as a reality. The use of shared processes and appropriate tools is considered crucial to alleviate some of its issues (e.g., space and time differences), homogenizing the environment of development and interaction, and increasing the likelihood of success.

Since 2005, Pace University has been collaborating with the Institute of Technology of Cambodia (ITC) and the University of Delhi in India. This paper reports on our experiences and lessons from spring 2007 when the focus was to bring students together on the development of a single software system specific to ITC. One key objective was to create a shared open source tooling environment to support development activities and communication.

Approach While the process for development and communication across the institutions has evolved, creating a collaborative tool-based environment to support student working has proven more difficult. Tooling has converged on Eclipse (with JUnit and Subversion) as the development platform, and java.net for bug tracking, with the use of groups, mailing lists, chats, blogs, wikis and videos for communication. The drivers and requirements behind such a mashup of technologies are explained.

Findings Students from different countries have varying levels of exposure to the Internet and use it in non-similar ways. This results in divergent perceptions as to the potential value of using the latest collaborative communication tools for professional purposes, influencing their willingness to use them.

Practical Implications Communications tooling needs more attention than engineering tooling when background exposure to ‘everyday technologies’ is dissimilar. Anticipated use and assumed benefits do not necessarily transfer across borders.

Originality/Value Offshore outsourcing has become the norm, but many such projects fail. Beyond giving students exposure to global working, such studies provide a laboratory to transfer important lessons as emerging countries now become players in the global workforce.

Exporting Studio: Critical Issues to Successfully Adopt the Software Development Studio Concept
Authors: Anthony Lattanze, Dave Root, Mel Rosso-Llopart and Gil Taran

Abstract
Purpose / Context of this paper

In 1989 the Professional Masters of Software Engineering (MSE) program at Carnegie Mellon initiated a new approach to graduate level software projects: The Software Development Studio. In 2002 the Studio concept was first exported under a cooperative program to teach software engineering in South Korea. However, CMU quickly determined that the partner university student projects lacked progress compared to their CMU counterparts. This paper will focus on the critical lessons were learned from this “export” that not only has helped this partnership but also others that are just starting.

Design / methodology / approach

Students were observed by MSE core program faculty at the middle and end of their first semester at their home university campus during formal presentations of their projects. Additionally, these students were required to spend their second semester at the CMU home campus, which allowed close daily observation by the program mentors and comparison to the current on campus program students.

Findings

A comparison of how both schools conducted the same curriculum was done which led to the identification of nine critical areas that needed to be addressed by the partner. Since this, the achievement gap has all but disappeared. Initial indications are that awareness of and specifically addressing these issues as is leading to a successful adoption of Studio with new partnerships started this year.

Practical implications (if applicable)

We believe that failure to address these nine issues with regards to Studio projects will lead to similar problems when exporting any software engineering program with a similar large project component.

Limitations / implications / future work (if applicable)

NA

What is original/value of paper

This paper provides critical lessons learned from the CMU MSE program’s first significant partnership. This paper can help other programs considering similar partnerships.

Top

Paper Session: Security and SE Education

Getting Students to Think About How Agile Processes Can Be Made More Secure
Author: Richard Epstein

Abstract
Agile processes play an important role in the author’s undergraduate course in software engineering. The course is a required course for undergraduate majors in Computer Science. Agile processes, like eXtreme Programming (XP), have been criticized for not providing a good framework for building secure software. The course begins by covering what some people have called “the war” between the traditional waterfall process folks and the agile process folks. After students are given an introduction to various processes on both sides of “the war” (with an emphasis on PSP, CMMI and XP) and after students are introduced to basic concepts about how to make software systems more secure (drawing heavily on Viega and McGraw’s book Building Secure Software), the course turns its attention to how XP (in particular) can be made more secure. This topic generates a lot of enthusiasm among the students. The students seem to enjoy the challenge of creating new ideas to improve the manner in which XP addresses security issues. Students have come up with many creative and stimulating ideas about how eXtreme Programming can be made more secure without the necessity for what some have called “big up front design”. This paper presents some of the creative ideas students have come up with regarding this issue and discusses the team projects that give students the opportunity to explore security issues for agile processes in some depth.

Integrating Secure Software Assurance Content into the SE 2004 Recommendations
Authors: Dan Shoemaker, Antonio Drommi, Jeff Ingalsbe and Nancy Mead

Abstract
Integrating Secure Software Assurance Content into the SE 2004 Recommendations

Purpose/Context of this paper In a study presented at CSEET 2007, it was recommended that the next step was to map the contents of Homeland Security’s Software Assurance Common Body of Knowledge (CBK) into the model curriculum recommendations of Software Engineering 2004 (SE 2004). This is important because the CBK is meant to provide a commonly accepted compendium of best practice in secure software assurance. Yet the conventional curriculum model for the discipline does not specify where those practices fit.

Design/methodology/approach This paper will detail the relationship between the secure software CBK and the recommendations of SE 2004. Essentially, the depth of coverage in the CBK of the distinct curricular elements specified in the SE 2004 model will be compared and evaluated. Places where there is a definite relationship based on that comparison will then be detailed and recommendations made for how to integrate secure software assurance knowledge into the curriculum.

Findings The study will demonstrate the places where secure software assurance knowledge best fits with the curricular elements of a standard software engineering curriculum. Elements where there is a high degree of association will be identified and the specific touch-points will be used to categorize the most effective ways of integrating the two bodies of knowledge into a single approach.

Originality/Value There is currently no standard understanding of the places in a traditional software engineering curriculum where secure software assurance should be taught. A mapping of those places to the specific content from the CBK would be an extremely valuable addition to our general understanding of the overall body of knowledge in software engineering. In addition it can also serve as a roadmap to ensure the practical integration of secure software assurance content into software engineering teaching.

A Software Engineering Course with an Emphasis on Software Processes and Security
Author: Richard Epstein

Abstract
This paper describes an undergraduate course in software engineering which introduces students to a range of approaches to developing software. This course is a required course in the Computer Science major. Special emphasis is given to PSP, CMMI, agile processes, and Open Source software development. Students work on a team project which involves developing a software process for a pretend company. The course also devotes attention to the strengths and weaknesses of various processes in terms of developing secure software. Students are asked to address security concerns in the second of their two team projects. Serving as a basic introduction to software engineering, this course also covers important issues relating to professional responsibilities, ethics and work culture. In many ways, the course introduces students to the human dimensions of engineering software.

Top

Paper Session: Capstone Courses and Soft Skills

Improving Knowledge Acquisition in Capstone Projects Using Learning Spaces for Experiential Learning
Authors: Eric Ras and Jörg Rech

Abstract
Students have to cope with new technologies, changing environments, and conflicting changes in capstone projects. They often lack practical experience, which might lead to failing to achieve a pro-ject’s learning goals. Reusing experiences from other students provides a first step towards building up practical knowledge and implementing experiential learning in higher education. In order to fur-ther improve knowledge acquisition during experience reuse, we present an approach that generates so-called learning spaces, which automatically enrich experiences with additional learning content and contextual information. To evaluate our approach, we conducted a controlled experiment that showed a statistically significant improvement for knowledge acquisition by 204% compared to con-ventional experience descriptions. From a technical perspective, the approach provides a good basis for future intelligent applications that support learning at the workplace in academia and industry.

The Value of a Real Customer in a Capstone Project
Authors: Ville Isomöttönen and Tommi Kärkkäinen

Abstract
Purpose: We report experiences and provide theoretical justification on having a real customer as a stakeholder in an agile capstone project course.

Approach: An experience paper accompanied with theoretical underpinnings to explain learning and other benefits for the students, the university, and the customer. We include the educator's experiences, and the student's feedback gained from the questionnaire.

Findings: The students' answers refer to an increase in occupational identity. Study also discloses concrete benefits for the students, such as jobs and internship placements gained via participating in the course. From the educators' point of view, we name major benefits, but also practical concerns and implications of the challenging course arrangement. These include ethical and development method -related issues. Valuable learning issues, such as self-direction and motivation, are explained to be due to the realistic project work.

The value of the paper: Study explains, by discussing the experiences from the theoretical point of view, whether one should apply an academic team or more realistic set of stakeholders in a capstone project. This study provides one starting point to study the realism in software engineering and computer science education: understanding the necessities in a realistic project course also reflects the needs in the earlier studies of the curriculum. This in turn contributes to invent new practices for a classroom arrangement.

Managing Technical People: Creatively Teaching the Soft Skills of Human Interaction in Today's Diverse Classroom
Author: Gil Taran

Abstract
Purpose / Context of this paper

Software Engineering curriculums typically focus on process and technology yet give little attention to teaching the soft skills of managing technical people. This paper will present an innovative course developed at Carnegie Mellon designed to address specific challenges in teaching technical people how to interact with others using a highly engaged mode of learning. The focus is on the course’s modular design and class activities. It will explore how to use role-plays, case studies, video analysis and scenario-based decision-making readings to enhance student learning and their engagement with this type of material.

Design / methodology / approach

The course uses Kolb’s experiential learning model and centers around seven closely integrated modules. Each module consists of three elements: concepts, analysis activities and role-play scenarios and builds on the one(s) before thus increasing in complexity as the class progresses. Decision Making, reflection and discussion take place continuously to understand the pros and cons of making various choices while managing technical people.

Findings

Comments from the students, on campus and at a distance have overwhelmingly been positive about the course and how it uses of activities throughout the class to make the material “stick”.. Most importantly, students have started using class content immediately when interacting with other team members on other program related projects. Some have said the class is a must-have in teaching professionals to work with others.

Practical implications (if applicable)

NA

Limitations / implications / future work (if applicable)

NA

What is original/value of paper

This course is as it focuses on the ‘people element’ within a software development project. Tailored activities provide a learning environment that is experience based, enhances understanding, and nurtures experimentation. Observations on how to select, design and successfully integrate these activities in this type of course will be discussed.

Top

Paper Session: Degree Offerings

The Current State of Software Engineering Master Degree Programs
Authors: Arthur Pyster, Devanandham Henry, Larry Bernstein, Richard Turner and Kristen Baldwin

Abstract
Purpose: Over 50 universities in the United States and many others globally offer a Masters Degree in Software Engineering (SwE), yet it was 1991 when the Software Engineering Institute developed the most current model graduate curriculum in SwE. Given how differently today’s software is used and developed, a fresh look at graduate programs is needed. A broad coalition of professionals from academia, industry, and government, under sponsorship of the US Department of Defense, is creating a new model curriculum. The first step is to understand what is now being taught.

Approach: Data from 11 programs has been analyzed, and data collection for another 20 programs is underway. Public data is collected and then augmented and validated with a faculty member. That data includes degree offerings, course competency coverage, size, strength, goals, target students, specializations, etc. Competency coverage is determined by mapping course content to the SWEBOK.

Findings: Among the many findings is that only a few faculty support the average program, making them vulnerable to small faculty losses. Program goals are diverse - some educate students to become managers, others researchers, and still others developers. There is no consistency in which competencies universities teach and most teach competencies beyond the SWEBOK.

Practical Implications: Understanding what is taught today will inform the new curriculum effort and reveal how large the gap is between the model program and current practice.

Future Work: The analysis of 30 programs will be complete this fall. The creation of a strawman model curriculum is now underway.

Originality: We are not aware of any other modern effort to analyze graduate SwE programs.

Software Engineering Education in India: Issues and Challenges
Authors: Kirti Garg and Vasudeva Varma

Abstract
Purpose/Context of this paper Indian Software industry has set up huge growth targets for future. These targets would be heavily affected by the Software Engineering (SE) education scenario. The purpose of this paper is to provide a holistic understanding of SE education issues and challenges specific to Indian context, from both industry and academic perspective. Design/methodology/approach This study is based upon our a) interaction with industry through SE education related projects, surveys and discussions. B) Observations as an integral part of Indian SE educators’ community. We have identified various SE education issues & challenges, and their deep causes. We categorized the findings and provide guidelines for improvement. Findings We found that lack of proper SE education may negatively affect the growth of the industry in general. There is a need for immediate action to handle various deep rooted issues, and then only we can ensure that the work-force is capable and efficient. We also discuss the essential and minimal set of SE knowledge, skills and dispositions that the industry expects from engineers willing to join the industry. Practical implications This paper provides SE course design guidelines for the academia and learning centers of the Indian Software industry . What is the originality/value of paper Though Indian software industry is growing at phenomenal rates, there not many studies on the issues and effects associated with SE education in the Indian context. This study attempts this and provides guidelines to design SE courses that are more effective and in-line with requirements and goals of the industry. Though the discussion is limited to India, but we believe that it represents the existing conditions in many developing countries where IT and ITES(IT Enabled Services) industry is becoming important.

Undergraduate Software Engineering Students in Startup Businesses
Author: Steve Chenoweth

Abstract
Purpose/Context of this paper

Fresh ideas from startups drive the electronic business world. To understand this world, software engineering students thus benefit from a working knowledge of new businesses. Their school can organize opportunities to help ensure that familiarity. This paper describes results after four years of such organizing endeavors.

Design/methodology/approach

Undergraduate software engineering students worked for software startups and for other companies in an associated business incubator. These students, their project managers, and faculty were interviewed during and after the work projects, and during and after their software engineering classes, regarding the lessons learned in each venue.

Findings

Though not uniformly so, startup entrepreneurs were characteristically impatient with even agile software engineering processes. The new businesses then added or changed processes during development as they became aware of issues, creating confusion among student workers. This chaos contrasted with more established software businesses that students worked for, where a version of processes and documentation prescribed by the school were valued throughout development cycles. Lessons learned about software engineering, by students working for startups, were much more commonly at odds with lessons learned in their SE classes.

Practical implications (if applicable)

Despite the fact that startup software enterprises are embedded in the electronic business revolution, there are concerns about the messages undergraduate software engineering students will learn from employment in those enterprises.

Limitations/implications/future work (if applicable)

More extensive training and debriefing needs to be tried, for students who work in startup businesses while their ideas about software engineering are still forming. Further exposure of entrepreneurs to software engineering processes is also recommended.

What is the originality/value of paper

Schools seeking to make their software engineering programs match industry profiles will profit from these new insights.

Top

Paper Session: Objects and Components

A Case Study in Software Product Lines: An Educational Experience
Authors: Liana Lisboa, Leandro Nascimento, Eduardo Almeida and Silvio Meira

Abstract
In order to attend the industry needs, it is necessary to provide more practical issues of real software development in the academic curricula. This paper describes an educational experience in a post-graduation course at Federal University of Pernambuco, Brazil, involving software reuse. The course's goals were to provide the state-of-the-art of software development with reuse, and the state-of-the-practice developing the Software Product Line (SPL) approach based on a real project. Moreover, we describe the SPL process steps and the educational methodology applied, as well as the project’s difficulties and lessons learned, along with possible improvements for the course extracted from students’ feedback during the course and the project. We also expect that this work can be used as a reference material for other universities planning on teaching software reuse or SPL courses.

Alice: Using Animated Object-Oriented Programming in Introductory Courses to Improve Success Rates in Programming I
Authors: Karin Johnsgard and James McDonald

Abstract
(Purpose)

We wished to increase the percentage of students succeeding our Programming I course, which is required for both computer science and software engineering undergraduates.

(Approach)

Our computer science and software engineering departments each added a new introductory course, before the Programming 1 course, that uses the Alice programming language. Alice lets the user build a three-dimensional scene, populated with objects, and then animate it by developing methods and functions. Users can interact with the scene via event-driven programming. Students spent about seven weeks in these new courses using Alice.

We choose Alice for the following reasons:

  • Alice makes the object-oriented perspective concrete.
  • Event-driven programming is motivated and easy.
  • Programming structures are simplified.
  • Effects of logic errors are obvious.
  • Syntax errors are virtually impossible.
  • Alice is fun.

(Findings)

From fall 2003 to spring 2007, 106 students enrolled in Programming I. Of those, 37 had taken one of the new courses using Alice (Group A). 69 had not (Group B).

Success rates in Programming I: Group A: 70.3%. Group B: 46.4%.

The probability of observing these results if the Alice-based courses had no effect would be less than 0.00639.

(Practical implications)

Introducing students to programming via a complex language such as C++ can lead to high attrition rates. Initial exposure to simplified languages, like Alice, significantly increases their probability of success.

(Limitations and future work)

Our Programming I course currently emphasizes structured programming, using C++. We plan to shift to an objects-early approach in that course, using Java.

(Value of paper)

This is the first study to assess the impact of Alice by analyzing success rates in a subsequent course. We hope that other universities will be encouraged to try similar curricular approaches.

Teaching Object-Oriented Software Engineering through Problem-Based Learning in the Context of Game Design
Authors: Jungwoo Ryoo, Frederico Fonseca and David Janzen

Abstract
Although Object Orientation is emphasised in software engineering education, few have attempted to alleviate the initial learning curve associated with an inexperienced audience in non-computer science disciplines. The authors propose a Problem-Based Learning curriculum centered on game development to deliver basic Object-Oriented programming concepts in an interactive and engaging manner. Class activities occur within the context of the Object-Oriented Rational Unified Process. One of the most significant contributions of this paper lies in the design of class modules containing tasks intended to educate students on Object-Oriented Software Engineering in an incremental and self-actuated way.

Top

Paper Session: Studio and Industry Projects

Proposal Based Software Engineering Studio Projects: A Methodology of Teaching Software Engineering Through Projects That Promotes Creativity and Innovation
Authors: Dave Root, Mel Rosso-Llopart, Gil Taran and Anthony Lattanze

Abstract
Purpose / Context of this paper

The paper will discuss how the Carnegie Mellon Masters of Software Engineering program has found a way to avoid creating “cookie cutter” software engineers who only use processes from a fixed template. The MSE program believes its proposal based approach is a way to teach students how to get projects done in the fixed time of its degree program without relying on dogmatic, “recipe” processes.

Design / methodology / approach

Students at the beginning of their Studio projects are provided a template with six general process areas which they must fill out, continually update and justify to the MSE program Studio project mentors. The MSE program has a very high instructor to student ration with each team of 4-5 students being assigned two mentors. This provides an opportunity for continual close observation and critique of the student projects. Additionally, at the end of each semester the student teams must formally present to their peers and all the program mentors their Studio project progress focusing on what processes they have instituted, why they picked these and how well they worked.

Findings

Comments from the mentors and recent student graduates have universally been positive about the effects of the proposal based process on learning software engineering. More importantly the program has seen students thinking far more about what they are doing instead of just “going through the motions.” Practical implications (if applicable) A possibly better pedagogical technique to prepare students in masters of software engineering programs to be critical thinkers and thus more effective when they return to industry.

Limitations / implications / future work (if applicable)

NA

What is original/value of paper

Proposal based software Studio projects appears to be an effective method of teaching that other programs might want to consider.

Continuing Challenges in Selecting Industry Projects for Academic Credit: Points to Consider and Pitfalls to Avoid
Authors: Gil Taran, Dave Root, Mel Rosso-Llopart and Anthony Lattanze

Abstract
Purpose / Context of this paper

Many academic programs use industrial projects within their teaching curriculum. Those provide an exposure to real customers, challenging problems faced by industry and the opportunity to interact with working professionals driven by quality, schedules, and users. Selecting projects that fit today’s academic environment, is a constant challenge. This paper presents how at Carnegie Mellon, we have refined our project selection criteria to provide a better fit between our needs and those of our industrial partners. Criteria, issues to consider and pitfalls to avoid in the project selection process will be discussed.

Design / methodology / approach

Our selection process for studio projects includes a multi-step screening approach. A set of defined criterions exist to find a “best-fit” between academic and industrial needs. Our goal is to provide a wide range of projects, enhance learning opportunities and provide a well-established framework for minimizing project failure. Multiple project screenings take place at various levels within the organization to ensure fit and adherence to process.

Findings

Over the years, we have retained a very positive record of projects success. We attribute some of that to having selected the right projects to begin with. In moving from an ad-hoc way to a more detailed oriented system, we have made vast improvements to our approach. We have since exported this process to two of our international partners in Europe and the Far East

Practical implications

NA

Limitations / implications / future work

NA

What is original/value of paper

Selecting industry projects that meet academic and industry needs is challenging. Doing it in a way that addresses and explores concerns on both sides upfront and as part of the selection process is critical. A step-up system built to do this can be used successfully to ensure positive results.

Single Development Project
Author: Nenad Stankovic

Abstract
Purpose/Context of this paper The software engineering curriculum is complex because it teaches technical and nontechnical aspects of the discipline. The student deals with many abstract concepts that are difficult even for the professional. Therefore, many courses scale down the scope and expectations, and compromise the laboratory project experience to a toy project level.

Design/methodology/approach When teaching a software engineering course a major challenge is to present the discipline as a coherent set of models and techniques that are all needed to complete projects as planned. Students must overcome not only difficult theoretical concepts but also learn how to use the tools and components as to apply and share their knowledge. A balance must be found between what must be produced by students and what is readily available for them to use and learn from. Since rework is important in learning, students are motivated to revisit and improve their work.

Findings A transformational approach to teaching motivates the student to aim for a higher grade, and it explicitly acknowledges the incremental and iterative nature of solving difficult problems.

Practical implications (if applicable) We propose a new approach to teaching a SWE course by recognizing the characteristics of this environment and industry needs. We demonstrate that students can deal with difficult technical and organizational issues that are found in real world software projects provided that the complexity they face is appropriate for their level of knowledge and experience.

What is the originality/value of paper? Current software engineering education remains largely in the box because it neglects the myriad of issues that exist between the actual client’s problem and its implementation in software. Our approach teaches students to understand how to apply the theory when dealing with those issues in a dynamic and often unpredictable environment.

Top

Paper Session: Tools and Methodologies

A Technique for Using Model Checkers to Teach Formal Specifications
Authors: Salamah Salamah and Ann Gates

Abstract
The difficulty of writing, reading, and understanding formal specifications is one of the main obstacles in adopting formal verification techniques such as model checking and runtime verification. Introducing concepts in formal methods in an undergraduate program is essential for training a workforce that can develop and test high-assurance systems. This paper presents educational outcomes and outlines an instructive component that can be used in an undergraduate course to teach formal approaches and languages. The component uses a model checker and a specification tool to teach Linear Temporal Logic, a specification language that is widely used in a variety of verification tools. The paper also introduces a novel technique that analyzes LTL specifications by using the SPIN model checker to elucidate the behaviors accepted by the specifications.

An Experience on Applying Learning Mechanisms for Teaching Inspection and Software Testing
Authors: Ellen Barbosa, Simone Souza and Jose Maldonado

Abstract
Several initiatives on using new computing technologies have been investigated to facilitate the learning process. The challenge is to provide ways to establish quality educational products, capable of motivating the students and effectively contribute to their knowledge construction process in active learning environments. In this paper we discuss the establishment of mechanisms to ease the development of educational modules. We propose a Standard Process for Developing Educational Modules which takes into account issues of content modeling, practices from instructional design, and aspects of distributed and cooperative work. Also, we propose an Integrated Modeling Approach, introducing the idea of open specifications to provide support for the definition of dynamic contexts of learning. Depending on aspects such as audience, learning goals and course length, distinct ways for presenting and navigating through the same content can be required. An open specification allows representing all sequences of presentation in the same model. From a single model, several versions of the same content can be generated according to different pedagogical aspects. The process and the modeling approach have been applied into the reengineering of learning materials for testing domain. The material produced has been applied in a testing course, offered to undergraduate students in CS at ICMC/USP. To evaluate the effectiveness of learning, we replicate an extended version of the Basili & Selbi experiment, used for comparing testing techniques, into the educational context. The main contribution of our research is to motivate the use of systematic mechanisms for creating well-designed, highly flexible and configurable educational modules. As further work, we intend to provide a context for “open learning materials”, which could facilitate the cooperation and use in different institutions and learning environments and effectively support new learning approaches. The establishment of “agile methodologies” for developing and evolving educational modules should also be further explored.

An Evaluation of a Mobile Game Concept for Lectures
Authors:Alf Inge Wang, Terje Øfsdahl and Ole Kristian Mørch-Storstein

Abstract
This paper describes an evaluation a new game concept, Lecture Quiz, which can be used in lectures in higher education to promote strong student participation and enable variation in how lectures are taught. The novel approach is to provide a lecture game using the equipment and infrastructure already available in lecture halls like the teacher's portable PC, a large screen and a video projector, network connections, and the students' mobile phones. The main game runs on the teacher's portable PC projected on the large screen, whereas the students will interact with the game using their own mobile phones. Further, Lecture Quiz is a multiplayer quiz game, which offers a variation in game modes where unlimited number of players can play simultaneously. Games like Lecture Quiz are most useful for testing and rehearsing theory. As a bonus, the teacher will get quantitative data for how much of the theory the students actually have learned.The main benefit of choosing a quiz game concept that lacks use of fantasy and abstractions is that such games can be used in any course independent of the subjects being taught, and thus can be used for any software engineering course. The game is less useful for testing skills of the students.

The evaluation of Lecture Quiz was performed in a software architecture lecture where twenty students first played the game and then were asked to fill in an evaluation form. The focus of the evaluation was on usability of the system and the perceived usefulness of using Lecture Quiz in lectures. The results of the evaluation show that Lecture Quiz was easy to use and that it contributed to increased learning. Further, Lecture Quiz was perceived as entertaining, and half of the students claimed they would attend more lectures if such systems were used regularly.

Top

Paper Session: Knowledge Source and Evidence

Where Do Students Look for Information?
Author: A. J. Cowling

Abstract
Purpose/Context The paper describes a study of how students used different kinds of sources of information when trying to solve problems, while carrying out software development projects in their courses.

Methodology and Approach A questionnaire was developed and circulated to two groups of undergraduate students, when they had completed their team projects to develop complete software systems. One group consisted of students at the end of their first year, where the project requirements had been created internally, and the other of students at the end of their second year, where the systems were being developed for external clients.

The paper describes the hypotheses and the structure of the questionnaire, presents descriptive statistics for the data, and analyses the relationships within the results.

Findings The kinds of information being sought were much as expected, but the relationships with the sources used were weaker than expected. In general the sources used most were the lecture notes provided, and other students within the project teams. Much less use was made of textbooks (even where these should have been appropriate), and of the online information provided to support the projects (even though this had been tailored to some of the kinds of problems that students were experiencing).

Practical Implications Since the kinds of sources that were being consulted did not vary much with the kind of information being sought, students need to be given more guidance than currently about where best to look for different kinds of information.

Limitations The independent variables in the study were the kinds of problems to be solved and the kinds of information required, but many students misunderstood one of the questions relating to these, so that much of the data is less useful than was hoped. Hence, the effective sample size is not very large.

Value and Originality of Paper The way in which students search for information to help them solve problems is a significant part of their process of learning how to learn, which is an important skill for future computing professionals. Hence it is important for SE educators to understand how students approach this process, and how they should be guided in developing this skill.

A Software Factory for Education in Software Engineering
Authors: Fábio Levy Siqueira, Gabriela Maria Cabel Barbarán and Jorge Luis Risco Becerra

Abstract
In this work, the process definition of a Software Factory for education in software engineering is proposed. Basically, this factory presents processes well defined for management and development that allow the students to work in a highly controlled and supervised environment, and allow to the teachers a quantitative evaluation of the students, based in their effort in each project activity. The definition of the Software Factory was based on CMM model as a reference for the management processes, and the Unified Process model for the development process. To create this factory it was used a method with 5 steps: (1) Definition of the current process executed in a software engineering laboratory discipline; (2) Definition of the educational requirements to the factory; (3) Comparison of the actual process with a software factory process; (4) Modeling of the educational factory using BPMN; (5) Deployment of the educational factory in the laboratory. Certain requirements are necessaries in order to the deployment of this educational factory. For instance, changes in the dynamics of the laboratory must be realized due to the continuous evaluation of the effort and productivity of the students, and also due to the execution of various management processes by the students. The educational factory proposed in this work, in comparison with traditional software engineering laboratories, allows the learning, in practice, of project management activities following some quality standards. Also, the students follow a defined and highly controlled process making easier the understanding of the activities that should be done. It also helps the students to encounter many problems that are common in enterprises, allowing an interaction among them and a discussion with the teacher about the best alternatives for solution. Finally, the use of this factory allows evaluate the students both quantitatively and qualitatively.

Seeds of Evidence: Integrating Evidence-Based Software Engineering
Authors: David Janzen and Jungwoo Ryoo

Abstract
With increasing interest in Evidence-Based Software Engineering (EBSE), software engineering faculty face the challenge of educating future researchers and industry practitioners regarding the generation and use of EBSE results. We propose development and population of a community-driven web database containing summaries of EBSE studies. We present motivations for inclusion of these activities in a software engineering course, and address the particular appeal of a community-driven web database to students who have grown up in the Internet generation. We present our experience with integrating these activities into a graduate software engineering course, and report student and industry practitioner assessments of the resulting artifacts.

Top
Short Papers

Session Chair: David Janzen
Teaching Component-Based Software Development
Authors: Kai Qian and Xiang Fu

Abstract
This paper presents a course model for teaching Component-Based Software Development (CBSD) in the software engineering undergraduate curriculum to deepen and broaden student comprehension of component software. All hands-on lab practices are designed with open-source software tools. The course endows students the precious experiences of making design decisions via comparative study, risk analysis, and synthesis of a vast number of open-source components.

Support for Educating Software Engineers Through Humanitarian Open Source Projects
Authors: Heidi Ellis, Ralph Morelli and Gregory Hislop

Abstract
The net generation of students have characteristics which make them well-suited for participating in open source projects including being comfortable with information technologies, using IT as a form of communication, desiring to work in groups, a desire to do social good, and being fascinated by new technologies. The nature of open source projects where communities of developers from around the world collaborate to create useful applications are a natural fit for this generation of students. Humanitarian open source projects can serve as a solid foundation for providing software engineering education to the net generation of students. This paper discusses the initial stages of SoftHum, a project for developing course materials to support undergraduate involvement in humanitarian open source projects.

Teaching Programming to the Net Generation of Software Engineers
Authors: Gregory Hislop

Abstract
This paper provides an overview of work being done in the EntryPoint project, which is examining the first course work in computing degrees. A key goal of this project is to move away from the traditional CS1/CS2 programming courses as the start of a computing degree. In addition, the project team is looking at how these ideas might be extended to BSSE degree programs. As such, this paper will discuss implications of this approach for SE.

Top
Course Materials Contributions
The DigitalHome Case Study Material
Authors: Thomas B. Hilburn and Salamah Salamah

Abstract
The paper discusses the content and use of a comprehensive case study called the DigitalHome (DH) system. The DH system involves the development of "smart house" technology by a national retail chain serving the needs of home owners. Thus far, DH artifacts, scenarios and exercises have been developed. Thus DH case study has been used in an introductory software engineering course and in a graduate course in software architecture.

Top
Dr Nancy R Mead Track
Software Engineering Education, Training, and Research: The Legacy of Nancy Mead
Authors: Donald J. Bagert, Daniel N. Port, Hossein Saiedian

Abstract
The contributions of Nancy R. Mead have greatly shaped what software engineering education and training (SWEET) is today. This paper contains three tributes to Dr. Mead, each focusing on a different aspect of her legacy. The first tribute provides an overall view of her work in the SWEET field. The second essay describes her research contributions in SWEET. The final section discusses her role in the development of this conference and the challenges of building upon the solid foundations that Nancy Mead has provided the field.

Nancy R. Mead: Making Requirements Prioritization a Priority
Authors: Daniel Port, Barry Boehm, David Klappholz

Abstract
Nancy Mead has been expounding the virtues of requirements prioritization, especially in the area of information security, for over a decade. She advocates avoiding purely informal ad-hoc approaches and suggests a prioritization strategy based on both cost of implementing requirements and the expected value if implemented. Due to critical schedule and resource constraints, we have found that requirements prioritization is a key risk management practice for real project for real clients based courses. This work describes our experiences applying Nancy Mead’s requirement prioritization works within such courses and how we educate students on the importance of utilizing this for managing requirements implementation risk in student projects within three universities for both graduate and undergraduates.

Nancy Mead and Software Engineering Education: Advancements through Action
Authors: Jane Huffman Hayes, Mary Biddle

Abstract
Some researchers have had the good fortune to collaborate with practitioners to see their work applied. Some practitioners have had the opportunity to perform research. Some educators have the opportunity to perform research and apply ideas in the classroom. Few have been able to perform research, work with practitioners, be an educator, and be a practitioner. Nancy Mead has done all these, and software engineering education has been one of the fortunate benefactors. This paper presents an examination of Dr. Mead’s contributions to software engineering education, in terms of research and role modeling, by using her Security Quality Requirements Engineering (SQUARE) process as an organizing theme.

Fostering the Community of Software Engineering Educators
Authors: Heidi J. C. Ellis, Gregory W. Hislop

Abstract
Software engineering has emerged as a discipline, but it is still new and relatively small. It is important to consider how this process has progressed, and to ensure that the continued evolution of the discipline has the support and attention that will ensure success. Nancy Mead has positively influenced software engineering education for the past several decades. This paper discusses Nancy’s influence on software engineering education through the Working Group on Software Engineering Education and Training (WGSEET). The intention of this focus is to celebrate Nancy’s accomplishment, but also suggest that the software engineering education community needs similar leadership and community participation to ensure that progress continues.

Top