In some cases, real-world application of software engineering concepts does not effectively map with current undergraduate curriculums. Typically, a student's first "hands-on" experience working on large-scale software development projects is via an intern position or his/her first full-time position. However, prior exposure to the corporate project environment would greatly improve a student's performance in industry. In order to develop students for successful careers in software engineering, specifically for software development, they must be immersed not only in the software development lifecycle and paradigms, but also in the workings of large project teams. Currently, most undergraduate software engineering courses are taught by presenting the concepts and methodologies and assigning fragmented three-to-four person group projects. In the Department of Computer Science, Georgetown University, Washington, DC, a two-course approach to undergraduate software engineering education has been developed that incorporates the practical application of coursework in a large team setting. The first course presents a firm software design basis, while the second course demonstrates corporate-level software engineering concepts with a semester-long software development simulation where the entire class is the development team. This paper presents the experiences from offering this software engineering simulation approach.
- Collaboration skills
- Object-oriented analysis and design
- Software engineering education
- Software process and life-cycle
- Unified modeling language (UML)
ASJC Scopus subject areas
- Electrical and Electronic Engineering