Software engineering, like the other engineering disciplines, faces increasing pressure to provide students with those skills required both to succeed in their first professional job and to engage in lifelong learning. This is a curriculum design challenge that requires considerable deliberation. As a reflection of the movement in higher education from teacher-centered to student-centered learning, many methods, such as the application of situated cognition theory, were adopted in our course of software engineering. The practice training was proposed in the semester-long software engineering course to meet the goals that help students to understand further about the software engineering theory and put it into use with personal meaning. The process of the practice training was elaborated in the paper. A bulletin board was built for resource sharing on a local server. All the students enrolled in the course were divided into several teams for project cooperation. After the training an interview study of students was conducted for ascertaining how they felt the process changed the way they learned and the issues they encountered in working. Three issues were concluded according to the products the students performed in the practice training. The recommendations about how to improve the process were also provided in this paper.