Active Learning Strategies in CS


Active Learning is a term that is almost used generically when we discuss educational interventions. McConnell (1996) defined active learning in the computer science classroom as approaches that “…get students involved in activity in the classroom rather than passively listening to a lecture. Kramer and Nicoletti (2023) note in an article discussing the positive impacts of an active learning approach in the mathematics classroom that it also allows students to “work together to solve problems and explain ideas to each other. Active learning is about understanding the “why” behind a subject versus merely trying to memorize it… [However] a vexing challenge in calculus instruction – and across the STEM disciplines – is broad adoption of active learning strategies that work.”

Mahavongtrakul (2019) describes how the jigsaw method was used in an Introduction to Computer Architecture course. Students learn parts of the material in small groups, and then these different groups are mixed so that there is one person that learned each piece in a new group.

In an introductory computer science course, the following active learning activities were piloted  (2020) with positive outcomes:

Linked Lists (“Scavenger Hunt”). Students participate in a “scavenger hunt” around the lab. Students begin with a paper note with a location written on one side and a clue written on the other side. The location represents the contents of the linked list node, and the clue represents the pointer, which gives a hint to where the next note is located. The last note contains the clue “NULL” to specify that it is the end of the list. Afterward, students hold the paper notes and physically simulate different linked list operations, such as inserting a node into the middle of a list and deleting nodes in different positions. The peer mentor then draws out an ArrayList. The participants compare and contrast both list data structures in a wrap-up discussion.

Stacks and Queues (“Serving Pancakes”). The peer mentor begins with a review of terms. Then the class simulates a queue by lining up to be served from a stack of paper “pancakes.” Students are then divided into small groups to discuss and write pseudocode for how objects (student and pancake) would use stack or queue data structures. Additional prompts are presented, such as how to get to the pancake at the bottom of a stack. A discussion compares stacks and queues with other data structures (e.g., arrays and lists).

Recursion (“Russian Dolls”).The peer mentor reviews a math factorial example before moving into an analogy of nested Russian dolls. Students are asked how the total number of dolls could be counted, or how to determine if a doll of a certain color exists within the set. In small groups, students write pseudocode for recursive methods; the peer mentor circulates to answer questions before groups explain their pseudocodes.

Binary Trees (“Storytelling”).The peer mentor explains binary trees and the different ways they can be created, then introduces a storytelling activity. Participants tell a chronological story by numbering sentences, each depicting a story event, and placing them in a binary tree structure; the root node is the “present,” the left node is the “past,” and the right node is the “future.” The activity first creates a balanced binary tree, before participants create an unbalanced binary tree where are there no left nodes, so they can address insertion and traversal.

Program Design (“Let’s Build a Museum”). The aim is to demonstrate how one program can be designed in several different ways using a museum curation analogy. Participants sort through a list of items that may be exhibited in a museum and group them via appropriate exhibits: Individual display pieces are variables; exhibits represent classes; and sub-exhibits (such as “airplanes” within “transportation”) represent inheritance or interfaces. Students work as a whole class, then in smaller groups, and then the peer mentor facilitates a wrap-up discussion.

Mergesort (“Automotive Sorting”). Participants work with a simulation involving numbered toy cars that can change lanes on a multi-lane highway. The peer mentor demonstrates how lane changes can represent the splits and merges in the mergesort algorithm before each student takes control of a car, and the class works together to order the cars on the highway. The class then practices with pseudocode to examine the recursive nature of the algorithm before discussing common mistakes and debugging strategies.

If you would like to discuss ways to integrate more active learning strategies in your classroom, please contact me.

Educause recently released a white paper on the 7 Things You Should Know About Generative AI: 
https://er.educause.edu/articles/2023/12/7-things-you-should-know-about-generative-ai

The white paper is a brief primer that discusses the pros and cons of using generative AI in the classroom, as well as the implications of use for faculty and students

Trying Something New In Your Course

Here are a few ideas to consider when trying something new adapted from Tips for Teachers.

Can I improve something I am already doing? 

Before looking to make wholesale changes to your teaching, based on your reflections, identify practices you already do and look for ways to improve them. This should take less time and effort and give you a platform of success upon which to make further changes in the future. For example:

Instead of several worked examples that you have to whiz through, choose one or two that you have thought carefully about. Spend time going through them. Consider modelling them in silence first, and then using carefully considered self-explanation prompts/questions to give students a better opportunity to understand the process.

How will I know if the idea works? 

How are you going to know if the idea has been a success or not? The more objective the measure, the better. For example:

If you are looking to boost your participation ratio by using tools like (Top Hat or PlayPosit), track the number of times you see responses from all students.

What will I have to stop doing? 

This is the question that gets asked the least, and yet is so important. Trying something new may mean you have to no longer do something else. This plays out in two ways: A new idea in the classroom may mean you have less lesson time to do something else. Is that a sacrifice worth making? Planning a new idea may mean you have less planning time to work on something else. Is that a sacrifice worth making?

Quick Tip: End of Semester Planning

The following are a few ideas adapted from the SUNY Teaching and Learning center, that may help you prepare for the Spring semester, and/or update your teaching portfolio:

Keep a copy of your syllabus and each assignment you design

Your teaching portfolio may include a range of syllabi and assignments you’ve designed. Make sure you keep a copy of syllabi, assignments, and assessments so that you have as many options as possible to choose from for your teaching portfolio. As the semester ends, you might make small notes about the genesis of a certain syllabus theme or assessment. These brief notes may prove useful later when you are asked to talk about your approach to teaching or ways you have developed as an instructor.

Is there an article?

Think about the larger impact of practices from your courses this semester. Did you try something new: a new assignment? A new classroom design? Reflect on your pedagogical practices and what new learning experiences they opened up. Is there something you want to write about and share with other instructors?

There are several journals geared toward articles about pedagogical practices, including the International Journal of Designs for Learning https://scholarworks.iu.edu/journals/index.php/ijdl/index

Think about revision

It’s possible that you might teach this course again or a course in which you’ll use similar activities or assignments. Even if you don’t think you’ll teach this course in the next semester, take a few minutes to think about what you want to keep, what you want to revise and keep, and what you want to toss totally when you teach the course again.

If you annotated your syllabus throughout the semester, then read through those notes and make a ‘to do’ list or a quick summary of them so that, when you return to planning, you have some guidelines for how to jump back in.

If you didn’t annotate your syllabus, take a few minutes to jot down a few notes about what readings, assignments, and so forth that you absolutely want to keep, or what new ideas you have that you want to try next time. Think about the feedback you received from students through both formal and informal evaluations. How can you incorporate this feedback into your next class?

A small pocket of time at the end of the semester can help you get ahead for the next semester.

Record of grades & attendance

Students may come to you a semester, a year, or even a couple of years after you’ve had them in your class. You’ll likely have engaged with dozens or hundreds of students since then, and the records you keep will be helpful in refreshing your memory.

Consider keeping any of the following that are not stored in Canvas:

  • any unreturned papers (such as final exams, final papers, etc)

  • your attendance records

  • course syllabus, grading policy documents, and all rubrics and assignments

  • student emails (you don’t need to print them, but perhaps keep them in a mailbox folder)

Sample Papers and Standout Examples

You might want to keep a few papers on hand as examples to share with a class or models that you can work through, critique or peer review with future students. Make sure you get each student’s permission and preference for name/no name on the paper. You might consider sending out an announcement or including on your syllabus that all work that is submitted can be used anonymously for “future educational purposes,” and asking that students who wish to be excluded from this policy email you. Additionally, if there are standout examples you might want to keep them for your teaching portfolio.

As always, please let me know if I can support you in any of the efforts mentioned above.

Teach AI

TeachAI is an educational resource designed to help education leaders and their communities realize the potential benefits of artificial intelligence (AI) while addressing the potential risks. While the site is primarily aimed at K-12 educators, it integrates resources specific to higher education, such as Strategies for Teaching Well When Students Have Access to Artificial Intelligence (AI) Generation Tools from George Mason University. The site features a toolkit which aims to:

  • Create a vision statement or set of principles and beliefs.

  • Integrate AI guidance into academic integrity, privacy, and responsible use policies.

  • Inform classroom practice, school policies, and professional development.

The toolkit addresses seven principles for using AI in education:

  1. Purpose: Use AI to help all students achieve educational goals.

  2. Compliance: Reaffirm adherence to existing policies.

  3. Knowledge: Promote AI literacy.

  4. Balance: Realize the benefits of AI and address the risks.

  5. Integrity: Advance academic integrity.

  6. Agency: Maintain human decision-making when using AI.

  7. Evaluation: Regularly assess the impacts of AI.

With the goals of emphasizing the following:

  • Guidance Leads to Transformation: Guidance and policies coupled with organizational learning can set the stage for improvement and transformation across the system.

  • Don’t Ban AI, #TeachAI: The AI Guidance for Schools Toolkit aids education systems in a thoughtful transition to guiding the safe, effective, and responsible use of AI.

  • Realize the Benefits and Address the Risks: Rather than just acknowledge the opportunities and risks of AI in education, the toolkit provides suggestions for mitigating risks so potential benefits can also be realized.

The Steering Committee that sets the vision and strategy for TeachAI is staffed and operated by Code.org, in collaboration with the Educational Testing Service, the International Society for Technology in Education, Khan Academy, and the World Economic Forum.  While the Advisory Committee consists of individual, organizational partners, and supporters from academia,

Teaching Workload Planner

This customizable Teaching Workload Planner was designed by Loleen Berdahl, the executive director of the Johnson Shoyama Graduate School of Public Policy (Universities of Saskatchewan and Regina) to help faculty work through a personal plan for navigating their teaching load.

This document provides a list of considerations for planning out your teaching workload by dividing task amongst two categories; “Things within my personal control” and “Opportunities to streamline my workload”. Embedded within the document are resources such as a: