Skip to content
Photo of professor and students working collaboratively

Using and evaluating teams in PBL Engineering classes

In PBL courses, the use of real-world, community-based projects may be an effective way to engage students with a meaningful problem while teaching them software engineering concepts [1]. Students often become more invested in their projects when they see that their products are more than simply a paper design. Real-world projects often require the creation of inter-disciplinary teams to complete them.

The project classes I teach are offered in-person on campus and paired with an online section that allows students to complete the course requirements asynchronously. My classes (both in-person and online) are taught using active learning to increase student engagement [2] in flipped classrooms [3]. I am a software engineer and team projects are essential to preparing students for their professional lives are they graduate. Learning to do group project work is valuable to students in every profession.

Two big questions I need to answer when assigning group project work are: 1) how to involve online students in project work and 2) how to assess the contributions of individual team members to the final project deliverables. There are several factors that affect how these questions may be answered: 1) project origin, 2) appropriate team sizes, 3) team formation strategies, 4) progress tracking, 5) presentation of deliverables, and 6) some type of reflection opportunity.

I do not like to use the same project over and over. I do not like assigning the same project to every student in the same course either. Having 10 to 20 distinct projects is more engaging for students observing teams presenting their work when it is finished. In some classes, like my game design classes, I have students propose project ideas for my approval. In my senior design course, I solicit community-based project ideas which are shared with the students. In my software engineering course, I have students choose projects from a list of 60 project ideas.

I am a software engineer. I am good at estimating how much work it takes to complete a software project. I have not had much success with student teams that have more than 5 or 6 students on them. Even with 6 person teams I have noticed that it is easy for one or two students to let the rest of the team do the work. Teams with fewer than 3 students often will not have opportunities to develop their soft skills. Most of the project teams in my courses consist of 3 to 5 students.

Team formation

I believe that allowing students to select their own projects and have some control over selecting the members of their team helps to give them a sense of ownership over their project. For projects proposed by external clients, I have the class send a pair of students to interview each client to get the project details. Once the interviewers share the project details with the class, they are tasked with finding 1 or 2 additional students to staff the project. In some classes, each student proposes a project idea, and the class votes on which projects to develop. The winning proposal author manages the recruitment process to staff their project teams. For in-person classes the classroom can be organized like a job fair. This allows students to complete their project teams quickly. For hybrid classes, Google sheets and email need to be used to help students select projects and team members, especially if each team needs to contain both in-person and online students. To make this process work a little easier when online students are involved, I have all students complete a Google sheet where each students lists their skills and project interests.

Tracking Progress

My software engineering background tells me that for team projects lasting more that 4 or 5 weeks it is important to include regular checkpoints to ensure students are progressing in ways that will allow on time completion of their project. I usually ask students to list all the features and milestones needed to complete their project. Agile developers call this list the project backlog. I ask students to share their updates their backlog list every two weeks along with a Gannt chart showing tasks assigned to each team member as they work to reduce the size of the backlog each week. It is important to provide team members with ways to hold each other accountable if people fail to complete their assigned tasks. Peer review and peer evaluation may be helpful ways to hold team members accountable [4].

Gantt Chart Example

Grading

My classes emphasize project-based learning. The most common student activities are group projects of all sizes and durations. In engineering, reports (both written and oral) and prototypes are the most common work products. It makes sense to have students develop progress report memos, lab reports, posters, and reflection pieces describing their lessons learned following textbook readings and learning activities [5]. These are short, frequent, and low stakes graded work products.

Oral presentations of work products (both group and individual) are frequent in my in-person classes. Online students need to submit videos of their presentations. To ensure that they get meaningful feedback on their presentations students are assigned to provide peer feedback on other students’ submissions.

Peer reviews can be used to supply feedback on draft documents or project prototypes prior to their final submission for grading by the instructor. It has been my experience that students need to be taught how to provide feedback and that they will get better over time if rewarded for supplying meaningful feedback to content creators. I have occasionally had the document author’s (team or individual) send me the names of their useful reviewers. I typically award students two points for each useful review and one point for each ordinary review.

Peer evaluation is an important strategy to keep student team members honest about their contributions to team deliverables. It can be a simple system like having each student team member upload a document with anonymous ratings (0 = nothing and 5 = great) for each team member. I ask students to rate their own level of participation and supply a list of each team members contributions to the team deliverable. I average the scores for each person and give team members with low participation scores reduced grades on the team project. For projects which include the delivery of a running software product I have the team meet and complete a set of timecards that document tasks completed by each team member and the time spent on each.

Gamification can be used as a means of promoting rewards for completing tasks. Students can be rewarded for compliance to software process steps and for taking the initiative to improve their “soft skills.” On diverse teams it is important to recognize the contributions of each team member. Allowing students to negotiate the nature of their activities (artist, author, designer, programmer) and knowing the rewards up front often goes a long way to ensuring that all students are engaged for the entire semester [6].

Reflection

Reflection might be thought of as a cycle of thinking and doing. When learners reflect their implicit knowledge is digested through active interpretation, questioning and exploration [7]. In asynchronous on-line courses, student reflective activities are important since students and instructors do not have opportunities for face to face communication. If gathered over a period time, the student answers can guide instructors in refreshing course content. If reflections are collected over the course delivery, students can use them to monitor their own progress. In face to face classes, reflective writing can be used to initiate in-class discussions in small group activities [8].

Reflective writing can take many forms: lab notebooks, project change logs, minute papers, or project postmortems. I often simply ask my students to answer three questions when they reflect on their work after completing a project milestone (document or prototype).

  • What went right?
  • What went wrong?
  • Lessons learned/process improvement suggestions

References

  1. J.A. Stone and E. Madigan, “Experiences with community-based projects for computing majors,” Journal of Computer. Science in the Colleges, Vol. 26, No.6, June 2011, pp.64-70. https://dl.acm.org/doi/pdf/10.5555/1968521.1968538
  2. S. Luster-Teasley, S.C. Hargrove-Leak, and C. Waters, “NSF TUES: Transforming undergraduate environmental engineering laboratories for sustainable engineering using the case studies in the sciences instructional method” Proceedings of the 2014 Annual Meeting of the American Society for Engineering Education, Indianapolis, IN, June 2014, 10.18260/1-2–22873. https://peer.asee.org/22873
  3. T. Greer, Q. Hao, M. Jing, and B. Barnes, “On the effects of active learning environments in computing education,” Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE ’19), February 27-March 2, 2019, Minneapolis, MN, USA. ACM, New York, NY, USA, 6 pages. https://dl.acm.org/doi/pdf/10.1145/3287324.3287345
  4. The Center for Advancing Teaching & Learning (CATL) at the University of Wisconsin-La Crosse, “Peer Evaluation and Peer Review” https://www.uwlax.edu/catl/guides/teaching-improvement-guide/how-can-i-improve/peer-evaluation/  [Accessed May 23, 2023].
  5. “Alternative to Traditional Testing”, Center for Teaching & Learning, University of California Berkley, https://teaching.berkeley.edu/resources/course-design-guide/design-effective-assessments/alternatives-traditional-testing [Accessed July 21, 2023].
  6. J. Domínguez Saenz-de-Navarrete, L. de-Marcos, L. Fernández-Sanz, C.A, Pagés, and J.J. Martínez-Herráiz, “Gamifying learning experiences: Practical implications and outcomes,” Computers & Education, 380–392. https://www.sciencedirect.com/science/article/pii/S0360131513000031 (accessed August 3, 2023)
  7. Villareale, J., F. Biemer, C., Seif El-Nasr, M., & Zhu, J. (2020, September). Reflection in game-based learning: A survey of programming games. In Proceedings of the 15th International Conference on the Foundations of Digital Games (pp. 1-9). https://dl.acm.org/doi/abs/10.1145/3402942.3403011 (accessed September 3, 2023)
  8. Ragonis, N. and Hazzan, O. “Reflection Pre-learning in Computer Science Courses”, Communications of the ACM BLOG@ACM, January 2022, https://cacm.acm.org/blogs/blog-cacm/258361-reflection-pre-learning-in-computer-science-courses/fulltext, (accessed September 4, 2023)

Photo of author, second from right, and students used by permission