I
knew early in my academic life that students would learn very little from
listening to me lecture. I spent a lot of my energy creating programming
assignments that would give students glimpses into the exciting world of
software development. Yet, despite my best intentions, I found that my students
were not really interested in what I had to say.
My
solution to the challenge of getting students interested in the course material
was to build a course that would engage and inspire students. As a result, I
decided to begin redesigning my courses utilizing three key strategies:
project-based learning, active learning, and gamification. I was not skilled
enough to add these all at once, but over the years I began to include elements
of each in the courses I created.
Project-Based Learning
I
began my journey of making my courses more engaging by first starting with
project-based learning (PBL). In its simplest form PBL is an instructional
strategy where students learn by working on meaningful, real-world projects.
PBL is a teaching method in which students acquire skills and knowledge through
the process of investigating a complex question, problem, or challenge over a
significant period of time.
I
incorporated PBL in my lower level classes by having students work on projects
in pairs, but I quickly realized that was not really project-based learning. In
my upper level courses, students had more experience and better problem solving
skills so they could tackle more meaningful problems.
I
prefer to assign different projects to each team of four students. For term
projects requiring two months or more to complete, I ask students to identify a
project of their own to tackle. Grading the oral presentations and
demonstrations of these projects is certainly not boring for me. To keep the
rest of the class interested in watching other student presentations, I usually
involve them in either formative peer review of the design artifacts or peer
evaluation of the final products.
In
my senior design classes I am able to go one step farther and have students
work on projects for clients outside the university. This lends an air of
authenticity to the project work completed. Students work harder when they know
they will need to present their project work publicly. In my project classes we
celebrate final project presentations with pizza. Project-based learning is a
great way to organize homework assignments but was not helping me work out the
problem of keeping students engaged during class.
Active Learning
About
five years ago I became involved with a multi university project whose goal was
to create an active learning community focused on software engineering
education. I attended a summer workshop in Pittsburgh, and it changed my
teaching philosophy forever. It was simple: if you want students to be engaged
give them something fun or meaningful to do in class besides listen to lectures
and take notes.
I
had always been leery of flipped classrooms, because I feared that students
would arrive unprepared for the day’s activities. Eventually I decided to begin
each class with a short introduction to the topic (20 minutes or less in a two
or three hour class) and have students write (for a grade) critical reflections
on the assigned textbook readings that formed a basis for the day’s class
activities. Cutting my carefully crafted lectures, honed over several years,
was a painful process. But it worked. Students realized I was telling them
things they would need to know very soon, and they listened.
The
activities I use in class take many different forms: games (board, card, dice,
computer), roleplay, simulations, software engineering tools, case studies,
trigger videos, group problem solving, scaffolded design activities, ethics
debates, and oral presentations. Student groups, regardless of their engaged
activities, are expected to share their results with the whole class. Each
class period ends with a class debriefing discussion. The students love doing
the activities! With active learning I felt like I was beginning to make
headway with student engagement during class. This was confirmed by
observational data I collected for a full semester in two different classes.
A
concern many instructors have with group projects is how to evaluate the
contribution of each member of a team toward the final project grade. One way I
have addressed this is to have students evaluate each person’s contribution to
the final product with a numeric score (0 to 5) and provide a list of the
activities completed by each. I have also made use of timecards which focus on
concrete milestones delivered by each person to the final product. The
timecards allow students to focus on different skills (such as game art or
programming) needed to complete the project. This led me to explore the use of
gamification as a form of personalized learning.
Gamification
Gamification,
or the use of game design elements in
non-game settings can be quite effective in increasing student motivation and
attention to task. Good games provide players with the information they need
within the context in which the information will be used. Good games constantly
challenge players to work at the edge of their knowledge and abilities. This
helps to keep students engaged and eager to learn what they need for the next
challenge. These are lofty goals to accomplish in any classroom as I am still
trying to better gamify my courses.
If
you are interested in gamification there are some simple elements you can play
with such as leader boards and badging. Leader boards help students to track
their progress to earn a specific grade. Leader boards encourage friendly
competition. Badges can be used to reward extra effort on boring tasks. One key
to gamified learning is including both required and optional activities
students can use to earn their course grade. The optional activities can be
used to allow students to customize their completion of a course.
Finally,
trying to involve online students in the types of activities I have been doing
in my classes has been challenging, but it is possible. I often scale my class
activities to make it possible for students to do them at home, working by
themselves. I also make sure that project teams include both in-class and
distance-learning students. I am still working on better ways to engage online
students.
What
are you working on? If you have suggestions, please feel free to share them
with me. I am always eager to learn new things.