It is important that engineering and computer science students learn teamwork skills as an integral part of their educational development. These skills are often not explicitly taught, but rather it is expected that students learn them on their own through participation in various team projects. Furthermore, the actual skills that students are expected to learn are usually not well articulated, or even understood. The approach outlined here attempts to address these problems by first establishing a process for defining what is meant by teamwork, by using this definition to assess the extent to which students are learning teamwork skills, and by using the assessment results to formulate approaches to improve student learning with respect to these skills. Specific attempts at the definition, assessment, and instruction improvement process are discussed.