Information Retrieval and Web Search
August 28, 2003
The programming project for the course will be carried out in teams. The instructor will assemble the teams with students inputs. Two types of teams co-exist throughout the semester. One is the integration team or vertical team, the other is the expert team or horizontal team . Each student belongs to two teams simultaneously throughout the semester. The integration team is the primary team. It is responsible for putting all components together to make it a working search engine. The expert team is specialized in one particular component of the search engine, for example, indexing.
The integration team is the primary team that each student belongs to. This team will build a complete search engine that is hopefully unique to each team. Team members can think of that they own the search engine and they want to be able to compete and win over search engines built by other teams. The expert team is secondary in which students discuss and exchange ideas how to build a particular component of a search engine.
The description below is primarily about the integration team. The expert team is informal during the project.
Each team will have four (or three) members. Each member of a team assumes a role in a particular phase of the project. The four primary roles of an integration team are listed below.
In a three-member team, other two members become the programming partners to the domain expert in addition to their own roles. The roles must be rotated as the project progresses into different phases. Each member will play each role at least once. The duties of each team member should be clearly indicated in each of the team report, which is to be submitted at the end of the each project phase. Each team should meet at least three times during a project phase formally in the sense that a log should be kept to discuss progresses and problems related to the project. The domain expert should meet with other experts in the same domain to exchange ideas. This should be reflected in the team meeting log.
Each team will meet at least three times formally during each phase of the project. A log should be kept for the meetings. The minutes should include the time of the meeting, the place of the meeting, the participants, the issues discussed, the conclusions reached, among others. The meeting can be brief if there aren't many issues to discuss (though this is unlikely the case for the given project). A copy of the log must be turned in along with the project phase report. Each student is also required to turn in an evaluation form (see next section for detail) for each phase.
Team performance will be assessed using multiple mechanisms. Basically it is a combination of instructor's evaluation based on the team work including programming project and the team report, team member evaluation and self-evaluation. See the attachment (``Peer Rating Factor'') for details of the rating algorithm. The exception is that we will use a different verbal to numerical converting rate than the one used in the paper. The following is the rating we will adopt.
Excellent | 100 |
Very good | 90 |
Satisfactory | 80 |
Ordinary | 70 |
Marginal | 60 |
Deficient | 50 |
Unsatisfactory | 40 |
Superficial | 30 |
No show | 0 |
The key point in this peer rating is that the ratings should reflect each individual's level of participation and sense of responsibility, not his or her academic ability.
In our project, the project will be graded on the integration team only. The assessment will take place after the completion of each phase. The average of all phase grades will be used for the semester grade for the project of individual student.
Teamwork is an extremely important skill that studens should acquire. One cannot overemphasize the importance of teamwork experience. Students should view their expeirnece of teamworking in the project as important part of the project as the code design and development themselves. Teamwork doesn't always mean smooth corporation among team members. It doesn't mean there would be no conflict. It doesn't mean one or more members will ride the work of others for free. Teamwork means the members of a team work together as a whole to accomplish a task. Along the way the team members learn how to work together, how to distribute the work load, how to resolve conflicts, how to critisize constructively, how to accept criticism, and most importantly, how to share the joy (and possibly some sorrow) of the work accomplished by the team.
Teamwork as a subject has been studied widely. Some references are listed here. Students are strongly encouraged to read these materials and gain an insight into teamwork.
This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.70)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -nonavigation -split 1 teamwork
The translation was initiated by Meng Xiannong on 2003-08-28