Teamwork is recognized as an important skill for engineering and computer science students. Industry strongly advocates inclusion of teamwork in the curriculum and teamwork is a requirement for ABET accreditation. Unfortunately most engineering and computer science programs fail to address teamwork as something that needs to be taught. It is usually expected that students should learn teamwork skills on their own, through participation in various team projects. Little thought or effort is given as to how to improve the way teaching is done in order to improve students' abilities to function on teams. One reason for this is that teaching teamwork demands a good deal of time and effort from the faculty. This is especially the case when teamwork is incorporated in regular lecture-discussion classes, rather than classes dealing with capstone projects. The result is that students often do not learn the critical teamwork skills such as: communication, planning and tracking, collaborative design, and peer reviews. We have developed an approach for teaching effective teamwork skills utilizing Yahoo Groups along with a Learning Management System (LMS), such as Moodle. Our approach improves student learning of teamwork skills by assuring that effective communication and team collaboration develops among all team members. Instructors are able to teach teamwork skills without having to devote a great deal of extra time and effort. Experience with this approach has shown more sustained participation by all team members in performing the collaborative work and greatly improved team communications.