Difference between revisions of "Paper Abstracts"

From CSEET 2010
Jump to: navigation, search
m
m (Should Software Engineering Projects be the Backbone or the Tail of Computing Curricula?)
 
(20 intermediate revisions by the same user not shown)
Line 4: Line 4:
  
 
== Workplace Issues in an Undergraduate Software Engineering Course ==
 
== Workplace Issues in an Undergraduate Software Engineering Course ==
FILL
+
Edward Epstein, West Chester University, USA
 +
 
 +
This paper describes how the author integrates work culture issues into his undergraduate course in Software Engineering. This is a required course for all Computer Science majors in our program. At issue is how work culture impacts upon the quality of the products being created by Software Engineers. The course addresses work culture concerns such as: What kinds of work culture issues arise during a software project? How can conflicts be resolved? How can poor work environments be improved? Work culture issues arise pretty much throughout the course and this paper provides an overview of how that occurs.
  
  
 
== Component Based Software Engineering across the Curriculum ==
 
== Component Based Software Engineering across the Curriculum ==
John M. Hunt John D. McGregor
+
John M. Hunt, Covenant College, USA
  
Covenant College Clemson University
+
John D. McGregor, Clemson University, USA
  
  
Component Based Software Engineering (CBSE) is a technique for designing and
+
Component Based Software Engineering (CBSE) is a technique for designing and assembling systems from existing parts that has important implications for a number of software engineering practices. The basic principles of CBSE, including modularity, substitutability, and composition are important throughout the SE curriculum. The ability to build a component and have confidence that it will function predictably in different environments requires a variety of skills. In this paper we present hands-on projects that use the recently released SEI PSK tool suite to implement exercises in several courses across the computing curriculum, including courses in software engineering, computational theory, operating systems, programming languages, and verification and validation.
 
+
assembling systems from existing parts that has important implications for a number of
+
 
+
software engineering practices. The basic principles of CBSE, including modularity,
+
 
+
substitutability, and composition are important throughout the SE curriculum. The ability to
+
 
+
build a component and have confidence that it will function predictably in different
+
 
+
environments requires a variety of skills. In this paper we present hands-on projects that use
+
 
+
the recently released SEI PSK tool suite to implement exercises in several courses across the
+
 
+
computing curriculum, including courses in: software engineering, computational theory,
+
 
+
operating systems, programming languages, and verification and validation.
+
  
 
== Stages in Teaching Formal Methods ==
 
== Stages in Teaching Formal Methods ==
A. J. Cowling
+
A. J. Cowling, University of Sheffield, UK
 
+
 
+
Department of Computer Science, University of Sheffield,
+
 
+
 
+
Regent Court, Portobello Street, Sheffield, S1 4DP, United Kingdom
+
 
+
 
+
This paper describes how a staged approach to the development of students’ abilities to
+
 
+
engineer software systems applies to the specific issue of teaching formal methods. It reviews
+
 
+
the scope of formal methods and the coverage of them in the Software Engineering volume of
+
 
+
Computing Curriculum 2001, and then evaluates this coverage against a theoretical model
+
 
+
for the stages through which students develop their practical skills at engineering software
+
 
+
systems. In particular, the paper discusses the role of formal methods within the process of
+
 
+
developing software systems, and shows that both practically and pedagogically it is
+
 
+
important that students use at least some elements of formal methods in their earliest attempts
+
 
+
at developing systems. From this it is shown that these basic elements of the methods need to
+
  
be taught earlier than is currently recommended.
+
This paper describes how a staged approach to the development of students’ abilities to engineer software systems applies to the specific issue of aching formal methods. It reviews the scope of formal methods and the coverage of them in the Software Engineering volume of Computing Curriculum 2001, and then valuates this coverage against a theoretical model for the stages through which students develop their practical skills at engineering software systems. In particular, the paper discusses the role of formal methods within the process of developing software systems, and shows that both practically and pedagogically it is important that students use at least some elements of formal methods in their earliest attempts at developing systems. From this it is shown that these basic elements of the methods need to be taught earlier than is currently recommended.
  
 
== Fostering UML Modeling Skills and Social Skills through Programming Education ==
 
== Fostering UML Modeling Skills and Social Skills through Programming Education ==
Norio ISHII Yuri SUZUKI
+
Norio ISHII, Yuri SUZUKI, Hironobu FUJIYOSHI, Takashi FUJII, Shubu University, Japan
  
Aichi Kiwami College of Nursing College of Engineering
 
  
Research Institute for Information Science
+
In this research, we attempted to support the learning of the UML modeling skills and social skills required in software development scenarios as part of programming education in the Department of Engineering. We conducted a class based on PBL in which the learners formed teams to build a robot using LEGO Mindstorms. The results confirmed that through the classes, the learners showed improvements in both modeling skills and social skills. These results demonstrate the educational effectiveness of class design based on PBL and using the theme of building a robot, and the effectiveness of the modeling template created through this research.
  
Chubu University
 
  
 
Hironobu FUJIYOSHI Takashi FUJII
 
 
College of Engineering College of Engineering
 
 
Research Institute for Information Science Chubu University
 
 
Chubu University
 
 
 
In this research, we attempted to support the learning of the UML modeling skills and
 
 
social skills required in software development scenarios as part of programming education in the Department of Engineering. We conducted a class based on PBL in which the learners formed teams to build a robot using LEGO Mindstorms. The results confirmed that through the classes, the learners showed improvements in both modeling skills and social skills. These results demonstrate the educational effectiveness of class design based on PBL and using the theme of building a robot, and the effectiveness of the modeling template created through this research.
 
  
 
== Competency Framework for Software Engineers ==
 
== Competency Framework for Software Engineers ==
José Gamaliel Rivera-Ibarra, Josefina Rodríguez-Jacobo,
+
José Gamaliel Rivera-Ibarra, Josefina Rodríguez-Jacobo, José Alberto Fernández-Zepeda, CICESE, Mexico
  
José Alberto Fernández-Zepeda
+
Miguel Angel Serrano-Vargas, SPI Solutions, USA
  
Department of Computer Science, CICESE
 
  
Km. 107 Carretera Tijuana-Ensenada, Ensenada, B.C. 22860, Mexico
+
One of the main concerns of the software industry is to develop the talent of its human resources, since the quality and innovation of its products and services depend to a great extent on the knowledge, the ability and the talent that software engineers apply in the software development process. A competency framework defines a set of knowledge, skills, and behaviors that professionals must have to excel in their careers. A competency framework facilitates the identification of training needs and guides the design of a professional development program. In this paper we propose a competency framework for software engineers, whose design is based on the activities and interactions that they perform  during the software development process.
  
  
and
 
 
Miguel Angel Serrano-Vargas
 
 
MS SPI Solutions
 
 
1310 Summers End Ct., St. Louis, MO 63026, USA
 
 
 
One of the main concerns of the software industry is to develop the talent of its human
 
 
resources, since the quality and innovation of its products and services depend to a great
 
 
extent on the knowledge, the ability and the talent that software engineers apply in the
 
 
software development process. A competency framework defines a set of knowledge, skills,
 
 
and behaviors that professionals must have to excel in their careers. A competency
 
 
framework facilitates the identification of training needs and guides the design of a
 
 
professional development program. In this paper we propose a competency framework for
 
 
software engineers, whose design is based on the activities and interactions that they perform
 
 
during the software development process.
 
  
  
 
== The Effects of Layout on Detecting the Role of Design Patterns ==
 
== The Effects of Layout on Detecting the Role of Design Patterns ==
Bonita Sharif and Jonathan I. Maletic
+
Bonita Sharif, Jonathan I. Maletic, Kent State University, USA
  
Department of Computer Science
+
A controlled experiment investigating the effect layout has on how students identify design pattern roles in UML class diagrams is presented. Two layout schemes, multi-cluster and orthogonal, are compared with respect to three open source systems and four design patterns. Seventeen students were asked a series of eight design pattern role detection (comprehension) questions for each layout, followed by eight preference rating questions. Results indicate a significant improvement in role detection accuracy with the multi-cluster layout for the strategy pattern and a significant improvement in detection time with the multi-cluster layout for all four patterns. Preference ratings significantly favored the multi-cluster layout for pattern role detection ease. These results can be used to help improve the teaching of design patterns.
  
Kent State University
 
 
A controlled experiment investigating the effect layout has on how students identify design
 
 
pattern roles in UML class diagrams is presented. Two layout schemes, multi-cluster and
 
 
orthogonal, are compared with respect to three open source systems and four design patterns.
 
 
Seventeen students were asked a series of eight design pattern role detection (comprehension)
 
 
questions for each layout, followed by eight preference rating questions. Results indicate a
 
 
significant improvement in role detection accuracy with the multi-cluster layout for the
 
 
strategy pattern and a significant improvement in detection time with the multi-cluster layout
 
 
for all four patterns. Preference ratings significantly favored the multi-cluster layout for
 
 
pattern role detection ease. These results can be used to help improve the teaching of design
 
 
patterns.
 
  
  
 
== KAIST-CMU MSE Program – the Past and the Future ==
 
== KAIST-CMU MSE Program – the Past and the Future ==
FILL
+
Sungwon Kang, Inyoung Ko, Jongmoon Baik, Hojin Choi, Danhyung Lee, KAIST, Korea
 
+
 
+
== PBL Assessment in Software Engineering ==
+
''Ana Paula C. Cavalcanti<sup>1</sup>, Maria da Conceição Moraes Batista<sup>1</sup>, Jones''
+
 
+
''Albuquerque<sup>1,2</sup>, Silvio Meira<sup>1''</sup>
+
 
+
<sup>''1</sup>C.E.S.A.R – Recife Center of Advanced Studies and Systems''
+
 
+
'
+
 
+
 
+
<sup>''2</sup>UFRPE – Federal Rural University of Pernambuco''
+
 
+
 
+
 
+
''The actual context of software engineering requires constant improvement on the''
+
 
+
''knowledge acquired about technologies and how to implement them. PBL – Problem Based''
+
 
+
''Learning methodology is an approach that immerses students into real world situations. The''
+
 
+
''implementation of PBL in the context of software engineering discipline was realized by the''
+
 
+
''creation of software factories and, in order to provide a comprehensive feedback to the''
+
  
''students, it is necessary to have an effective assessment system. The objective of the work is to''
 
  
''describe how this assessment system was implemented, with the use of CMMI, and present the''
+
In this paper, we reflect upon the past five years of the KAIST-Carnegie Mellon MSE collaboration, look forward to ways in which we can improve in the years ahead. Given that the major component of the program is the curriculum, our insights focus mainly on curriculum improvement and evolution. As a  means to achieving this goal, two surveys were conducted, one addressing reflections by the program’s participating faculty and graduates, and a second looking at various reference curricula. Based upon the results of both surveys, an improved curriculum structure is proposed, one that identifies and introduces special track options that would better serve the needs and demands of Korean industry.
  
''results achieved with this experience in a graduate course of software engineering.''
 
  
  
 
== From Student to Software Engineer in the Indian IT Industry: A Survey of Training ==
 
== From Student to Software Engineer in the Indian IT Industry: A Survey of Training ==
 +
Vidya Kulkarni, University of Delhi, India
  
 +
Christelle Scharff, Pace University, NY, USA
  
Vidya Kulkarni Christelle Scharff Olly Gotel
+
Olly Gotel, Research Consultant, USA
  
University of Delhi Pace University Research Consultant
 
  
New Delhi New York
+
The benefits of Global Software Development are now well known and India currently has the lion’s share in outsourced offshore software development. As a result, the demand for skilled IT professionals is increasing in India. In order to meet the demand, new academic institutes are being established and the existing ones are increasing their intake in IT-related courses. However, according to the latest report of the National Association of Software and Service Companies (NASSCOM) in India, only 25% of the fresh graduates are considered readily employable by the IT industry. To undertake their jobs effectively, most of the companies provide training to fresh recruits before putting them on actual jobs. In order to understand the nature of the training that is conducted, the topics that are covered, and the adequacy of the preparatory education for the first job in the IT industry, two surveys were administered. One was conducted with human resource managers of some of the leading IT companies in India and another was conducted with fresh company recruits. The findings are reported in this paper and recommendations for the curriculum are proposed.
 
+
INDIA NY, USA NY, USA
+
 
+
 
+
The benefits of Global Software Development are now well known and India currently has
+
 
+
the lion’s share in outsourced offshore software development. As a result, the demand for
+
 
+
skilled IT professionals is increasing in India. In order to meet the demand, new academic
+
 
+
institutes are being established and the existing ones are increasing their intake in IT-related
+
 
+
courses. However, according to the latest report of the National Association of Software and
+
 
+
Service Companies (NASSCOM) in India, only 25% of the fresh graduates are considered
+
 
+
readily employable by the IT industry. To undertake their jobs effectively, most of the
+
 
+
companies provide training to fresh recruits before putting them on actual jobs. In order to
+
 
+
understand the nature of the training that is conducted, the topics that are covered, and the
+
 
+
adequacy of the preparatory education for the first job in the IT industry, two surveys were
+
 
+
administered. One was conducted with human resource managers of some of the leading IT
+
 
+
companies in India and another was conducted with fresh company recruits. The findings are
+
 
+
reported in this paper and recommendations for the curriculum are proposed.
+
  
  
Line 229: Line 72:
  
 
== A Graduate Education in Software Management and the Software Business for Mid-Career Professionals ==
 
== A Graduate Education in Software Management and the Software Business for Mid-Career Professionals ==
Ray Bareiss and Gladys Mercier
+
Ray Bareiss, Gladys Mercier, Carnegie Mellon Silicon Valley, USA
  
  
Carnegie Mellon Silicon Valley
+
Given the unique nature of the software business, the faculty of Carnegie Mellon University’s Silicon Valley campus concluded that mid-career software professionals would be better served by a tailored master’s degree focusing on software management and more broadly on the business of software than by a typical MBA. Our software management master’s program integrates business, technical, and soft skills to prepare our students for technical leadership in their current companies or in entrepreneurial ventures. Our initial program built on the strengths of Carnegie Mellon’s world-class software engineering education. We targeted students working in large companies, engaged in large-scale enterprise software projects, employing “high ceremony” software development processes. However, the majority of our students came from Silicon Valley companies which shared a product development focus, engaged in smaller projects, favored agile development processes, and measured development cycles in weeks rather than years. Our program has evolved to align with these interests. It employs a unique team-based and project-based pedagogy which emphasizes practical skills over theory, depth over breadth, and coaching
 
+
over lecturing. High student satisfaction and growing enrollment have validated our curriculum decisions and have led us to make this program the educational centerpiece of Carnegie Mellon’s Silicon Valley campus.
 
+
Given the unique nature of the software business, the faculty of Carnegie Mellon
+
 
+
University’s Silicon Valley campus concluded that mid-career software professionals would
+
 
+
be better served by a tailored master’s degree focusing on software management and more
+
 
+
broadly on the business of software than by a typical MBA. Our software management
+
 
+
master’s program integrates business, technical, and soft skills to prepare our students for
+
 
+
technical leadership in their current companies or in entrepreneurial ventures. Our initial
+
 
+
program built on the strengths of Carnegie Mellon’s world-class software engineering
+
 
+
education. We targeted students working in large companies, engaged in large-scale
+
 
+
enterprise software projects, employing “high ceremony” software development processes.
+
 
+
However, the majority of our students came from Silicon Valley companies which shared a
+
 
+
product development focus, engaged in smaller projects, favored agile development
+
 
+
processes, and measured development cycles in weeks rather than years. Our program has
+
 
+
evolved to align with these interests. It employs a unique team-based and project-based
+
 
+
pedagogy which emphasizes practical skills over theory, depth over breadth, and coaching
+
 
+
over lecturing. High student satisfaction and growing enrollment have validated our
+
 
+
curriculum decisions and have led us to make this program the educational centerpiece of
+
 
+
Carnegie Mellon’s Silicon Valley campus.
+
 
+
  
 
== Customers' Role in Teaching Distributed Software Development ==
 
== Customers' Role in Teaching Distributed Software Development ==
Ivana Bosnić, Igor Čavrak, Mario Žagar Rikard Land, Ivica Crnković
+
Ivana Bosnić, Igor Čavrak, Mario Žagar, University of Zagreb, Croatia
 
+
 
+
Faculty of Electrical Engineering and Computing School of Innovation, Design and Engineering
+
  
 +
Rikard Land, Ivica Crnković, Mälardalen University, Sweden
  
University of Zagreb Mälardalen University
 
  
 +
This paper describes different aspects of teaching distributed software development, regarding the types of project customers: industry and academia. These approaches enable students to be more engaged in real-world situations, by having customers from the industry, local or distributed customers in universities, distributed customers in software engineering contests or being involved in an ongoing project, thus simulating the company merging. The methods we describe are used in a distributed project-oriented course, which is jointly carried out by two universities from Sweden and Croatia. The paper presents our experiences of such projects being done during the course, the differences in each approach, issues observed and ways to solve them, in order to create a more engaging education for better-prepared engineers of tomorrow.
  
Zagreb, Croatia Västerås, Sweden
 
  
This paper describes different aspects of teaching
 
distributed software development, regarding the types of project customers: industry and academia. These approaches enable students to be more engaged in real-world situations, by having customers from the industry, local or distributed customers in universities, distributed customers in software engineering contests or being involved in an ongoing project, thus simulating the company merging. The methods we describe are used in a distributed project-oriented course, which is jointly carried out by two universities from Sweden and Croatia. The paper presents our experiences of such projects being done during the course, the differences in each approach, issues observed and ways to solve them, in order to create a more engaging education for better-prepared engineers of tomorrow.
 
  
 
== Teaching an End-User Testing Methodology ==
 
== Teaching an End-User Testing Methodology ==
Huai Liu∗ Fei-Ching Kuo, and Tsong Yueh Chen
+
Huai Liu, Fei-Ching Kuo, Tsong Yueh Chen, Swinburne University of Technology, Australia
  
Centre for Software Analysis and Testing, Swinburne University of Technology, Australia
 
  
 +
One important focus of software engineering is how to develop quality software. Software testing is the main approach to the software quality assurance. Nowadays, more and more end-users write the program on their own but lack formal trainings on how to test their programs, and hence cannot guarantee the quality of their own software. Metamorphic testing is a simple, automatable, and cost-effective testing methodology. It is particularly suitable for end-users to test their own programs, because it does not demand the user to have great knowledge of software testing but knowledge of the program under development. In this paper, we report our experience in teaching metamorphic testing to various groups of students at Swinburne University of Technology, Melbourne, Australia. Our work not only enhances the teaching of software testing, but also fosters the training of end-user programmers.
  
One important focus of software engineering is how to develop quality software. Software
 
  
testing is the main approach to the software quality assurance. Nowadays, more and more end-
 
  
users write the program on their own but lack formal trainings on how to test their programs,
 
 
and hence cannot guarantee the quality of their own software. Metamorphic testing is a simple,
 
 
automatable, and cost-effective testing methodology. It is particularly suitable for end-users
 
 
to test their own programs, because it does not demand the user to have great knowledge of
 
 
software testing but knowledge of the program under development. In this paper, we report
 
 
our experience in teaching metamorphic testing to various groups of students at Swinburne
 
 
University of Technology, Melbourne, Australia. Our work not only enhances the teaching of
 
 
software testing, but also fosters the training of end-user programmers.
 
  
 
== Current State of the Software Testing Education in North American Academia and Some Recommendations for the New Educators ==
 
== Current State of the Software Testing Education in North American Academia and Some Recommendations for the New Educators ==
Vahid Garousi
+
Vahid Garousi, University of Calgary - Alberta, Canada
  
Software Quality Engineering Research
+
Aditya Mathur, Purdue University, West Lafayette, IN, USA
  
Group (SoftQual)
+
This article is a brief overview of the current state of the software testing education in the Canadian and American universities. In doing so, the  authors hope to pinpoint the strengths, and areas for improvement and to encourage a systematic software testing curriculum development. We also present some recommendations for new software testing educators.
  
Department of Electrical and Computer
 
  
Engineering, Schulich School of Engineering
+
== Improving Distance Mentoring: Challenges and How to Deal with them in Global Development Project Courses ==
 +
Gil Taran, Lynn Carter, Carnegie Mellon University - PA, USA
  
University of Calgary, Alberta, Canada
 
Aditya Mathur
 
  
Department of Computer Science,
+
In an attempt to provide real-world industrial experience, an increasing number of academic programs are broadening their portfolio to include global development projects. In these projects, the customer, the team or even the faculty are in different locations than those of their students creating a set of real world experiences and educational challenges. Various project elements such as asynchronous communications, remote assessment, and required knowledge transfer make effective learning challenging and problematic. To understand how to help faculty members overcome some of these challenges, faculty at Carnegie Mellon have studied recent and past projects specifically where clients, and/or faculty advisors were not co-located with their students. This paper presents some of their findings, provides recommendations and explains where specific attention is required for project and learning success.
  
Purdue University
 
  
West Lafayette, IN, USA
+
== Why Better Industrial/Academic Links Are Needed If There Is To Be An Effective Software Engineering Workforce ==
 +
J. Barrie Thompson, University of Sunderland, UK
  
 +
The case is made that to address the current problems of a graduate and skills shortage industry and academia need to work together to present a positive image of what are challenging and exciting disciplines and ensure that there is an effective workforce. Elements of a four year research project concerned with investigating and analyzing industry/academic links is reported which has provided insights into the challenges and problems that exist today. The project has involved: running a series of international workshops to identify and evaluate a of range industry/academic interactions, a literature review centered on CSEE&T conference proceedings, and a series of activities that have enabled an investigation of roles played by government, professional bodies, industry and industrial bodies and how they interact with academia. A number of fundamental problems are identified that currently hinder co-operation. Finally suggestions are made with regard to improving the current situation.
  
  
 +
== A Comprehensive Embedded Systems Lab for Teaching Web-based Remote Software Development==
 +
Janusz Zalewski, Florida Gulf Coast University, USA
  
  
This article is a brief overview of the current state of the software testing education in the
+
The paper discusses an approach to the implementation of a web-based lab to teach remote software development in courses focused on real-time embedded systems. The lab involves data acquisition and control access to remote devices as well as a capability of remote software development, uploading and debugging. Several different platforms are used focusing on teaching specific aspects of real-time embedded systems development, which includes: programming in VHDL at the chip design level, microcontroller programming at the board level, programming at the real-time kernel level with both Windows and Unix flavor, and using a broad spectrum of programming languages (C/C++, C#, Java, ASP.NET). Current lab status is presented and plans for future expansion are outlined.
  
Canadian and American universities. In doing so, the authors hope to pinpoint the strengths, and areas for improvement and to encourage a systematic software testing curriculum development. We also present some recommendations for new software testing educators.
 
  
  
  
XXXXXX
+
== Using LEGO MINDSTORMS NXT and LEJOS in an Advanced Software Engineering Course ==
= An Open Modern Software Testing Laboratory Courseware =
+
Michael W. Lew, Thomas B. Horton, Mark S. Sherriff, University of Virginia, USA
  
 +
This paper describes the benefits of using LeJOS and the Lego Mindstorms NXT set for teaching advanced software development. While Lego Mindstorms has been used in introduction to computer science courses, it is not reported to be widely used in a simulated production environment requiring such things as threading, network communications, and the implementation of command protocols. Additionally, because the Mindstorms NXT system supports Bluetooth communications with multiple devices, it is possible to use this system as the basis for a complex, communicating system requiring multiple software artifacts on different machines.
  
Software Quality Engineering Research Group (SoftQual)
 
  
Department of Electrical and Computer Engineering, Schulich School of Engineering
+
== Information Systems Application Development Courses ==
 +
Selma Limam Mansar, Carnegie Mellon University, USA
  
University of Calgary, Alberta, Canada
+
In this experience report, we describe recent initiatives in global undergraduate Information Systems education at Carnegie Mellon University. The entire systems development core curriculum is now offered at CMU campuses in Pittsburgh and Doha, Qatar. Courses are co-designed and delivered by faculty in both locations with an eye toward consistency of content and assessment, but also with content tuned for local sections.&nbsp; The collaboration and lessons learned among collaborating faculty in two example courses is described.
  
In order to effectively teach software testing students how to test real-world software, the
 
  
software tools, exercises, and lab projects chosen by testing educators should be practical
 
  
and realistic. However, there are not many publicly-available realistic testing courseware for
+
=Day 3 - Thursday, March 11th, 2010=
  
software testing educators to adapt and customize. Even for the existing testing lab exercises
+
== Pedagogical and Structural Analysis of SE Courses ==
 +
Muhammad Usman, Naveed Ikram, International Islamic University Islamabad, Pakistan.
  
developed and/or used by the educators, there are various drawbacks, e.g.: (1) They are not
+
Javed Khan, Manas Hardas, Kent State University, Ohio, USA
  
usually kept up-to-date with the most recent testing tools and technologies, e.g., JUnit, (2)
 
 
They are not built based on realistic/real-world Systems Under Test (SUTs), but rather use
 
 
“toy” examples (SUTs). The above needs were the main motives for the author and his team
 
 
at the University of Calgary to modernize the lab exercises of an undergraduate software
 
 
testing course. This paper presents the designed lab courseware, and the experiences learned
 
 
from using the courseware in the University of Calgary. It is hoped (and expected) that other
 
 
software testing educators start to use this laboratory courseware and find it useful for their
 
 
instruction and training needs.
 
 
 
 
 
= Should Software Engineering Projects be the Backbone or the Tail of Computing Curricula? =
 
 
David Broman
 
 
 
Department of Computer and Information Science, Linköping University
 
 
 
 
 
Most computer science (CS) and software engineering (SE) curricula include some form of
 
 
SE project with the aim of lowering the gap between CS and SE education and real-world
 
 
demands in industry. In this paper we briefly discuss and explain our findings of software
 
 
engineering projects taught at LiU in Sweden. These courses use what we call the “tail”
 
 
approach, where student projects are performed at the end of a degree program. We then
 
 
argue that there are several problems with this approach and sketch an idea where SE
 
 
projects are an integrated part of a curriculum. Furthermore, pros and cons of this idea,
 
 
which we call the SE project “backbone” approach, are discussed and analyzed.
 
 
 
= Using LEGO MINDSTORMS NXT and LEJOS in an Advanced Software =
 
'''Engineering Course'''
 
 
 
Michael W. Lew, Thomas B. Horton, Mark S. Sherriff
 
 
 
Department of Computer Science, University of Virginia
 
 
This paper describes the benefits of using LeJOS and the Lego Mindstorms NXT set for teaching
 
 
advanced software development. While Lego Mindstorms has been used in introduction to computer
 
 
science courses, it is not reported to be widely used in a simulated production environment requiring such things as threading, network communications, and the implementation of command protocols.
 
 
Additionally, because the Mindstorms NXT system supports Bluetooth communications with multiple
 
 
devices, it is possible to use this system as the basis for a complex, communicating system requiring
 
 
multiple software artifacts on different machines.
 
 
 
 
= Pedagogical and Structural Analysis of SE Courses =
 
Muhammad Usman1,2, Javed Khan2, Manas Hardas2, Naveed Ikram1
 
 
 
1 Department of Computer Science,
 
 
International Islamic University Islamabad, Pakistan.
 
 
 
2Media Communications and Networking Research Laboratory,
 
 
Department of Computer Science, Kent State University,Kent, Ohio,USA.
 
 
 
 
One of the ways of improving quality of Software Engineering (SE) education is to develop
 
 
mechanisms for quantitatively analyzing SE courses taught in universities. We propose a new
 
 
multidimensional approach for analyzing SE courses. Two aspects are important for this
 
 
analysis. One is what is covered (how much of the total SE knowledge space is covered in the
 
 
course)? And second is how is it covered (how effectively SE topics and subtopics are covered
 
 
in lectures)? We call the first one structural analysis and second one pedagogical analysis.
 
 
Techniques and metrics for structural and pedagogical analysis of SE courses are presented
 
 
in this paper together with results from implementation of the work on four SE courses.
 
 
 
= Software Engineering Practicum Course Experience =
 
Edward P. Katz
 
 
Carnegie Mellon Silicon Valley
 
 
 
The CMU Silicon Valley Software Engineering Practicum course is a curriculum capstone
 
 
which provides the practicum student the opportunity to interact with an actual client. The
 
 
client has a real problem and is in need of a software developed solution. Concurrently, it
 
 
provides the opportunity for the student to demonstrate the acquired skills and knowledge
 
 
derived from the software engineering curriculum. Student feedback has been very positive
 
 
for this course because the students have a voice in their project selection, and they work on
 
 
a real problem (not just a class assignment) with a real owner appreciating the student's
 
 
efforts. A client benefits from working directly with a software engineering team (instead of a
 
 
group of interns) in developing a meaningful solution to their specific problem within a one
 
 
semester time window. Another success measure is the repetition of clients wishing to
 
 
engage additional teams for more or continued projects.
 
 
 
 
= A Comprehensive Embedded Systems Lab for Teaching Web-based Remote Software Development=
 
 
 
Janusz Zalewski
 
 
 
Dept. of Computer Science
 
 
Florida Gulf Coast University
 
 
Ft. Myers, FL 33965-6565, USA
 
 
 
The paper discusses an approach to the implementation of a web-based lab to teach
 
 
remote software development in courses focused on real-time embedded systems. The lab
 
 
involves data acquisition and control access to remote devices as well as a capability of
 
 
remote software development, uploading and debugging. Several different platforms are used
 
 
focusing on teaching specific aspects of real-time embedded systems development, which
 
 
includes: programming in VHDL at the chip design level, microcontroller programming at
 
 
the board level, programming at the real-time kernel level with both Windows and Unix
 
 
flavor, and using a broad spectrum of programming languages (C/C++, C#, Java,
 
 
ASP.NET). Current lab status is presented and plans for future expansion are outlined.
 
 
 
= Information Systems Application Development Courses =
 
A Carnegie Mellon University Experience in Global Pedagogy
 
 
Selma Limam MansarCarnegie Mellon University
 
 
 
''In this experience report, we describe recent initiatives in global undergraduate Information Systems education at Carnegie Mellon University.&nbsp; The entire systems development core curriculum is now offered at CMU campuses in Pittsburgh and Doha, Qatar. &nbsp; Courses are co-designed and delivered by faculty in both locations with an eye toward consistency of content and assessment, but also with content tuned for local sections.&nbsp; The collaboration and lessons learned among collaborating faculty in two example courses is described.''
 
 
 
= Building Organizational Competitive Advantages with Strategically Aligned Technical Degrees =
 
Dividends from a Visionary Corporate-University Partnership
 
 
 
<center>Edward R. AlefDavid C. PoirierPast Dean - Walsh College and Technical Fellow, Education - General MotorsIS&S Information Officer, General Motors</center>
 
 
''In 1999, the technical leadership from Carnegie Mellon University (CMU) and General Motors Corporation (GM) with a vision for creating strategic competitive competences through distance learning education technologies partnered to develop and implement technical master’s degrees with a defined output: Graduates with unique skills to add value with automotive technology applications. In less than ten years, these degrees produced 153 graduates who applied the technical knowledge learned to realize over $30M in documented first year cost savings, six major quality process implementations and one pending patent. This result translated into a 500% return on employee development through tuition investment. This article chronicles this success story and how it can be duplicated in other corporations with the same degree of success. Learn more about this partnership, the implementation and execution of the Quality Standards that strengthened the commitment to maintaining the degrees, and the keys to replicate its implementation in other organizations.''
 
 
 
 
 
= Why Better Industrial/Academic Links Are Needed If There Is To Be An Effective Software Engineering Workforce =
 
J. Barrie Thompson
 
 
Department of Computing, Engineering and Technology,
 
 
University of Sunderland,
 
 
St. Peter’s Way, Sunderland, SR1 3SD, UK
 
 
 
 
 
 
The case is made that to address the current problems of a graduate and skills shortage industry and academia need to work together to present a positive image of what are challenging and exciting disciplines and ensure that there is an effective workforce. Elements of a four year research project concerned with investigating and analyzing industry/academic links is reported which has provided insights into the challenges and problems that exist today. The project has involved: running a series of international workshops to identify and evaluate a of range industry/academic interactions, a literature review centered on CSEE&T conference proceedings, and a series of activities that have enabled an investigation of roles played by government, professional bodies, industry and industrial bodies and how they interact with academia. A number of fundamental problems are identified that currently hinder co-operation. Finally suggestions are made with regard to improving the current situation.
 
  
 +
One of the ways of improving quality of Software Engineering (SE) education is to develop mechanisms for quantitatively analyzing SE courses taught in universities. We propose a new multidimensional approach for analyzing SE courses. Two aspects are important for this analysis. One is what is covered (how much of the total SE knowledge space is covered in the course)? And second is how is it covered (how effectively SE topics and subtopics are covered
 +
in lectures)? We call the first one structural analysis and second one pedagogical analysis. Techniques and metrics for structural and pedagogical analysis of SE courses are presented in this paper together with results from implementation of the work on four SE courses.
  
 +
== Building Organizational Competitive Advantages with Strategically Aligned Technical Degrees ==
  
 +
Edward R. Alef, Past Dean - Walsh College; Technical Fellow, Education - General Motors, USA
  
= Improving Distance Mentoring =
+
David C. Poirier, General Motors, USA
Challenges and How to Deal
+
  
with them in Global Development Project Courses
 
  
 +
In 1999, the technical leadership from Carnegie Mellon University (CMU) and General Motors Corporation (GM) with a vision for creating strategic competitive competences through distance learning education technologies partnered to develop and implement technical master’s degrees with a defined output: Graduates with unique skills to add value with automotive technology applications. In less than ten years, these degrees produced 153 graduates who applied the technical knowledge learned to realize over $30M in documented first year cost savings, six major quality process implementations and one pending patent. This result translated into a 500% return on employee development through tuition investment. This article chronicles this success story and how it can be duplicated in other corporations with the same degree of success. Learn more about this partnership, the implementation and execution of the Quality Standards that strengthened the commitment to maintaining the degrees, and the keys to replicate its implementation in other organizations.
  
Gil Taran, Lynn Carter
+
== Should Software Engineering Projects be the Backbone or the Tail of Computing Curricula? ==
 +
David Broman, Linköping University, Sweden
  
 +
'''Winner of the CSEE&T2010 [[Media:Cseet2010 best paper presentation award.pdf | Best Paper Presentation Award]]'''.
  
 +
[[Media:Se-backbone-proj-david-broman-2010.pdf | Slides]].
  
 +
Most computer science (CS) and software engineering (SE) curricula include some form of SE project with the aim of lowering the gap between CS and SE education and real-world demands in industry. In this paper we briefly discuss and explain our findings of software engineering projects taught at LiU in Sweden. These courses use what we call the “tail” approach, where student projects are performed at the end of a degree program. We then argue that there are several problems with this approach and sketch an idea where SE projects are an integrated part of a curriculum. Furthermore, pros and cons of this idea, which we call the SE project “backbone” approach, are discussed and analyzed.
  
In an attempt to provide real-world industrial experience, an increasing number of
+
==An Undergraduate Summer Research Program in Software Safety==
 +
W. Eric Wong, Vidroha Debroy, University of Texas at Dallas, USA
  
 +
This paper shares the experiences and lessons learned from conducting an NSF-sponsored eight week summer research program for ten undergraduate students from multiple universities. The focus of the research was on “Verification and Validation for Software Safety”, and emphasized a strong fundamental knowledge of software safety while maintaining a close collaboration with industry. The program included lectures and special tutorials from guest speakers, field trips, review sessions, as well as posters and final presentations by the students.
  
academic programs are broadening their portfolio to include global development projects. In
+
== An Open Modern Software Testing Laboratory Courseware ==
 +
Vahid Garousi,  University of Calgary - Alberta, Canada
  
  
these projects, the customer, the team or even the faculty are in different locations than those of
+
In order to effectively teach software testing students how to test real-world software, the software tools, exercises, and lab projects chosen by testing educators should be practical and realistic. However, there are not many publicly-available realistic testing courseware for software testing educators to adapt and customize. Even for the existing testing lab exercises developed and/or used by the educators, there are various drawbacks, e.g.: (1) They are not usually kept up-to-date with the most recent testing tools and technologies, e.g., JUnit, (2) They are not built based on realistic/real-world Systems Under Test (SUTs), but rather use “toy” examples (SUTs). The above needs were the main motives for the author and his team
 +
at the University of Calgary to modernize the lab exercises of an undergraduate software testing course. This paper presents the designed lab courseware, and the experiences learned from using the courseware in the University of Calgary. It is hoped (and expected) that other software testing educators  start to use this laboratory courseware and find it useful for their instruction and training needs.
  
 +
==Adding Service Engineering and Management to a Software Engineering Program==
 +
Gavin Finnie, Padmanabhan Krishnan, Bond University, Australia
  
their students creating a set of real world experiences and educational challenges.
+
This paper describes the rational and an approach to introduce a new curriculum in the area of service management and engineering.
 +
This is done in the context of an existing software engineering and information system program. So the total cost of the new curriculum is not
 +
high. Thus the approach, with relatively low start-up costs, is suitable for small departments. As with any new programme or degree there is a problem of getting the concepts known in the marketplace. The School of IT initiating this programme is actively working with several organizations to promote the ideas to potential employees and students.
 +
  
  
Various project elements such as asynchronous communications, remote assessment, and
 
  
 +
== Software Engineering Practicum Course Experience ==
 +
Edward P. Katz, Carnegie Mellon Silicon Valley, USA
  
required knowledge transfer make effective learning challenging and problematic. To
 
  
 +
The CMU Silicon Valley Software Engineering Practicum course is a curriculum capstone which provides the practicum student the opportunity to interact with an actual client. The client has a real problem and is in need of a software developed solution. Concurrently, it provides the opportunity for the student to demonstrate the acquired skills and knowledge derived from the software engineering curriculum. Student feedback has been very positive for this course because the students have a voice in their project selection, and they work on a real problem (not just a class assignment) with a real owner appreciating the student's efforts. A client benefits from working directly with a software engineering team (instead of a group of interns) in developing a meaningful solution to their specific problem within a one semester time window. Another success measure is the repetition of clients wishing to engage additional teams for more or continued projects.
  
understand how to help faculty members overcome some of these challenges, faculty at
 
  
  
Carnegie Mellon have studied recent and past projects specifically where clients, and/or faculty
 
  
 +
==Software Engineering Leadership: A Student Initiative to Promote Change Agents in Industry==
 +
Jonathan Hartje, Gil Taran, Carnegie Mellon University, USA
  
advisors were not co-located with their students. This paper presents some of their findings,
+
Most academic programs in software engineering teach the topic of leadership either through lectures intertwined across the curriculum or through project components where students are expected to lead various team efforts. Unfortunately teaching leadership in such a way does not seem to provide the right amount of practical skills and abilities to allow students to assume leadership positions in industry after graduation. A student led, faculty backed leadership initiative at Carnegie Mellon’s Master of Software Engineering Program (MSE) was created to overcome these challenges by providing the environment, the opportunity and the challenges that will in turn challenge students to acquire the necessary skills. This paper is a reflection on this initiative and its usefulness for students, faculty and industry alike.
  
  
provides recommendations and explains where specific attention is required for project and
 
  
 +
==Capstone Project: From a Software Engineering to an “Informatics” Approach==
 +
Hadar Ziv, Sameer Patil, University of California - Irvine, USA
  
learning success.
+
Abstract—This paper reports on experiences in transitioning from a single-quarter to a three-quarter capstone course. A single-quarter project course in software design and development had been offered by our department for over twenty years. More recently, upon formation of a new undergraduate degree
 +
in Informatics, this course was transformed into a three-quarter capstone course taken by students in their final year. Correspondingly, some aspects of the software projects, such as the business scope and software complexity, grew in proportion to the increase in project duration. At the same time, a number of “costs” were reduced, including the time and effort required to setup development infrastructure and development environments,
 +
and learn new tools and languages. Most importantly, several other factors experienced substantial growth. The longer project duration allowed significant increase in effort and attention paid to usability engineering and user-centered design, leading to systems that were deployable and more usable for the target users. It also enabled better software testing, deployment and release management, leading to systems much closer to production
 +
quality than the prototypes and proof-of-concept systems typical of single-quarter projects.

Latest revision as of 00:01, 5 April 2010

(authors emails have been omitted to reduce spam)

Contents

Day 1 - Tuesday, March 9th, 2010

Workplace Issues in an Undergraduate Software Engineering Course

Edward Epstein, West Chester University, USA

This paper describes how the author integrates work culture issues into his undergraduate course in Software Engineering. This is a required course for all Computer Science majors in our program. At issue is how work culture impacts upon the quality of the products being created by Software Engineers. The course addresses work culture concerns such as: What kinds of work culture issues arise during a software project? How can conflicts be resolved? How can poor work environments be improved? Work culture issues arise pretty much throughout the course and this paper provides an overview of how that occurs.


Component Based Software Engineering across the Curriculum

John M. Hunt, Covenant College, USA

John D. McGregor, Clemson University, USA


Component Based Software Engineering (CBSE) is a technique for designing and assembling systems from existing parts that has important implications for a number of software engineering practices. The basic principles of CBSE, including modularity, substitutability, and composition are important throughout the SE curriculum. The ability to build a component and have confidence that it will function predictably in different environments requires a variety of skills. In this paper we present hands-on projects that use the recently released SEI PSK tool suite to implement exercises in several courses across the computing curriculum, including courses in software engineering, computational theory, operating systems, programming languages, and verification and validation.

Stages in Teaching Formal Methods

A. J. Cowling, University of Sheffield, UK

This paper describes how a staged approach to the development of students’ abilities to engineer software systems applies to the specific issue of aching formal methods. It reviews the scope of formal methods and the coverage of them in the Software Engineering volume of Computing Curriculum 2001, and then valuates this coverage against a theoretical model for the stages through which students develop their practical skills at engineering software systems. In particular, the paper discusses the role of formal methods within the process of developing software systems, and shows that both practically and pedagogically it is important that students use at least some elements of formal methods in their earliest attempts at developing systems. From this it is shown that these basic elements of the methods need to be taught earlier than is currently recommended.

Fostering UML Modeling Skills and Social Skills through Programming Education

Norio ISHII, Yuri SUZUKI, Hironobu FUJIYOSHI, Takashi FUJII, Shubu University, Japan


In this research, we attempted to support the learning of the UML modeling skills and social skills required in software development scenarios as part of programming education in the Department of Engineering. We conducted a class based on PBL in which the learners formed teams to build a robot using LEGO Mindstorms. The results confirmed that through the classes, the learners showed improvements in both modeling skills and social skills. These results demonstrate the educational effectiveness of class design based on PBL and using the theme of building a robot, and the effectiveness of the modeling template created through this research.


Competency Framework for Software Engineers

José Gamaliel Rivera-Ibarra, Josefina Rodríguez-Jacobo, José Alberto Fernández-Zepeda, CICESE, Mexico

Miguel Angel Serrano-Vargas, SPI Solutions, USA


One of the main concerns of the software industry is to develop the talent of its human resources, since the quality and innovation of its products and services depend to a great extent on the knowledge, the ability and the talent that software engineers apply in the software development process. A competency framework defines a set of knowledge, skills, and behaviors that professionals must have to excel in their careers. A competency framework facilitates the identification of training needs and guides the design of a professional development program. In this paper we propose a competency framework for software engineers, whose design is based on the activities and interactions that they perform during the software development process.



The Effects of Layout on Detecting the Role of Design Patterns

Bonita Sharif, Jonathan I. Maletic, Kent State University, USA

A controlled experiment investigating the effect layout has on how students identify design pattern roles in UML class diagrams is presented. Two layout schemes, multi-cluster and orthogonal, are compared with respect to three open source systems and four design patterns. Seventeen students were asked a series of eight design pattern role detection (comprehension) questions for each layout, followed by eight preference rating questions. Results indicate a significant improvement in role detection accuracy with the multi-cluster layout for the strategy pattern and a significant improvement in detection time with the multi-cluster layout for all four patterns. Preference ratings significantly favored the multi-cluster layout for pattern role detection ease. These results can be used to help improve the teaching of design patterns.


KAIST-CMU MSE Program – the Past and the Future

Sungwon Kang, Inyoung Ko, Jongmoon Baik, Hojin Choi, Danhyung Lee, KAIST, Korea


In this paper, we reflect upon the past five years of the KAIST-Carnegie Mellon MSE collaboration, look forward to ways in which we can improve in the years ahead. Given that the major component of the program is the curriculum, our insights focus mainly on curriculum improvement and evolution. As a means to achieving this goal, two surveys were conducted, one addressing reflections by the program’s participating faculty and graduates, and a second looking at various reference curricula. Based upon the results of both surveys, an improved curriculum structure is proposed, one that identifies and introduces special track options that would better serve the needs and demands of Korean industry.


From Student to Software Engineer in the Indian IT Industry: A Survey of Training

Vidya Kulkarni, University of Delhi, India

Christelle Scharff, Pace University, NY, USA

Olly Gotel, Research Consultant, USA


The benefits of Global Software Development are now well known and India currently has the lion’s share in outsourced offshore software development. As a result, the demand for skilled IT professionals is increasing in India. In order to meet the demand, new academic institutes are being established and the existing ones are increasing their intake in IT-related courses. However, according to the latest report of the National Association of Software and Service Companies (NASSCOM) in India, only 25% of the fresh graduates are considered readily employable by the IT industry. To undertake their jobs effectively, most of the companies provide training to fresh recruits before putting them on actual jobs. In order to understand the nature of the training that is conducted, the topics that are covered, and the adequacy of the preparatory education for the first job in the IT industry, two surveys were administered. One was conducted with human resource managers of some of the leading IT companies in India and another was conducted with fresh company recruits. The findings are reported in this paper and recommendations for the curriculum are proposed.



Day 2 - Wednesday, March 10th, 2010

A Graduate Education in Software Management and the Software Business for Mid-Career Professionals

Ray Bareiss, Gladys Mercier, Carnegie Mellon Silicon Valley, USA


Given the unique nature of the software business, the faculty of Carnegie Mellon University’s Silicon Valley campus concluded that mid-career software professionals would be better served by a tailored master’s degree focusing on software management and more broadly on the business of software than by a typical MBA. Our software management master’s program integrates business, technical, and soft skills to prepare our students for technical leadership in their current companies or in entrepreneurial ventures. Our initial program built on the strengths of Carnegie Mellon’s world-class software engineering education. We targeted students working in large companies, engaged in large-scale enterprise software projects, employing “high ceremony” software development processes. However, the majority of our students came from Silicon Valley companies which shared a product development focus, engaged in smaller projects, favored agile development processes, and measured development cycles in weeks rather than years. Our program has evolved to align with these interests. It employs a unique team-based and project-based pedagogy which emphasizes practical skills over theory, depth over breadth, and coaching over lecturing. High student satisfaction and growing enrollment have validated our curriculum decisions and have led us to make this program the educational centerpiece of Carnegie Mellon’s Silicon Valley campus.

Customers' Role in Teaching Distributed Software Development

Ivana Bosnić, Igor Čavrak, Mario Žagar, University of Zagreb, Croatia

Rikard Land, Ivica Crnković, Mälardalen University, Sweden


This paper describes different aspects of teaching distributed software development, regarding the types of project customers: industry and academia. These approaches enable students to be more engaged in real-world situations, by having customers from the industry, local or distributed customers in universities, distributed customers in software engineering contests or being involved in an ongoing project, thus simulating the company merging. The methods we describe are used in a distributed project-oriented course, which is jointly carried out by two universities from Sweden and Croatia. The paper presents our experiences of such projects being done during the course, the differences in each approach, issues observed and ways to solve them, in order to create a more engaging education for better-prepared engineers of tomorrow.


Teaching an End-User Testing Methodology

Huai Liu, Fei-Ching Kuo, Tsong Yueh Chen, Swinburne University of Technology, Australia


One important focus of software engineering is how to develop quality software. Software testing is the main approach to the software quality assurance. Nowadays, more and more end-users write the program on their own but lack formal trainings on how to test their programs, and hence cannot guarantee the quality of their own software. Metamorphic testing is a simple, automatable, and cost-effective testing methodology. It is particularly suitable for end-users to test their own programs, because it does not demand the user to have great knowledge of software testing but knowledge of the program under development. In this paper, we report our experience in teaching metamorphic testing to various groups of students at Swinburne University of Technology, Melbourne, Australia. Our work not only enhances the teaching of software testing, but also fosters the training of end-user programmers.



Current State of the Software Testing Education in North American Academia and Some Recommendations for the New Educators

Vahid Garousi, University of Calgary - Alberta, Canada

Aditya Mathur, Purdue University, West Lafayette, IN, USA

This article is a brief overview of the current state of the software testing education in the Canadian and American universities. In doing so, the authors hope to pinpoint the strengths, and areas for improvement and to encourage a systematic software testing curriculum development. We also present some recommendations for new software testing educators.


Improving Distance Mentoring: Challenges and How to Deal with them in Global Development Project Courses

Gil Taran, Lynn Carter, Carnegie Mellon University - PA, USA


In an attempt to provide real-world industrial experience, an increasing number of academic programs are broadening their portfolio to include global development projects. In these projects, the customer, the team or even the faculty are in different locations than those of their students creating a set of real world experiences and educational challenges. Various project elements such as asynchronous communications, remote assessment, and required knowledge transfer make effective learning challenging and problematic. To understand how to help faculty members overcome some of these challenges, faculty at Carnegie Mellon have studied recent and past projects specifically where clients, and/or faculty advisors were not co-located with their students. This paper presents some of their findings, provides recommendations and explains where specific attention is required for project and learning success.


Why Better Industrial/Academic Links Are Needed If There Is To Be An Effective Software Engineering Workforce

J. Barrie Thompson, University of Sunderland, UK

The case is made that to address the current problems of a graduate and skills shortage industry and academia need to work together to present a positive image of what are challenging and exciting disciplines and ensure that there is an effective workforce. Elements of a four year research project concerned with investigating and analyzing industry/academic links is reported which has provided insights into the challenges and problems that exist today. The project has involved: running a series of international workshops to identify and evaluate a of range industry/academic interactions, a literature review centered on CSEE&T conference proceedings, and a series of activities that have enabled an investigation of roles played by government, professional bodies, industry and industrial bodies and how they interact with academia. A number of fundamental problems are identified that currently hinder co-operation. Finally suggestions are made with regard to improving the current situation.


A Comprehensive Embedded Systems Lab for Teaching Web-based Remote Software Development

Janusz Zalewski, Florida Gulf Coast University, USA


The paper discusses an approach to the implementation of a web-based lab to teach remote software development in courses focused on real-time embedded systems. The lab involves data acquisition and control access to remote devices as well as a capability of remote software development, uploading and debugging. Several different platforms are used focusing on teaching specific aspects of real-time embedded systems development, which includes: programming in VHDL at the chip design level, microcontroller programming at the board level, programming at the real-time kernel level with both Windows and Unix flavor, and using a broad spectrum of programming languages (C/C++, C#, Java, ASP.NET). Current lab status is presented and plans for future expansion are outlined.



Using LEGO MINDSTORMS NXT and LEJOS in an Advanced Software Engineering Course

Michael W. Lew, Thomas B. Horton, Mark S. Sherriff, University of Virginia, USA

This paper describes the benefits of using LeJOS and the Lego Mindstorms NXT set for teaching advanced software development. While Lego Mindstorms has been used in introduction to computer science courses, it is not reported to be widely used in a simulated production environment requiring such things as threading, network communications, and the implementation of command protocols. Additionally, because the Mindstorms NXT system supports Bluetooth communications with multiple devices, it is possible to use this system as the basis for a complex, communicating system requiring multiple software artifacts on different machines.


Information Systems Application Development Courses

Selma Limam Mansar, Carnegie Mellon University, USA

In this experience report, we describe recent initiatives in global undergraduate Information Systems education at Carnegie Mellon University. The entire systems development core curriculum is now offered at CMU campuses in Pittsburgh and Doha, Qatar. Courses are co-designed and delivered by faculty in both locations with an eye toward consistency of content and assessment, but also with content tuned for local sections.  The collaboration and lessons learned among collaborating faculty in two example courses is described.


Day 3 - Thursday, March 11th, 2010

Pedagogical and Structural Analysis of SE Courses

Muhammad Usman, Naveed Ikram, International Islamic University Islamabad, Pakistan.

Javed Khan, Manas Hardas, Kent State University, Ohio, USA


One of the ways of improving quality of Software Engineering (SE) education is to develop mechanisms for quantitatively analyzing SE courses taught in universities. We propose a new multidimensional approach for analyzing SE courses. Two aspects are important for this analysis. One is what is covered (how much of the total SE knowledge space is covered in the course)? And second is how is it covered (how effectively SE topics and subtopics are covered in lectures)? We call the first one structural analysis and second one pedagogical analysis. Techniques and metrics for structural and pedagogical analysis of SE courses are presented in this paper together with results from implementation of the work on four SE courses.

Building Organizational Competitive Advantages with Strategically Aligned Technical Degrees

Edward R. Alef, Past Dean - Walsh College; Technical Fellow, Education - General Motors, USA

David C. Poirier, General Motors, USA


In 1999, the technical leadership from Carnegie Mellon University (CMU) and General Motors Corporation (GM) with a vision for creating strategic competitive competences through distance learning education technologies partnered to develop and implement technical master’s degrees with a defined output: Graduates with unique skills to add value with automotive technology applications. In less than ten years, these degrees produced 153 graduates who applied the technical knowledge learned to realize over $30M in documented first year cost savings, six major quality process implementations and one pending patent. This result translated into a 500% return on employee development through tuition investment. This article chronicles this success story and how it can be duplicated in other corporations with the same degree of success. Learn more about this partnership, the implementation and execution of the Quality Standards that strengthened the commitment to maintaining the degrees, and the keys to replicate its implementation in other organizations.

Should Software Engineering Projects be the Backbone or the Tail of Computing Curricula?

David Broman, Linköping University, Sweden

Winner of the CSEE&T2010 Best Paper Presentation Award.

Slides.

Most computer science (CS) and software engineering (SE) curricula include some form of SE project with the aim of lowering the gap between CS and SE education and real-world demands in industry. In this paper we briefly discuss and explain our findings of software engineering projects taught at LiU in Sweden. These courses use what we call the “tail” approach, where student projects are performed at the end of a degree program. We then argue that there are several problems with this approach and sketch an idea where SE projects are an integrated part of a curriculum. Furthermore, pros and cons of this idea, which we call the SE project “backbone” approach, are discussed and analyzed.

An Undergraduate Summer Research Program in Software Safety

W. Eric Wong, Vidroha Debroy, University of Texas at Dallas, USA

This paper shares the experiences and lessons learned from conducting an NSF-sponsored eight week summer research program for ten undergraduate students from multiple universities. The focus of the research was on “Verification and Validation for Software Safety”, and emphasized a strong fundamental knowledge of software safety while maintaining a close collaboration with industry. The program included lectures and special tutorials from guest speakers, field trips, review sessions, as well as posters and final presentations by the students.

An Open Modern Software Testing Laboratory Courseware

Vahid Garousi, University of Calgary - Alberta, Canada


In order to effectively teach software testing students how to test real-world software, the software tools, exercises, and lab projects chosen by testing educators should be practical and realistic. However, there are not many publicly-available realistic testing courseware for software testing educators to adapt and customize. Even for the existing testing lab exercises developed and/or used by the educators, there are various drawbacks, e.g.: (1) They are not usually kept up-to-date with the most recent testing tools and technologies, e.g., JUnit, (2) They are not built based on realistic/real-world Systems Under Test (SUTs), but rather use “toy” examples (SUTs). The above needs were the main motives for the author and his team at the University of Calgary to modernize the lab exercises of an undergraduate software testing course. This paper presents the designed lab courseware, and the experiences learned from using the courseware in the University of Calgary. It is hoped (and expected) that other software testing educators start to use this laboratory courseware and find it useful for their instruction and training needs.

Adding Service Engineering and Management to a Software Engineering Program

Gavin Finnie, Padmanabhan Krishnan, Bond University, Australia

This paper describes the rational and an approach to introduce a new curriculum in the area of service management and engineering. This is done in the context of an existing software engineering and information system program. So the total cost of the new curriculum is not high. Thus the approach, with relatively low start-up costs, is suitable for small departments. As with any new programme or degree there is a problem of getting the concepts known in the marketplace. The School of IT initiating this programme is actively working with several organizations to promote the ideas to potential employees and students.



Software Engineering Practicum Course Experience

Edward P. Katz, Carnegie Mellon Silicon Valley, USA


The CMU Silicon Valley Software Engineering Practicum course is a curriculum capstone which provides the practicum student the opportunity to interact with an actual client. The client has a real problem and is in need of a software developed solution. Concurrently, it provides the opportunity for the student to demonstrate the acquired skills and knowledge derived from the software engineering curriculum. Student feedback has been very positive for this course because the students have a voice in their project selection, and they work on a real problem (not just a class assignment) with a real owner appreciating the student's efforts. A client benefits from working directly with a software engineering team (instead of a group of interns) in developing a meaningful solution to their specific problem within a one semester time window. Another success measure is the repetition of clients wishing to engage additional teams for more or continued projects.



Software Engineering Leadership: A Student Initiative to Promote Change Agents in Industry

Jonathan Hartje, Gil Taran, Carnegie Mellon University, USA

Most academic programs in software engineering teach the topic of leadership either through lectures intertwined across the curriculum or through project components where students are expected to lead various team efforts. Unfortunately teaching leadership in such a way does not seem to provide the right amount of practical skills and abilities to allow students to assume leadership positions in industry after graduation. A student led, faculty backed leadership initiative at Carnegie Mellon’s Master of Software Engineering Program (MSE) was created to overcome these challenges by providing the environment, the opportunity and the challenges that will in turn challenge students to acquire the necessary skills. This paper is a reflection on this initiative and its usefulness for students, faculty and industry alike.


Capstone Project: From a Software Engineering to an “Informatics” Approach

Hadar Ziv, Sameer Patil, University of California - Irvine, USA

Abstract—This paper reports on experiences in transitioning from a single-quarter to a three-quarter capstone course. A single-quarter project course in software design and development had been offered by our department for over twenty years. More recently, upon formation of a new undergraduate degree in Informatics, this course was transformed into a three-quarter capstone course taken by students in their final year. Correspondingly, some aspects of the software projects, such as the business scope and software complexity, grew in proportion to the increase in project duration. At the same time, a number of “costs” were reduced, including the time and effort required to setup development infrastructure and development environments, and learn new tools and languages. Most importantly, several other factors experienced substantial growth. The longer project duration allowed significant increase in effort and attention paid to usability engineering and user-centered design, leading to systems that were deployable and more usable for the target users. It also enabled better software testing, deployment and release management, leading to systems much closer to production quality than the prototypes and proof-of-concept systems typical of single-quarter projects.