This paper presents the design and evaluation of a Web-based collaborative learning environment called EduCo for learning and practicing team-based exercises in computer science and software engineering courses. EduCo's defining characteristic is integrating a number of services for software development activities, for example, project management, requirements engineering, design, and programming into integrated shared workspaces with social-networking facilities to enhance collaboration among students and instructors. We conducted a controlled experiment to evaluate the effectiveness of the system in doing a three-iteration programming project. A total of 126 second-year students who attended an object-oriented programming course participated in the experiment. The results show that while the system was not found to affect student programming performance, it improved student engagement and satisfaction when working in teams. These results imply that the system's shared workspaces and social-networking services have the potential to enhance learning outcomes of students working in teams when these features are integrated into collaborative learning environments. (c) 2016 Wiley Periodicals, Inc. Comput Appl Eng Educ 24:529-545, 2016; View this article online at ; DOI