Difference between revisions of "Paper Abstracts"

From CSEET 2010
Jump to: navigation, search
m (From Student to Software Engineer in the Indian IT Industry:)
m (A Comprehensive Embedded Systems Lab for Teaching Web-based)
Line 532: Line 532:
 
* Global Software development
 
* Global Software development
  
= A Comprehensive Embedded Systems Lab for Teaching Web-based =
+
= A Comprehensive Embedded Systems Lab for Teaching Web-based Remote Software Development=
'''Remote Software Development 1'''
+
  
  

Revision as of 14:48, 20 January 2010

ABSTRACTS – CSEET 2010

Component Based Software Engineering across the Curriculum

John M. Hunt John D. McGregor

Covenant College Clemson University

Abstract


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.


Tags:

  • Components, UML, Patterns
  • Techniques

An Open Modern Software Testing Laboratory Courseware

Software Quality Engineering Research Group (SoftQual)

Department of Electrical and Computer Engineering, Schulich School of Engineering

University of Calgary, Alberta, Canada

Abstract

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.


Tags:

  • Testing
  • Techniques

Teaching an End-User Testing Methodology

Huai Liu∗ Fei-Ching Kuo, and Tsong Yueh Chen


,


Centre for Software Analysis and Testing, Swinburne University of Technology, Australia


{hliu, dkuo, tychen}@swin.edu.au


Abstract


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.


Tags:

  • Testing
  • Techniques

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

David Broman


Department of Computer and Information Science, Linköping University


david.broman@liu.se


Abstract


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.


Tags:

  • Project-based learning
  • Curriculum
  • Short paper

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

Ray Bareiss and Gladys Mercier


Carnegie Mellon Silicon Valley


{ray.bareiss,gladys.mercier}@sv.cmu.edu


Abstract


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.


Tags:

  • CMU family
  • Project-based learning
  • Curriculum

Stages in Teaching Formal Methods

A. J. Cowling


Department of Computer Science, University of Sheffield,


Regent Court, Portobello Street, Sheffield, S1 4DP, United Kingdom


Email: A.Cowling @ dcs.shef.ac.uk


Abstract


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.


Tags:

  • Formal methods
  • Curriculum

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


{mwlew, tbh3f, sherriff}@virginia.edu


Abstract


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.


Tags:

  • Project Based Learning
  • Techniques

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.


1{m.usman,naveed.ikram}@iiu.edu.pk,2{musman,javed,mhardas}@cs.kent.edu


Abstract


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.


Tags:

  • Curricula

The Effects of Layout on Detecting the Role of Design Patterns

Bonita Sharif and Jonathan I. Maletic

Department of Computer Science

Kent State University

bsimoes@cs.kent.edu and jmaletic@cs.kent.edu

Abstract

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.


Tags:

  • Components, UML, Patterns
  • Techniques

Customers' Role in Teaching Distributed Software Development

Ivana Bosnić, Igor Čavrak, Mario Žagar Rikard Land, Ivica Crnković


Faculty of Electrical Engineering and Computing School of Innovation, Design and Engineering


University of Zagreb Mälardalen University


Zagreb, Croatia Västerås, Sweden


{ivana.bosnic, igor.cavrak, mario.zagar}@fer.hr {rikard.land, ivica.crnkovic}@mdh.se


Abstract—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.


Tags:

  • Global Software Development
  • Industry/Acaemia

Competency Framework for Software Engineers

José Gamaliel Rivera-Ibarra, Josefina Rodríguez-Jacobo,

José Alberto Fernández-Zepeda

Department of Computer Science, CICESE

Km. 107 Carretera Tijuana-Ensenada, Ensenada, B.C. 22860, Mexico

{jrivera, jacobo, fernan}@cicese.mx


and

Miguel Angel Serrano-Vargas

MS SPI Solutions

1310 Summers End Ct., St. Louis, MO 63026, USA

miguel.serrano@msspisolutions.com


Abstract


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.


Tags:

  • Curriculum
  • Industry/Acaemia

Software Engineering Practicum Course Experience

Edward P. Katz

Carnegie Mellon Silicon Valley

Edward.Katz@CMU.EDU


Abstract


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.


Tags:

  • Project Based learning
  • CMU family

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

Vidya Kulkarni Christelle Scharff Olly Gotel

University of Delhi Pace University Research Consultant

New Delhi New York

INDIA NY, USA NY, USA


Abstract


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.


Tags:

  • Industry/Academia gap
  • Curriculum
  • Global Software development

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

zalewski@fgcu.edu

Abstract


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.


Tags:

  • Industry/Academia gap
  • Curriculum
  • Global Software development

Information Systems Application Development Courses

A Carnegie Mellon University Experience in Global Pedagogy

Selma Limam MansarCarnegie Mellon University, Qatarselmal@qatar.cmu.eduJeria Quesenberry, Raja Sooriamurthi, Randy WeinbergCarnegie Mellon University, Pittsburgh jquesenberry@cmu.edu, raja@cmu.edu, rweinberg@cmu.edu Abstract

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.


Tags:


  • CMU family
  • Global Software development and training

Building Organizational Competitive Advantages with Strategically Aligned Technical Degrees

Dividends from a Visionary Corporate-University Partnership


Edward R. AlefDavid C. PoirierPast Dean - Walsh College and Technical Fellow, Education - General MotorsIS&S Information Officer, General Motorsedalef@att.netdavid.c.poirier@gm.com


Abstract


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.


Tags:


  • CMU family
  • Industry/Academia

PBL Assessment in Software Engineering

Ana Paula C. Cavalcanti1, Maria da Conceição Moraes Batista1, Jones

Albuquerque1,2, Silvio Meira1

1C.E.S.A.R – Recife Center of Advanced Studies and Systems


{anapaula.cavalcanti, cecamoraes}@gmail.com, silvio@cesar.org.br


2UFRPE – Federal Rural University of Pernambuco


jones.albuquerque@gmail.com


Abstract


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

results achieved with this experience in a graduate course of software engineering.


Tags:

  • Problem Based learning
  • CMMI

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

barrie.thompson@sunderland.ac.uk


Abstract

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.


Tags:

  • Industry/Academia

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

Vahid Garousi

Software Quality Engineering Research

Group (SoftQual)

Department of Electrical and Computer

Engineering, Schulich School of Engineering

University of Calgary, Alberta, Canada

vgarousi@ucalgary.ca

Aditya Mathur

Department of Computer Science,

Purdue University

West Lafayette, IN, USA

apm@purdue.edu

Abstract

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.


Tags:

  • Testing
  • Curriculum

Improving Distance Mentoring

Challenges and How to Deal

with them in Global Development Project Courses


Gil Taran, Lynn Carter


Abstract


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.


Tags:

  • Testing
  • Curriculum

Fostering UML Modeling Skills and Social Skills through Programming Education

Norio ISHII Yuri SUZUKI

Aichi Kiwami College of Nursing College of Engineering

n.ishii.t@aichi-kiwami.ac.jp Research Institute for Information Science

Chubu University

yuris@cs.chubu.ac.jp

Hironobu FUJIYOSHI Takashi FUJII

College of Engineering College of Engineering

Research Institute for Information Science Chubu University

Chubu University fujii@cs.chubu.ac.jp

hf@cs.chubu.ac.jp


Abstract

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.


Tags:

  • UML, Components and patterns
  • Problem based learning
  • Techniques
  • Social skills