1
Problem-based learning (PBL)
Problem-based learning (PBL) can be
understood as a learning method or in some cases as broader approach to
learning
(Schmidt 1983) that supports social constructivist (Vygotsky 1978;
Gunstone 2002) and experiential learning theories (Dewey 1953 and 1991;
Kolb 1984). PBL has been widely used in medical sciences ever since
1960’s (Norman 2002). Since then it has been used in many other
disciplines, as well, for example, in law and business schools (Huey
2001) and natural sciences (Williams 2001).
Studying consists of group
meetings and self-directed learning. Students are divided into small
groups (5
– 8 students) that are given a case or a problem related to some course
topic. The case/problem triggers discussion about the subject and
therefore triggers learning process. Based on discussion, students
brainstorm for a while to make it clear what they already know about
the subject and what they still need to learn to better understand the
case/problem. Therefore the meaning of brainstorm is that students can
identify what they already know about the subject and where are the
gaps in their knowledge. After brainstorming the students set
learning goals for themselves. These steps are done in an opening
session, which is followed by self-directed learning. During the self
directed learning each student studies to meet the agreed learning
goals. They can use whatever learning method they wish. Thereafter the
group meets again for the closing session where the students discuss
about what they have learned. They try to make a synthesis of all
knowledge they have and thus try to better understand the case/problem.
After the group has closed the case/problem they get a new case.
More precise
description of the group meeting procedure (7 step method) is below.
A tutor is present at group meetings to help
students with the learning process. However, his/her role is rather a
facilitator and a domain expert than a teacher. Tutor is not expected
to lecture or teach but facilitate group meeting, for example, by asking
questions/comments that gives students more fruitful direction to talk
about.
Tutor's
tasks can be defined as follows:
- actively observe the group
- help students with group dynamic issues if needed
- help students with domain issues if needed
- help students to get familiar with PBL type of learning
The function of problems/cases is to give
a
starting point and motivation to learning process. The idea is to use
true-life problems/cases that simulates situations that a professional
might run into his/hers work. This authenticity helps students to see
why
it is important to acquire new information and thus motivates them to
study. Problem/case can be represented in many forms e.g. short texts,
pictures or video clips.
7-step method
Opening
session:
- Examination of the case. The group gets familiar with the case
material.
- Identification of the problem.
An initial title for the case is specified.
- Brainstorming. The students
present their association and ideas about the problem to find out what
is already known and how does the case
relate to their previous knowledge. The
ideas are said aloud and written on self-stick notes, which are
organized on a white board.
- Sketching of an explanatory model.
An initial version of the explanation for the problem is constructed
and most important concepts and their relations are
identified.
- Establishing the learning goals.
Those parts of explanatory model that are mysterious, fuzzy, or simply
unknown are identified and
the
central ones are chosen as learning goals for the group.
Study
period:
- Independent studying.
Each
student studies independently to accomplish all learning goals.
This
phase includes information gathering
and usually a substantial amount of
reading.
Closing
session:
- Discussion about learned
materials. Equipped with
newly acquired knowledge, the group reconvenes to discuss the case. The
discussion
includes explanation
of central concepts and mechanisms, analysis of the material and
evaluation of its validity and
importance.
(Schmidt 1983; Nuutila,
Törmä and Malmi unpublished manuscript)
Modified
PBL
Background
Problem-Based Learning (PBL) has been
applied on basic course in programming course for several years
at
Helsinki University of Technology (Nuutila, Törmä & Malmi
2000). According to our observation students in PBL groups have been
motivated
and have gained good learning results. Encouraged by these experiences
we
launched a new variation of PBL (Kinnunen and Malmi, 2002) where
tutors’ role was radically reduced and thus less resource was needed.
These modifications were launched to investigate how students could
cope with reduced tutor resources and still get the benefit of PBL
method. If students could cope with this change, we could apply the PBL
method to larger scale (400 - 500 student) courses, too.
Modified version of PBL was applied on T-106.213 Basic course in
programming L1 and T-106.216 Basic course in programming Y1 during
years 2001- 2002 altogether three times. L1 and Y1 courses
are parallel courses so that L1 is an autumn semester course and Y1 is
spring semester course. Both courses are 5 cr (approximately 200
hours) and they consist of programming exercises, programming project
and an exam. Lectures are available but voluntary. The goal of the
course is: course initiates the student into the core concepts and
methods of object-oriented computer programming, using the Java
programming language. After passing the course, the students should be
able to autonomously expand their knowledge of programming and Java.
During 2001-2003 83 volunteer students took part of basic course in
programming where modified version of PBL was used. One extra cr was
given to the students that participated to the PBL sessions (8 - 10
times/course).
Modified
version
of PBL: tutorless PBL
Usually there is a tutor present
during every opening and closing session. In our modified PBL version
groups had a tutor present
only during the first two opening sessions and the first closing
session.
Primarily tutor’s role was to help students to get familiar with the
PBL method and help them to get started. After those two meetings the
groups met without the tutor. However, students had an opportunity to
meet the tutor once a
week for an hour so that they could sort out any problems they had
encountered during the group meeting or self-directed learning.
Examples
of problems/cases
Adventure game
Adventure game is one classic type
of computer games. For example Adventure Nethack, Ultima and King's Quest
are adventure games.
An adventure game consists of world that divides itself into
finite number of different kinds of ares (e.g. countries, cities,
rooms). There are passages through which one can move from one
area to the other. In the area there can be items (e.g. books, keys,
jewelry, food, guns) that can be treated differently. One can: ask
items
about their quality, take them along, consume them ... In the word
there is a group of creatures. One creature represents the player and
the player can control that creatures actions. Other creatures can be
either friendly or hostile. They can do different things and one can
ask them about different matters. The goal of the game can be
e.g. to increase fortune and/or glory or to get to the certain place.
Design simple game scenario where you define adventure game's world
(areas, items and functions) and the goal of the game. Define also what
kind of classes there should be and what kind of characteristic,
relationships and functions instances of classes have. Draw a chart
that clarifies your plan.
In your plan you do not have to call attention to user interface,
graphic or real-time. Good structure of the game world is essential.
On line bookstore
Design a way to store information
about items on sale and a way to handle customers' shopping carts on on
line bookstore. You do not know the size of the product range or the
quantity of customers purchases beforehand. It must be possible to
search products by the title, author or ISBN number. It must also be
possible to represent the products in alphabetical order according the
authors name.
What kinds of objects, classes and
methods you need if you execute this kind of system with Java? How can
you use Java's API classes (e.g. how could you use API classes to
handle collections)?
Scuttle the boat
Design one player Scuttle the boat
game and it's implementation using Java. Consider following questions:
- How the game proceeds? Who does what and when?
- What kind of user interface game has?
- How game's state is presented (classes, collections ...)?
- How user interface could be executed using Swing?