Teamwork is recognized as an important skill for engineering and computer science professionals. Both potential employers and accrediting agencies, such as ABET, expect students to gain proficiency in teamwork skills through experiential learning. Teamwork based projects challenge the student to apply the technical knowledge they gain in school to solve meaningful and complex problems. However, to be truly proficient in teamwork, a student must also learn and practice a large number of peripheral skills. These include planning, estimating, tracking progress, taking corrective actions, managing change, controlling and managing risks, maintaining ethical and professional conduct, communicating complex ideas clearly and concisely, using design automation tools, leveraging web-based tools for team collaboration, and most importantly participating effectively as team members. It is essential that students should be taught these important skills. It is unlikely that without adequate faculty guidance students can pick up these skills through ad-hoc project experience. Yet, many engineering and computer science programs expect the students to do just that. We feel strongly that we need to employ a more pragmatic approach in teaching students the skills necessary to function as effective and productive team members. Additionally, we need to develop criteria for assessing the effectiveness of teaching teamwork and the tools to measure learning outcomes. Among the problems contributing to this situation are the following: engineering and computer science instructors themselves often have had little or no experience operating in teams; training or guidance in effective ways to teach teamwork is seldom provided; and tools and effective approaches to assist in the teaching and assessment of teamwork are lacking. Another problem is that, it takes a great deal of faculty time, effort and energy to guide groups of students in doing effective teamwork. We will describe an approach that we have used to teach team collaboration skills using free and freely available web-based tools. Students learn to use tools for design automation, metrics collection, project management, and web-based collaboration. Our approach encourages students to learn teamwork skills and improves levels of collaboration among team members while reducing demands on faculty time and effort. Use of web-based collaboration tools allows students to participate without the need for frequent face-to-face meetings; this our students love. In an effort to maximize the use of techniques like the ones described in this paper, we hold regular informal sessions of interested faculty to share ideas on improving teaching teamwork and to develop methods and tools for assessment. The paper and the conference presentation will describe both our approach and the results we have obtained. [ABSTRACT FROM PUBLISHER]