The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Corporate software development often takes place within a complex organizational structure, potentially encompassing many individuals. With constant improvements in network and communication technologies, those organizations may be widely distributed through time and space. In computer science and education, group projects are typically included as part of an undergraduate and graduate engineering...
In the Computer Science Department at the University of Michigan (UM), we have spent the past five years building social context into several courses in the traditional computer science (CS) curriculum. Specifically, freshman- and senior-level, project-based classes have been designed to both teach significant and appropriate academic content, while also building software games and apps for children...
This paper proposes the design of specific programme dedicated for students who want to specialize in software testing at postgraduate level. The motivation behind this proposal is to encourage more higher learning institutions to offer variety of software engineering related programme, in particular software testing so that this area is recognized as another key contributor for developing competent...
To include a panel on needs of the techno-economic environment seems appropriate, as its profile and needs have shifted over the last years. So has the research agenda of computing departments. But these changes are not in sync. Hence a panel on Industrial Needs and the Educational Response of the curriculum should confront educators with the broad spectrum of the IT-labor market by allowing people...
Software Engineering is about creating high-quality software in a systematic, controlled, and efficient manner. Although the Software Engineering discipline had been recognized since 1968, there is still no agreement among the Universities worldwide about what should be included in the Software Engineering curriculums or study plans. This problem has resulted in that different knowledge areas are...
Universities have created programs such as the Executive Master's Degree in Software Engineering (EMSE) to enable busy professionals to achieve a balance between work and life while pursuing a graduate degree. In this talk, I will address several important issues based on my experience of teaching the same course for both the EMSE program and the regular Master's program.
Studio-based learning for software engineering is a well-received concept, despite its apparent lack of uptake across institutions worldwide. Studio education affords a variety of highly desirable benefits, and is also popular amongst its students. This paper presents Lancaster University's software engineering studio, details of its implementation, observations made throughout its first year, evidence...
Aspect-oriented software development has become an important development and maintenance approach to software engineering across requirements, design and implementation phases. However, discovering early aspects from requirements for a better integration of crosscutting concerns into a target system is still not well addressed in the existing works. In this paper, we propose a Goal-driven Early Aspect...
Which are the consequences of Lehman's Laws of Software Evolution for the productivity of incrementally developed projects? The concept of Incremental Development Productivity De-cline (IDPD), which deals with how the productivity of incrementally developed software develops over its increments, is introduced. It is explained how Lehman's Laws of Software Evolution apply to it and how maintenance...
With the rise of the Industrial Internet the world entered a new era of innovation. At the heart of this new industrial revolution is the convergence of the global industrial system with computing power, low-cost sensing, big data, predictive analytics, and ubiquitous connectivity. The growing proliferation of smart devices and applications is accelerating the convergence of the physical and the digital...
One of the factors that is supposed to have a significant effect on an individual's effectiveness during requirements engineering activities is knowledge of the problem being solved by the system to be built, i.e., domain knowledge. Nevertheless, domain knowledge is a double-edged sword. While in-depth domain knowledge facilitates understanding the details of the problem, in-depth domain knowledge...
The paradigm shift from waterfall to evolutionary software development (that includes agile development) has been widespread in industry, but academia is still struggling with it. This position paper reiterates the reasons for the paradigm shift that illustrate the importance of the shift. The position paper then discusses what the shift means for the software engineering education. As an example,...
This panel will discuss recent trends in graduate software engineering programs, including adoption of GSwE2009, cooperative programs between schools, increasing use of distance education formats, and specialization of programs for industry partners. Panelists will also discuss the evolving relationship of software engineering to other disciplines, such as computer science and systems engineering.
In this panel, we will address questions regarding the development and execution of one type of industry-academic collaboration - corporate-sponsored projects. As representatives of programs at both public and private institutions, we will address a set of questions related to these programs. We have prepared an initial list that will be augmented with questions submitted and voted on by conference...
A key goal of our research is to introduce an approach that involves at the outset using analytical reasoning as a method for developing high quality software. This paper summarizes our experiences in introducing mathematical reasoning and formal specification-based development using a web-integrated environment in an undergraduate software engineering course at two institutions at different levels,...
Recent research indicates that women and minority students find computer science more meaningful and engaging when they have a chance to apply their knowledge within communal and societal context. We report the experience gained while incorporating a software engineering project that aid community and society at a university that predominantly serves underrepresented minority students. The project...
How to effectively generate test cases is the key to software testing. In our previous research, we applied the program dynamic invariant as feedback to guide test case generation, and that can reduce the redundancy and improve the coverage effectively. However, the repeated extraction of program dynamic invariants significantly increased the burden of test case generation. To address this issue,...
Computer science graduates face unprecedented opportunities and unforeseen challenges in today's highly global economy. These students will have to work and to think with international perspectives and cultural awareness. In this paper, we report on our experiences organizing and teaching the Pacific Rim Summer Schools in Global Distributed Software Development. We describe the motivation for our...
Studies continue to report that more time is spent reading, locating, and comprehending code than actually writing code. The increasing size and complexity of software systems makes it significantly more challenging for humans to perform maintenance tasks on software without automated and semi-automated tools to support them, especially in the error-prone tasks. Thus, software engineers increasingly...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.