Enhancing team knowledge: instruction vs. experience
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Team projects throughout the curriculum: course management, teaching initiatives and outreach
Journal of Computing Sciences in Colleges
Journal of Systems and Software - Special issue: Software engineering education and training
Hi-index | 0.00 |
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 their 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 not only be immersed 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 3- 4 person group projects. In the Department of Computer Science at Georgetown University, 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.