Overcoming Challenges in Software Engineering Education - Advances in Higher Education and Professional Development
Latest Publications


TOTAL DOCUMENTS

24
(FIVE YEARS 0)

H-INDEX

3
(FIVE YEARS 0)

Published By IGI Global

9781466658004, 9781466658011

Author(s):  
Liguo Yu ◽  
David R. Surma ◽  
Hossein Hakimzadeh

Software development is a fast-changing area. New methods and new technologies emerge all the time. As a result, the education of software engineering is generally considered not to be keeping pace with the development of software engineering in industry. Given the limited resources in academia, it is unrealistic to purchase all the latest software tools for classroom usage. In this chapter, the authors describe how free/open-source data and free/open-source tools are used in an upper-level software engineering class at Indiana University South Bend. Depending on different learning objectives, different free/open-source tools and free/open-source data are incorporated into different team projects. The approach has been applied for two semesters, where instructor’s experiences are assembled and analyzed. The study suggests (1) incorporating both free/open-source tools and free/open-source data in a software engineering course so that students can better understand both development methods and development processes and (2) updating software engineering course regularly in order to keep up with the advance of development tools and development methods in industry.


Author(s):  
Bonnie K. MacKellar ◽  
Mihaela Sabin ◽  
Allen B. Tucker

Too often, computer science programs offer a software engineering course that emphasizes concepts, principles, and practical techniques, but fails to engage students in real-world software experiences. The authors have developed an approach to teaching undergraduate software engineering courses that integrates client-oriented project development and open source development practice. They call this approach the Client-Oriented Open Source Software (CO-FOSS) model. The advantages of this approach are that students are involved directly with a client, nonprofits gain a useful software application, and the project is available as open source for other students or organizations to extend and adapt. This chapter describes the motivation, elaborates the approach, and presents the results in substantial detail. The process is agile and the development framework is transferrable to other one-semester software engineering courses in a wide range of institutions.


Author(s):  
Salamah Salamah ◽  
Massood Towhidnejad ◽  
Thomas Hilburn

While many Software Engineering (SE) and Computer Science (CS) textbooks make use of case studies to introduce difference concepts and methods, the case studies introduced by these texts focus on a specific life-development phase or a particular topic within software engineering object-oriented design and implementation or requirements analysis and specification. Moreover, these case studies usually do not come with instructor guidelines on how to adopt the introduced material to the instructor’s teaching style or to the particular level of the class or students in the class. The DigitalHome Case Study aims at addressing these shortcomings by providing a comprehensive set of artifacts associated with the full software development life-cycle. The project provides an extensive set of case study modules with exercises for teaching different topics in software engineering and computer science, as well as guidance for instructors on how to use these case modules. In this chapter, the authors motivate the use of the case study approach in teaching SE and CS concepts. They provide a description of the DigitalHome case study and the associated artifacts and case modules. The authors also report on the use of the developed material.


Author(s):  
Sakgasit Ramingwong ◽  
Lachana Ramingwong

Software development is uniquely different especially when compared to other engineering processes. The abstractness of software products has a major influence on the entire software development life cycle, which results in a number of uniquely important challenges. This chapter describes and discusses Engineering Construction for Software Engineers (ECSE), an effective workshop that helps software engineering students to understand some of these critical issues within a short period of time. In this workshop, the students are required to develop a pseudo-software product from scratch. They could learn about unique characteristics and risks of software development life cycle as well as other distinctive phenomenon through the activities. The workshop can still be easily followed by students who are not familiar with certain software development processes such as coding or testing.


Author(s):  
Ezequiel Scott ◽  
Guillermo Rodríguez ◽  
Álvaro Soria ◽  
Marcelo Campo

Software Engineering courses aim to train students to succeed in meeting the challenges within competitive and ever-changing professional contexts. Thus, undergraduate courses require continual revision and updating so as to cater for the demands of the software industry and guarantee academic quality. In this context, Scrum results in both a suitable and a flexible framework to train students in the implementation of professional software engineering practices. However, current approaches fail to provide guidance and assistance in applying Scrum, or a platform to address limitations in time, scope, and facilities within university premises. In this chapter, the authors present a software engineering training model based on the integration of the Agile Coach role and a virtual-reality platform called Virtual Scrum. The findings highlight the benefits of integrating this innovative model in a capstone course. Not only does this approach strengthen the acquisition of current software engineering practices but also opens new possibilities in the design of training courses.


Author(s):  
Paolo Ciancarini ◽  
Stefano Russo

In this chapter, the authors describe their experiences in designing, developing, and teaching a course on Software Architecture that tested both in an academic context with their graduate Computer Science students and in an advanced context of professional updating and training with scores of system engineers in a number of different companies. The course has been taught in several editions in the last five years. The authors describe its rationale, the way in which they teach it differently in academia and in industry, and how they evaluate the students’ learning in the different contexts. Finally, the authors discuss the lessons learnt and describe how this experience is inspiring for the future of this course.


Author(s):  
Marc Lainez ◽  
Yves Deville ◽  
Adrien Dessy ◽  
Cyrille Dejemeppe ◽  
Jean-Baptiste Mairy ◽  
...  

This chapter shows how a lightweight Agile process has been used to introduce Agile project development to young computer science students. This experience has been conducted on a project aimed at developing Android applications. The context, the process, and the results of this experiment are described in this chapter.


Author(s):  
Ann Q. Gates ◽  
Elsa Y. Villa ◽  
Salamah Salamah

A major challenge to teaching software engineering is achieving functioning teams that enforce individual accountability while integrating software engineering principles, approaches, and techniques. The two-semester software engineering course at the University of Texas at El Paso, referred to as the Team-Oriented Software Engineering (TOSE) course, establishes communities of practice that are cultivated through cooperative group practices and an improvement process model that enables learning from past experiences. The experience of working with incomplete, ambiguous, and changing software requirements motivates the need for applying disciplined software engineering practices and approaches throughout project development. Over the course of the two-semester sequence, the nature of students’ participation in project teams changes: they begin to influence others in software engineering practice, and their identities as software engineers begins to develop. The purpose of the chapter is to describe how to structure a software engineering course that results in establishing communities of practice in which learners become increasingly more knowledgeable team members who embody the skills needed to work effectively in a team- and project-based environment.


Author(s):  
Jocelyn Armarego

This chapter explores the findings from an Action Research project that addressed the Professional Capability Framework (Scott & Wilson, 2002), and how aspects of this were embedded in an undergraduate Engineering (Software) degree. Longitudinal data identified the challenges both staff and students engaged with. The interventions that were developed to address these are described and discussed. The results of the project show that making soft skills attainment explicit as part of the learning objectives went a long way in assisting students to engage with the activities that exercised these skills.


Author(s):  
Zuhoor Abdullah Salim Al-Khanjari

Software Engineering education involves two learning aspects: (1) teaching theoretical material and (2) conducting the practical labs. Currently, Software Engineering education faces a challenge, which comes from the new learning opportunities afforded by the Web technologies. Delivering a Software Engineering curriculum by online distance learning requires innovative and flexible approaches to present and manage the theoretical and practical learning materials. E-Learning could support Software Engineering education through utilizing special e-Learning concepts, techniques, and tools. E-Learning could also change the mode of teaching from knowledge-as-transmission to knowledge-as-construction. This is called “Software Engineering e-Learning.” This chapter provides a review on Software Engineering education and e-Learning technology. It explores the need to adopt a Software Engineering e-Learning model to help the facilitators/instructors prepare and manage the online Software Engineering courses. This chapter also addresses how e-Learning environment could simplify the application of the constructivist learning model towards Software Engineering education.


Sign in / Sign up

Export Citation Format

Share Document