Powered by
Conference Publishing Consulting

2014 IEEE 27th Conference on Software Engineering Education and Training (CSEE&T), April 23-25, 2014, Klagenfurt, Austria

CSEE&T 2014 – Proceedings

Contents - Abstracts - Authors
Online Calendar - iCal File



Title Page

Message from the Chairs
Welcome to the 27th CSEE&T, the Conference on Software Engineering Education and Training, held from April 23 to 25, 2014, at the Alpen-Adria Universität in Klagenfurt, Austria. It is the premier international peer-reviewed conference that addresses all major areas related to software engineering education, training and professionalism. Information on previous conferences can be found at http://conferences.computer.org/cseet/.



The Times, They Are a Changing
Dennis J. Frailey
(Southern Methodist University, USA)
Change is inevitable, especially in the field of software engineering. We must change what we teach and how we teach it if we are to remain relevant and useful to our students. This requires openness to new approaches and more effective collaboration among academics, practitioners and experts on educational methods.

Article Search

Academic Research


Industrial Case Studies in Graduate Requirements Engineering Courses: The Impact on Student Motivation
Marian Daun, Andrea Salmon, Bastian Tenbergen, Thorsten Weyer, and Klaus Pohl
(University of Duisburg-Essen, Germany)
University education in software engineering instructs sound theoretical concepts together with method competence. It seeks to provide hands-on experience with the learning content along with insights into its application in practice. Even theoretical disciplines are beginning to adopt more experience-oriented instruction as opposed to passive, lecture-oriented instruction. One favored way for experience-oriented instructions is using case studies in lecture-accompanying assignments and/or tutorials. Compared with real-world scenarios, such case studies are often simplified in order to illustrate specific challenges related to the instructed material. This paper reports on our experience in using realistic industry-oriented case studies in a requirements engineering course with graduate students. The experience indicates a strong positive effect on student motivation as well as the degree of comprehension of the instructed theoretical material. These findings are confirmed by evaluations of the learning experience as self-reported through students’ questionnaires. Comparing the exam results with previous years indicates substantial improvement in final exam scores.

Article Search
Using Business Process Models to Foster Competencies in Requirements Engineering
Yvonne Sedelmaier and Dieter Landes
(University of Applied Sciences and Arts Coburg, Germany)
Requirements are of paramount importance for the quality of software systems. For various reasons, however, university students encounter difficulties in understanding the role of requirements and appropriately applying relevant methods to deal with requirements. This paper describes the concept for teaching requirements engineering that was devised at Coburg University of Applied Sciences. As a key idea, teaching requirements starts out from business process models. From these models, requirements for a workflow appli¬cation can be derived and specified in a requirements document. A main benefit of this approach lies in the fact that requirements are not just presented as an abstract concept. Furthermore, students are exposed to the complexity of an almost realistic workflow application. Being more realistic than a toy project, the latter also improves understanding why requirements should be described precisely and provides opportunities to also exercise non-technical competencies that are important for successful requirements engineering.

Article Search
Teaching Modeling using Umple: Principles for the Development of an Effective Tool
Timothy C. Lethbridge
(University of Ottawa, Canada)
Umple is a model-oriented programming technology designed to teach modeling while at the same time being practical for industrial application. In this paper we discuss six principles we followed in order to ensure Umple can be effective as a learning resource: being highly usable, facilitating incremental learning, providing an experience of positive reinforcement in learners, convincing learners about the value of the material, broadening learning opportunities, and being inexpensive.

Article Search Info

Educational Strategy

Cloud Computing Education Strategies
Hongyu Pei Breivold and Ivica Crnković
(ABB Research, Sweden; Mälardalen University, Sweden)
Cloud Computing is changing the services consumption and delivery platform as well as the way businesses and users interact with IT resources. It represents a major conceptual shift that introduces new elements in programming models and development environments that are not present in traditional technologies. The evolution of Cloud Computing motivates teaching Cloud Computing to computer science senior students and graduate students so that they can gain broad exposure to the main body of knowledge of Cloud Computing and get prepared for occupations in industry. There is thus a strong need for having a Cloud Computing education course that (i) has a broad coverage of different roles interacting with a cloud; and (ii) leverages Cloud Computing concepts, technology and architecture topics at both introductory and advanced level. In this paper, we describe the demand for understanding the impact of Cloud Computing in computer science higher education. We propose education strategies for teaching Cloud Computing, including key knowledge areas for an enduring Cloud Computing course.

Article Search
The Flipped Classroom Experience
Pang Nai Kiat and Yap Tat Kwong
(Nanyang Polytechnic, Singapore)
This paper describes the findings on ‘flipping the classroom’ pedagogy for one selected topic in the Software Engineering module. A flipped classroom is a form of blended learning where the lecture is moved outside the classroom with the help of technology and learning activities are moved inside the classroom. The students typically watch instructional videos outside of the classroom but participate in learning activities with other students in class. This allows students to learn on their own time and pace outside class time while enabling the lecturer to enhance interaction, collaboration and higher-order thinking of students by monitoring individual learning and task performance. Our past experience has shown that using the traditional approach to teach software engineering, which is a heavily conceptual and theoretical subject, can be challenging. Against this backdrop, we have devised a flipped class room trial to let the students carry out the learning activities before coming to class where they then share and apply the knowledge during face-to-face lessons for more engaging learning experience. As this is an initial trial, the author has chosen a topic that is relatively easy to understand and with support of interesting videos readily available online. The purpose is to motivate the use of flipped classroom for appropriate topics taught in Software Engineering curriculum.

Article Search
The Synergy of Engineering and Research Aspects in Software Engineering Education
Abir Benabid and Ghada AL-Houdhoud
(King Saud University, Saudi Arabia)
The software Engineering Education has to intrinsically enable students to master today's technology and immediately practical skills required by the industry, and on the other hand, to meet the challenges of the future and acquire long-term knowledge. In this paper, we report our approach to implement this duality in the context of “Object Oriented Software Engineering” course in King Saud University.

Article Search
Increasing the Effectiveness of Teaching Software Engineering: A University and Industry Partnership
Aldo Dagnino
(ABB Research, USA)
Software Engineering is a complex topic because it encompasses multiple disciplines such as team work, effectively managing change in organizations, understanding technology, understanding software development and its lifecycle, understanding the role of change agents, and also having a good business sense. A method derived from the collaboration between North Carolina State University and ABB, brings diverse techniques that simulate an industrial environment for teaching a senior level Software Engineering course. Eleven elements that have been incorporated and enrich the Software Engineering graduate course are described in this paper. The paper also shows how the progressive incorporation of the elements have resulted increased student satisfaction.

Article Search

Design to Validation

InspectorX: A Game for Software Inspection Training and Learning
Henrique Pötter, Marcelo Schots, Leticia Duboc, and Vera Werneck
(UERJ, Brazil; UFRJ, Brazil)
Software inspections are recommended for improving the quality of software artifacts, but their effectiveness heavily depends on properly training inspectors and other stakeholders in the inspection process. We previously proposed InspectorX, a serious game for learning and training on software inspections, whose design accounts for an optimized cognitive load by offering different levels of difficulty. The game has already been evaluated regarding its learning potential in the detection of defects, revealing positive outcomes. Since then, InspectorX has extended its coverage to other stages of the inspection process, for a more realistic simulation. This paper presents the game’s novel features and a new experiment that evaluates them with a bigger sample. Results indicate that there was considerable knowledge retention with just 20 minutes of gameplay. Suggestions on its design made by the experiment volunteers are also discussed.

Article Search
Teaching Analysis of Software Designs using Dependency Graphs
Kevin Steppe
(Singapore Management University, Singapore)
We present the use of a new type of dependency graph to aid students in analyzing the modifiability of software designs. Though a variety of software design concepts, such as information hiding, separation of concerns and patterns are taught to undergraduate students, they often have difficulty applying these concepts to the analysis of designs and particularly to comparing designs, perhaps due to the subjective nature of these concepts. Our new technique complements design structure matrix and ‘uses’ techniques to handle asymmetric dependency impacts and provide a deterministic approach to comparing alternative designs. A major goal of this technique was for students to be able to quickly learn about dependencies and use them to make design decisions. In this paper we present findings from a study with thirty third- and fourth-year undergraduates indicating that most were able to use the technique to analyze and compare designs after a single short workshop and indicate that they are likely to continue use the technique in the future.

Article Search

Educational Style

Observations of a Software Engineering Studio: Reflecting with the Studio Framework
Christopher N. Bull and Jon Whittle
(Lancaster University, UK)
Studio-based learning for software engineering is a well-received concept, despite its apparent lack of uptake across institutions worldwide. Studio education affords a variety of highly desirable benefits, and is also popular amongst its students. This paper presents Lancaster University’s software engineering studio, details of its implementation, observations made throughout its first year, evidence of its successes, and reflections against the recently defined studio framework. This paper aims to provide useful information for anyone that is considering utilizing a studio-based approach.

Article Search
Enhancing the Software Engineering Curriculums: A Case Study of the Jordanian Universities
Samer Hanna, Hayat Jaber, Fawze Abu Jaber, Tarek Al Shalaby, and Ayad Almasalmeh
(Philadelphia University Jordan, Jordan)
Software Engineering is about creating high-quality software in a systematic, controlled, and efficient manner. Although the Software Engineering discipline had been recognized since 1968, there is still no agreement among the Universities worldwide about what should be included in the Software Engineering curriculums or study plans. This problem has resulted in that different knowledge areas are being taught to the Software Engineering students in different universities. Also this problem has resulted in that many universities now include courses in the Software Engineering curriculum that are not related to Software Engineering. A case study of the Jordanian Universities had proved that more than 60% of the courses taught at the Software Engineering departments of the Jordanian Universities are non Software Engineering related courses. An analysis had been conducted to compare the current Software Engineering courses taught at the different Jordanian Universities and the guidance provided by the ACM/IEEE about what should constitute an undergraduate Software Engineering education. Also an analysis of the Software Engineering courses taught at different countries such as UK and USA had been conducted where these countries were chosen because they contain many of the top ranked Universities in the world. The analysis had resulted in determining the knowledge areas that should be added to the curriculum of each Jordanian University. Enhancing the curriculum will result in a SE graduates that are equipped with the needed knowledge to join the software market.

Article Search
Automated Mentor Assignment in Blended Learning Environments
Chris Boesch and Kevin Steppe
(Singapore Management University, Singapore)
In this paper, we discuss the addition of automatic assignment of mentors during in-class lab work to an existing online platform for programming practice. SingPath is an web based tool for users to practice programming in several software languages. The platform started as a tool to provide students with online feedback on solutions to programming problems and expanded over time to support different of blended learning needs for a variety of classes and classroom settings. The SingPath platform supports traditional self-directed learning mechanisms such as badges and completion metrics as well as features for use in classrooms, such as tournaments. We evaluate the addition of the mentor assignment feature during two short workshops designed to introduce students to the Python and JavaScript programming languages. The introduction of the mentor assignment features provided a more collaborative and engaging experience compared with previous courses.

Article Search

Project Management

Improving Teamwork in Students Software Projects
Maíra Marques and Sergio F. Ochoa
(University of Chile, Chile)
The software industry and the academia have recognized the importance of teamwork as a driver to succeed in software projects. Therefore, the industry expects that new engineers are able to work in teams. Unfortunately, teamwork is a skill that cannot be transferred in a simple way, and there is not a clear recipe for doing that. This paper proposes the use of particular ThinkLets (a process pattern to address collaboration recurrent problems) to help overcome particular problems that jeopardize teamwork. This proposal has been evaluated through software developments in the academia involving computer science undergraduate students.

Article Search
An Experiment on Teaching Coordination in a Globally Distributed Software Engineering Class
Martin Nordio, H.-Christian Estler, Bertrand Meyer, Nazareno Aguirre, Elisabetta Di Nitto, Rafael Prikladnicki, and Anthony Savidis
(ETH Zurich, Switzerland; Universidad Nacional de Río Cuarto, Argentina; Politecnico di Milano, Italy; PUCRS, Brazil; University of Crete, Greece)
The importance of planning and management skills in software development is very difficult to convey in software engineering courses. We present the synopsis of an assignment whose purpose is to demonstrate the significance of such skills, including effective communication, team coordi- nation and collaboration, and overall project planning. The assignment is organized in the context of a distributed software engineering course carried out in collaboration with 12 universities in South America, Europe and Africa. The assignment is a globally distributed contest issued before most development activities related to the course’s software project are performed, aiming at favor- ing the collaboration between students prior to project development. The contest does not involve any programming, and is not related to the project development activities. Instead, it consists of making teams in different countries compete in collaboratively solving a set of very simple tasks. The complexity of the activity is in team collaboration and coordination, and their lack is evident when the tasks are not correctly solved, or not solved in time. Despite the simplicity of the as- signment, students have found it useful in helping them understand the significance of management and planning challenges in distributed software development. Moreover, the assignment helped in team building, by creating a better team atmosphere and contributing in identifying team members better suited for management.

Article Search
The Impacts of Personal Characteristic on Educational Effectiveness in Controlled-Project Based Learning on Software Intensive Systems Development
Yusuke Yamada, Shota Inaga, Hironori Washizaki, Katsuhiko Kakehi, Yoshiaki Fukazawa, Shoso Yamato, Masashi Okubo, Teruhiko Kume, and Manabu Tamaki
(Waseda University, Japan; University of Tsukuba, Japan; NEC, Japan)
In practical courses on software-intensive business systems, students work in teams to acquire practical skills in systems acquisition and provisioning. However, we do not yet have an established method to determine the optimal team composition to achieve maximum educational effectiveness. In this study, we quantitatively and qualitatively investigate how personal characteristics and the learning process of team members affect educational effectiveness by examining a university course in which students work in teams on a realistic project in a classroom setting. We use the Five Factors and Stress (FFS) theory and the modified grounded theory approach (M-GTA) to measure the personal characteristics and to identify the learning process of each team member. Additionally, we compare the learning process of a team with a high educational effectiveness to one with a low educational effectiveness based on number of topics about the learning process and the kind of topics. As a result, we find that it is better for a team to have members with different personal characteristic as defined by FFS theory in order for the students to acquire more knowledge and skills through the course. Additionally, teams that focus on fewer learning process topics acquire more knowledge and skills. We expect that our findings will help increase the educational effectiveness in similar practical courses.

Article Search


Where Does Experience Matter in Software Process Education? An Experience Report
Guoping Rong, He Zhang, and Dong Shao
(Nanjing University, China)
In order to enhance the understanding of important concepts and strengthen the awareness of software process, we designed a special project-practicing course in Nanjing University as an attempt to solve typical issues in these courses (e.g., focusing on aspects of software process, participation, limited time in a regular semester, etc. ). The course is composed of 6-hour lecture and 32-hour bidding game. Preliminary results indicated several advantages with this new education approach on process-specific practicing course, which we already reported on CSEE&T2013. Since this course has been delivered to students from school (less experiences) and industry (more experiences), we noticed students’ different performances on this course. In this paper, we collected course results from six classes, based on a comprehensive analysis from 8 different aspects; we try to understand where “EXPERIENCE” impacts students’ difference performance and benefit from the understanding to improve our education on software engineering.

Article Search
Teaching and Learning Agile Collaboration
Martin Kropp, Magdalena Mateescu, Andreas Meier, and Carmen Zahn
(University of Applied Sciences Northwestern Switzerland, Switzerland; Zurich University of Applied Sciences, Switzerland)
Agile methods are widely adopted in software development. They are based on agile principles that sharply contrast to traditional command-and-control management methods. Such methods emphasize the importance of highly interactive self-organizing teams and close collaboration of all stakeholders, as well as values like courage, openness and respect. However, recent studies show that graduates and undergraduates of computer science often lack the collaborative and communicative skills necessary for agile methods and, thus, are not yet well enough educated for agile development approaches. Therefore, new approaches or more adequate educational methods for teaching the necessary communication and collaboration skills need to be developed. In a recent interview study, the authors elicited specific collaboration and communication skills needed in agile teams. In this paper, we present results from this study and discuss teaching concepts for collaboration skills from both engineering and psychological points of view. We suggest an approach on how to integrate these concepts into university courses, that focuses on active learning of agile collaboration. We have started implementing the proposed concept in a software engineering course and report on the experiences we have made and on the challenges that we have encountered.

Article Search
Enhancing Software Engineering Student Team Engagement in a High-Intensity Extreme Programming Course using Gamification
Bilal Sercan Akpolat and Wolfgang Slany
(Graz University of Technology, Austria)
The use of game thinking and game mechanics in non-gaming context is becoming more and more popular. This has been known as gamification. Recent studies have shown that this attempt seems very promising in different areas. In this paper we explore the value of gamification in a software development team. This paper describes one approach to add gamification into the software development process in teams of ten students each. We have conducted a gamification study with 50 volunteer students. In this paper we explain the rules, terms, and findings of this study.

Article Search


Workshop 1: Learning and Working Together as Prerequisites for the Development of High-Quality Software

Learning and Working Together as Prerequisites for the Development of High-Quality Software
Gabriele Frankl, Sofie Bitter, and Bonifaz Kaufmann
(University of Klagenfurt, Austria)
A major challenge for software engineering is to coordinate many individuals, whose work is heavily depending on each other. This enormous complexity often results in error-prone products. Minor mistakes can already have major side-effects impacting the entire software product. For individuals, the challenge is to focus on their own tasks, however, obeying certain design principles and without losing sight of the overall target. Therefore, we argue that software engineering is a highly collaborative process. However, we lack knowledge in general how to collaborate successfully. Consequently, there is still a lot of potential for teaching and improving collaboration in software engineering education.

Article Search
Improving Model-Based Collaboration by Social Media Integration
Wolfgang Gaar and Egon Teiniker
(University of Applied Sciences Joanneum, Austria)
Software engineering is inherently a collection of collaborative tasks, such as customer inter¬views to collect requirements, discussions about software architecture and design, collective code ownership and the interaction between developers, customers and testers to ensure software quality. Open source development communities are a particularly good example of a worldwide collaboration in software engineering. This position paper describes our opinion about the use of collaboration techniques in software engineering education. We discuss the benefits of model-based collaboration techniques as well as social media platforms. In a practical example, we show that the integration of both techniques can significantly improve the collaboration in software engineering courses.

Article Search
Win-for-All in Software Engineering Education: Balancing Social Dilemmas to Foster Collaboration
Gabriele Frankl, Sofie Bitter, and Bonifaz Kaufmann
(University of Klagenfurt, Austria)
Software engineering is a highly collaborative process. However, we still lack knowledge on how to collaborate successfully. A main barrier to successful collaboration emerges due to social dilemmas that can be traced back to a profound tension between what is desirable for a collective as a whole, e. g. a software development team, and what is desirable for an individual, e. g. a single coder. This position paper introduces the concept of win-for-all (winn) and applies it to software engineering education. winn is an all-purpose pattern of thought for group processes with the aim to optimally balance individual and group needs. Thus, winn is a prerequisite for sustainable and high-quality performance of the whole group, the latter being a central issue for software engineering. High-level performance can only be achieved through a systemic perspective: both, the group and the individual (as a fundamental element of the group) have to be considered. Consequently, there is also still a lot of potential for teaching and improving collaboration in software engineering education.

Article Search

Workshop 2: Technology-Driven Software Engineering Curriculum Development

Technology-Driven Software Engineering Curriculum Development
Emanuel S. Grant and Venky Shankararaman
(University of North Dakota, USA; Singapore Management University, Singapore)
A fundamental artifact of any academic research is the data used as the basis of that research effort. A group of researchers, from institutions in multiple territories, has embarked on an ambitious research project that is aimed at enhancing the teaching of software engineering in four-year undergraduate programs. The research project details a set of workshops, for which the objective is the capture of data that will be the basis of the research effort. The first of these workshops was held in August 2011. The workshop comprised software engineering educators and representatives from the information technology industry. The data collection task sought to identify a set of topics that are considered suitable for teaching software engineering, along with identification of the years and depth at which these topics should be taught. The topics are derived from the outcome goals of the course/program.

Article Search
Reshaping Software Engineering Education towards 2020 Engineers
Inggriani Liem, Yudistira Asnar, Saiful Akbar, Adi Mulyanto, and Yani Widyani
(Bandung Institute of Technology, Indonesia)
In this paper, we present an overview on how to reshape the software engineering education in our undergraduate study program (i.e., curriculum program, software engineering curriculum package, and learning process) so that our graduates have sufficient skills to be the 2020 software engineers. We believe that the corner blocks to produce fine engineers are good understanding in the following areas: basic fundamentals and principles of science and computing, methodology, techniques-tools-platform, capability to understand domain problems, communication and personal skill, attitude to be a good learner and self disciplined. We translate these values to our undergraduate curriculum with an aim to produce general software engineer who are quick to master specific platforms/technologies and devices and to understand domain problems.

Article Search
Teaching Software Product Engineering in Undergraduate Computing Curriculum
Y. Raghu Reddy and Kesav V. Nori
(IIIT Hyderabad, India)
Traditional engineering disciplines like electrical engineering, mechanical engineering, metallurgical engineering have focused on the design of artifacts. However most the modern day software engineering course with in the undergraduate computing curriculum focuses on teaching software processes rather than software product engineering. This paper argues the need for introducing software product engineering as a subject in undergraduate computer science curriculum and at a broader level, the need for more undergraduate software engineering programs in India.

Article Search
Opportunities and Challenges in Using Competencies during Design and Delivery of Software Engineering Curriculum
Venky Shankararaman and Joelle Ducrot
(Singapore Management University, Singapore)
This position paper proposes a framework for leveraging course competencies to effectively deliver and assess course content, and give valuable, timely feedback to students. The framework addresses the following five phases of a course, namely, content design, assessment design, content delivery and assessment, assessment feedback, and content review. The paper then presents the benefits of this approach and challenges in implementing this framework in scalable manner and suggests some solutions to overcome these challenges.

Article Search

Workshop 3: Workshop on Improving the CSEE&T Submissions Process

Workshop on Improving the CSEE&T Submissions Process
Michael Barker
(NAIST, Japan)
Have you ever thought about submitting an article to CSEE&T? The process of research and article submission is fairly long and often complicated because people don't know what all the steps are and too often there really isn't much support available. In this workshop, we will examine that process and try to identify ways to improve the process to increase the number and quality of submissions to CSEE&T. Please join us in brainstorming, selecting, and then planning concrete steps to make the process of submission for CSEE&T delightful, instead of painful.

Article Search Info

The Academy for Software Engineering Education and Training (ASEE&T)

ASEE&T Session 1

Experience of Teaching Executive Master's Program in Software Engineering: Challenges, Lessons Learned, and Path Forward
W. Eric Wong
(University of Texas at Dallas, USA)
Universities have created programs such as the Executive Master's Degree in Software Engineering (EMSE) at the University of Texas at Dallas to enable busy professionals to achieve a balance between work and life while pursuing a graduate degree.
In this talk, I will address several important issues based on my experience of teaching the same course for both the EMSE program and the regular Master's program.

Article Search
Self-Guided Learning Environment for Undergraduate Software Engineering
Junhua Ding
(East Carolina University, USA)
A high qualified software developer should have the ability to develop software systems following good software engineering practices. However, an integrated software engineering tool that can help students to learn the practices is absent. In this paper, we present an IDE that is able to monitor and guide students to develop software following good practices. In addition, the tool offers a set of guidelines for improving the learning process via analyzing learning activities and results.

Article Search
An Active Learning Module for an Introduction to Software Engineering Course
A. Frank Ackerman
(Montana Tech, USA)
Many schools do not begin to introduce college students to software engineering until they have had at least one semester of programming. Since software engineering is a large, complex, and abstract subject it is difficult to construct active learning exercises that build on the students’ elementary knowledge of programming and still teach basic software engineering principles. It is also the case that beginning students typically know how to construct small programs, but they have little experience with the techniques necessary to produce reliable and long-term maintainable modules. I have addressed these two concerns by defining a local standard (Montana Tech Method (MTM) Software Development Standard for Small Modules Template) that step-by-step directs students toward the construction of highly reliable small modules using well known, best-practices software engineering techniques. “Small module” is here defined as a coherent development task that can be unit tested, and can be carried out by a single (or a pair of) software engineer(s) in at most a few weeks. The standard describes the process to be used and also provides a template for the top-level documentation. The instructional module’s sequence of mini-lectures and exercises associated with the use of this (and other) local standards are used throughout the course, which perforce covers more abstract software engineering material using traditional reading and writing assignments. The sequence of mini-lectures and hands-on assignments (many of which are done in small groups) constitutes an instructional module that can be used in any similar software engineering course.

Article Search

ASEE&T Session 2

The Impact of SWEBOK Version 3 on Software Engineering Education and Training
Richard E. Fairley, Pierre Bourque, and John Keppler
(S2EA, USA; École de Technologie Supérieure, Canada; IEEE Computer Society, USA)
The Guide to the Software Engineering Body of Knowledge (the SWEBOK Guide) provides generally accepted knowledge for the software engineering profession. The content of the SWEBOK Guide is derived from academic sources and the best practices of the profession. The SWEBOK Guide is a reference document for many academic and industrial curricula, certification programs, accreditation criteria, and professional licensure. This paper provides an overview of the recently published Version 3 of the SWEBOK Guide and examines the potential impact of the changes in Version 3 on software engineering education and training for the academic and industrial sectors.

Article Search
Top-10 Risks in Real-Client Software Engineering Class Projects
Supannika Koolmanojwong
(University of Southern California, USA)
Risk identification, management, and mitigation are essential to the success of any software development projects. At the University of Southern California (USC), CSCI577ab is a graduate level software engineering course sequence that teaches the best software engineering practices, and allows students to apply the learned knowledge in developing real-client projects. One of the main focuses throughout the software development life cycle is the risk analysis. Students have to perform weekly risk identification and prepare for risk mitigation. This presentation will discuss analysis results of the top-10 risks from various perspectives such as comparison of risk patterns between development-based projects and COTS-based projects, high score teams and low score teams, and a comparison between risk exposure and risk occurrence.

Article Search
Teaching Semantic Technologies as Part of a Software Development Program
Andreas L. Opdahl
(University of Bergen, Norway)
The information science study at the University of Bergen has human-computer interaction and semantic technologies as two of its focal points, with software development as a third focus that supports the two others. This talk will review the department's courses in semantic technologies at bachelor and graduate levels, with emphasis on the introductory course in advanced modelling and programming for the Web of Data (or Semantic Web).

Article Search


Panel on Industrial Needs and Educational Response
Roland T. Mittermeir
(University of Klagenfurt, Austria)
To include a panel on needs of the techno-economic environment seems appropriate, as its profile and needs have shifted over the last years. So has the research agenda of computing departments. But these changes are not in sync. Hence a panel on Industrial Needs and the Educational Response of the curriculum should confront educators with the broad spectrum of the IT-labor market by allowing people involved in hiring graduates voicing their needs but also understand the constraints of formal education, notably in Software Engineering.

Article Search


Combining Software Engineering Education and Empirical Research via Instrumented Real-Client Team Project Courses
Barry Boehm and Supannika Koolmanojwong
(University of Southern California, USA)
Real-client, team project courses provide excellent opportunities for performing empirical research in software engineering (SE). Compared to empirical research on large, multi-year SE projects, a course with several team projects per year is the SE research equivalent of the fruit fly in species evolution research. Although their predictive power for large-project SE is more suggestive than definitive, the research results generally provide useful contributions to human knowledge in the SE area.

Article Search

proc time: 0.8