Recent surveys4,10 indicate that employers seek candidates with broad “professional” skills in communication, teamwork, information processing, critical thinking, and problem solving. At the same time, faculty often feel pressure to “cover” more course content and feel there is not enough time for students to learn key concepts and also develop these skills. Faculty also feel students are disengaged, do not ask or answer questions, and struggle to think critically and solve problems. What more could faculty do to help students engage in the classroom, master content, and develop important skills?
Imagine a classroom where student teams actively collaborate to process information; think critically about problems; identify and evaluate possible solutions; and share insights and questions with each other. This starts on the first day of my first CS course, when students with no programming experience use a number-guessing game to develop key ideas in algorithm complexity analysis (see description in Simon et al.11). This continues through advanced courses such as artificial intelligence and programming languages. A graduate noted this approach “actually prepared me with hands-on experience in performing tasks that I was immediately required to complete when I began my job. The practice … gave me a noticeable edge during my internship that led to me being hired.”
The ICAP (Interactive, Constructive, Active, and Passive) framework1 describes how learning outcomes improve as students progress from passive to active to constructive (generate understanding) to interactive (discuss with peers). In recent decades, faculty have developed instructional approaches that build on educational research and help students to interact, construct understanding, and develop important skills. These approaches include Case-Based Learning, Pair Programming, Peer Instruction, Peer-Led Team Learning, Problem-Based Learning, Project-Based Learning, and Process Oriented Guided Inquiry Learning (POGIL) (for overviews, see Eberlein et al.2 and Simon et al.11).
POGIL focuses on how students learn by emphasizing skills and the process of learning (the “process oriented” in POGIL) as well as specific concepts and content.9,12 In a POGIL classroom, students interact in teams (typically 3–5) to work through an activity together, discuss each question, and ensure that team members understand and agree on each answer. Each team member has a role that focuses on specific skills, and the roles rotate each class to help each student practice all of the skills. For example, the manager keeps track of time and encourages all team members to participate, the recorder takes notes for the team on key concepts and insights, and the presenter shares the team’s conclusions with other teams and the teacher. The instructor is not a lecturer, but an active facilitator, who observes teams, prompts members to focus on their roles, responds to questions that a team cannot resolve, and leads classroom discussion, usually based on key questions in the activity.
Each POGIL activity is specifically designed with models (for example, code, diagrams, graphs, tables), each followed by a sequence of questions to guide student to construct understanding (the “guided inquiry” in POGIL). For example, Figure 1 shows part A of a CS1 activity on coding style in the Python language. (Sample answers are shown in blue italics.) Question 1 prompts the team to explore two code snippets (X and Y), notice differences, discuss, and decide which is better. For many students these answers are not obvious and so at first they might disagree, but after discussion most teams reach consensus. Question 2 prompts them to discuss and invent general insights and advice. Thus, each team will consider their answers to Q1, develop insights, and express them clearly. Question 3 introduces a new term (“self-documenting code”) and prompts teams to connect it to their insights in Q2. Question 4 prompts teams to apply these insights to a new, longer code snippet. Again, team members might disagree at first, but will usually reach consensus. Thus, as teams work on the activity, they process information, think critically and solve problems, and communicate with their team, the instructor, and the entire class.
Figure 1. Excerpt of Process Oriented Guided Inquiry Learning (POGIL) activity on Python style.
Most POGIL activities have several of these Explore-Invent-Apply (EIA) learning cycles. For example, in the Python style activity, the EIA cycle repeats in part B with code snippets that involve function names, and in part C with comments. Similar structures are used for other syntax elements, and more complex examples, depending on the course and level of student experience. Other activities use longer code samples, and guide students to identify and correct defects, refactor and extend the code, or analyze algorithmic complexity. Activities can use many other models: a table of storage device size and access time (memory hierarchy); a recipe to bake cookies (project scheduling); normal magic squares and eight tile puzzles (search strategies); and equations (neural networks and genetic algorithms). As students gain skills and content knowledge, they are able to explore more complex models with less guidance, invent more complex ideas, and apply their insights to larger and more abstract problems.
While the teams work, the instructor walks around the classroom to observe, and ask questions such as “What differences do you see between the two snippets?”, “Does everyone on your team agree with this answer?”, or “Could you rewrite your insight as a complete sentence?”. At the same time, the instructor learns what their students know (and don’t know), and how to revise the activity to better guide student learning. After most teams have answered Q2, the instructor might ask a few teams to report their answers to the class, so all teams can check their work. Students who hesitate to share their own answers are often eager to share their team’s answers. The instructor might ask a few teams to write their answers to Q4 on the board or share them electronically, and then moderate a short discussion of any differences in answers. After teams complete the activity, the instructor spends a few minutes to emphasize key ideas, and prompts teams to reflect on what they learned, how they worked as a team, and how they might improve in the future. A homework assignment might prompt students (individually, in pairs, or in teams) to apply good coding style to their own code, or to an example provided by the instructor.
Research on POGIL in other disciplines (for example, Farrell3, Moog8) generally finds that, compared to traditional approaches, student attrition is lower, content mastery is greater, and students have more positive attitudes. In one study,13 on the first day of Organic Chemistry II, students took an unannounced quiz on content from Organic I. Students from the POGIL section of Organic I did dramatically better than those from the lecture section, although the quiz was written by the lecture instructor. There are fewer studies of POGIL in computer science, but results are encouraging. After converting a CS1 course to POGIL, pass rates increased for females but not males.6 In a software project course, POGIL activities helped students to understand the importance of communication in real software projects.7 In a survey (summarized in Figure 2), CS POGIL instructors reported that students were more active and engaged, understood concepts better, and were better at teamwork, communication, and critical thinking.5
Figure 2. CS faculty (n=26) perceptions of POGIL effectiveness.
Thus, POGIL can both improve student learning outcomes and develop key skills. POGIL has been used across STEM disciplines in secondary and post-secondary settings. The POGIL Project (see http://pogil.org) reviews and endorses POGIL activities, and offers an extensive series of workshops on classroom facilitation, activity authoring, and related topics. The U.S. National Science Foundation has funded numerous projects to support POGIL, including several focused on computing disciplines. To learn more about POGIL activities for a range of computing topics, see http://cspogil.org.
Join the Discussion (0)
Become a Member or Sign In to Post a Comment