Finally each team supports a report that includes the outputs of each phase. In addition the report includes:
- A user manual for the developed product.
- A description of the test cases that were used to verify the produced software.
- A self assessment component that discusses the validity of the implementation against user requirements as well as the team's experience.
- A letter from the domain expert assessing the product from her/his own perspective.
Setting due dates and having students abide by these is essential. Grading and
assessment of such a project would be based on the submitted report and on the
validity of the outputs of each phase of the development. Students in the same
team may get different grades.
Consequences:
- Students practice the concepts and methods taught to problems in real work environments. This helps to enforce the viability of concepts and methods taught and to introduce students to industrial work experience.
- By involving a domain interest, students are motivated to finish the target project with a matching interest to learn the material introduced during lecture hours.
- Demonstrating the finished project for a domain expert enforces issues of validation vs. verification.
- Working in teams of 2-3 helps to elucidate issues related to team and team work and gives a fair chance to reach a complete product.
- Abiding by due dates in producing the ouputs of different phases and a complete report on the developmet process is essential to reinforce issues related to project planning, scheduling etc.
- Producing a complete report from A to Z emphasizes issues related to project documentation and project maintainance.
- Grading students within a team independently mimics to a large extent staff evaluation where staff members are evaluated, promoted etc. independently of their colleagues.
Implementation:
- The project must be of the right size and appropriately focused to finish in a one semester course.
- The availability of a domain expert who is willing to offer the time is essential.
- The contents of the lectures must be suitably timed to proceed ahead of the different phases of the project.
- The assesment of the instructor of the outputs of different phases is made to focus the students on the target task and to ensure that the concepts have been assimilated and applied correctly.
Example Instances:
This pattern has been used repeatedly in an OO Software Engineering course.
Related Patterns:
This pattern is related in theme to the Preparation, Industrial Presentation and Roundtable (PIPL) Pattern. (#15)