Implementing large projects in software engineering courses
نویسنده
چکیده
In software engineering education, large projects are widely recognized as a useful way of exposing students to the real-world difficulties of team software development. But large projects are difficult to put into practice. First, educators rarely have additional time to manage software projects. Second, classrooms have inherent limitations that threaten the realism of large projects. Third, quantitative evaluation of individuals who work in groups is notoriously difficult. As a result, many software engineering courses compromise the project experience by reducing the team sizes, project scope, and risk. In this paper, we present an approach to teaching a one-semester software engineering course in which 20 to 30 students work together to construct a moderately sized (15 KLOC) software system. The approach combines carefully coordinated lectures and homeworks, a hierarchical project management structure, modern communication technologies, and a web-based project tracking and individual assessment system. Our approach provides a more realistic project experience for the students, without incurring significant additional overhead for the instructor. We present our experiences using the approach the last 2 years for the software engineering course at The College of William and Mary. Although the approach has some weaknesses, we believe that they are strongly outweighed by the pedagogical benefits.
منابع مشابه
Simulating Critical Software Engineering
One goal of many introductory software engineering courses is to simulate realistic software engineering. Unfortunately, many of the practical constraints of typical courses are antithetical to that goal: instead of working in large teams on large projects, dealing with changing requirements and maintaining programs over many years, courses generally involve students working alone or in small t...
متن کاملInstructor’s Roles in Software Engineering Course Projects
As a practice-oriented discipline, Software Engineering is most effectively taught by using a variety of hands-on experiences. Team-based projects where students can practice their technical and soft skills are a key feature of many software engineering courses aimed to prepare students for the realities of industrial software development. This paper surveys the objectives of software developme...
متن کاملThe Cross-Course Software Engineering Project at the NTNU: Four Years of Experience
Many software engineering courses include all-term projects to convey principles relating to large-scale multi-person development. But even such projects will easily be too small and simple, unless a sufficient amount of study time is allocated to them. This time may be hard to find, especially in strictly programmed profession studies where a lot of general theory courses have to be taken. Thi...
متن کاملFailproof Team Projects in Software Engineering Courses
The computer science department of the University of Pittsburgh offers two undergraduate and two graduate courses in software engineering in which we emphasize the importance of general engineering principles for software development. For the last ten years the undergraduate courses have been based on team projects. This structure has advantages: students see immediately the relevance of what t...
متن کاملA Taxonomy of Organizational Alternatives for Project-Oriented Software Engineering Courses
Industrial software development today requires a fundamental software engineering education as well as the ability to work productively and collaboratively in a team environment. In order to produce graduates possessing the skills necessary to succeed in the workplace, team-oriented software engineering courses with real projects (and with real clients) are increasingly emphasized. There are a ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Computer Science Education
دوره 16 شماره
صفحات -
تاریخ انتشار 2006