SIGCSE-07, Covington, KY

Digital Support for Abductive Learning
in Introductory Computing Courses
Atanas Radenski
Chapman University
Orange, CA 92866, U.S.A.
[email protected]
Abductive Learning: Rationale

Today, the textbook market offers a wide variety of
high-quality CS1/2 textbooks.


These books are developed by talented computer science
educators who employ their multifaceted experiences to
motivate and support student learning.
Yet, there are reports that textbook popularity among
teachers and students alike may be declining.
March 08, 2007
SIGCSE-07, Covington, Kentucky
2
Abductive Learning: Rationale

A recent survey - conducted in six European
universities in five countries - reveals that students
and teachers alike give low ratings to textbooks
[Lahtinen et al., ITiCSE'05].

The same survey gives highest ratings to example programs.
Resource and Their Ratings (1-5)
By Students
By Teachers
Textbooks
3.35
3.30
Lecture notes and printed slides
3.39
3.47
Exercise questions & answers
3.33
3.62
Example programs
4.19
4.24
Pictures of program structures
3.15
3.70
Interactive Visualizations
3.33
4.07
March 08, 2007
SIGCSE-07, Covington, Kentucky
3
Abductive Learning: Rationale

In our own surveys [Radenski, ITiCSE'06] conducted
three times at Chapman University in California since
2004, CS1/2 students consistently rate paper
textbooks among the least helpful resources.

Our students identify sample programs as most beneficial,
exactly as European students do.
March 08, 2007
SIGCSE-07, Covington, Kentucky
4
Abductive Learning: Rationale

In various forums, CS educators informally express
their concerns about the increasing unwillingness of
students to systematically read textbooks.

For example, the following message was sent by computer
science professor to the SIGSE mailing list in April 2006:

"Alas, I find that one of the biggest challenges is the increasing
inability (or willingness) of students to read. Witness my Alice
lab this semester where a student looked at a page in the
textbook (only half a page of text, since the top half was a
picture, and large print at that), sighed, and said 'I'm just going
to muddle through with the software because I don't have the
patience to read these [ed: 4 or 5] sentences'."
March 08, 2007
SIGCSE-07, Covington, Kentucky
5
Abductive Learning: Rationale

I believe that low ratings of textbooks can be caused
by discrepancies between:



the teaching preferences of textbook authors and instructors
on one end, and
the learning preferences of students on the other.
While textbooks often focus extensively on general
concepts and paradigms, entry-level computing
students normally prefer to learn by concrete
examples and experiments.
March 08, 2007
SIGCSE-07, Covington, Kentucky
6
Abductive Learning: Rationale

For instance, many computing textbooks lead
instructors to emphasize abstraction early in their
classes, whereas beginning computing students often
fail to connect to abstract concepts.

This issue is illustrated by the following message posted by
an educator in the SIGSE mailing list.


"Increasingly I find [that] student's [sic] ability to understand,
let alone write, even slightly abstract statements of any kind
about programs is seriously deficient. All that many can relate
to is numerous examples of program behavior."
Some educators even question students' willingness and
ability to reason about the subject matter [SIGSE mailing
list, 2006].
March 08, 2007
SIGCSE-07, Covington, Kentucky
7
Abductive Learning: Rationale


I believe that contemporary computing students do
reason as well as we - their professors - do, but in a
different way, as advocated in the rest of this talk.
We, the academics, by virtue of our profession, are
masters of sound deduction.


Deduction is a reasoning process that involves the inference
of conclusions from general premises.
Because many of us are at our best when we derive
the specific from the general, we like to read and
learn this way, and we often choose to write
textbooks and to teach this way.
March 08, 2007
SIGCSE-07, Covington, Kentucky
8
Abductive Learning: Rationale


Contemporary computing students grew up browsing
and reading on the Web rather than reading paper
books alone.
On the Web, our students have learned:





to
to
to
to
surf rapidly from one piece of information to another,
correlate a variety of observations,
search useful facts quickly, and
make relevant conclusions.
Contemporary students are particularly capable of
abduction.

Abduction is a reasoning process that starts with a set of
observations and then generates the best possible
explanation of those observations.
March 08, 2007
SIGCSE-07, Covington, Kentucky
9
Abductive Learning: Rationale


Abduction and induction are distinct forms of
probable inference that have been initially studied by
Charles Sanders Peirce in the 19th century.
In the computer age, abduction has been explored by
philosophers and artificial intelligence researchers.
March 08, 2007
SIGCSE-07, Covington, Kentucky
10
Abductive Learning: Rationale

While induction is typically used to generate
predictions, abduction is used to generate
explanations [Bell, JCAI'97].



Example of induction: The sun rose today, yesterday, the
day before yesterday, etc., therefore the sun will rise
tomorrow as well.
Example of abduction: The sun rose today, yesterday, the
day before yesterday, etc., because the earth rotates around
its pivot.
Pierce advocated that abduction is the main method
for generating new knowledge.
March 08, 2007
SIGCSE-07, Covington, Kentucky
11
Abductive Learning: Rationale

Abductive reasoning occurs naturally in most
disciplines.

For example, abductive reasoning in a computing class may:




begin with the study of a sample program then
continue with some experimental changes to the program, and
finally
generate plausible explanations of various algorithmic and
linguistic program features.
When a computing student says “I will figure it out by
myself”, he is likely to apply abductive reasoning:


by first browsing through concrete samples and then
finding the best possible explanation for what has been
observed.
March 08, 2007
SIGCSE-07, Covington, Kentucky
12
Abductive Learning: Rationale

I use the general term abductive learning to refer to
any form of active learning that triggers abductive
reasoning.


Recall that abductive reasoning generates the best possible
explanation of a set of observations.
Consequently, abductive reasoning is a learning process by
itself because students actually learn the generated
explanations.
March 08, 2007
SIGCSE-07, Covington, Kentucky
13
Abductive Learning: Implementation

As educators, we do not have the ability to change
the reasoning and learning preferences of entry-level
computing students, but we can adapt to, and exploit
these preferences.
March 08, 2007
SIGCSE-07, Covington, Kentucky
14
Abductive Learning: Implementation


In order to adapt to, and
exploit the abduction
skills of entry-level
computing students, I
have developed
integrated CS1/2 online
study packs that support
abductive learning.
The digital packs are
published on a dedicated
server at studypack.com.
March 08, 2007
SIGCSE-07, Covington, Kentucky
15
Abductive Learning: Implementation

I am among those who advocate the benefits of two
different languages for CS1 and CS2 [Radenski,
ITiCSE'06].


I have chosen Python for CS1 because it is simple to learn
and because it offers an easy-to-use interactive mode that
effectively promotes abductive learning.
I have chosen Java for CS2 because it is a mainstream
commercial language that focuses on large scale OO
software development.
March 08, 2007
SIGCSE-07, Covington, Kentucky
16
Abductive Learning: Implementation

A digital study pack is all-in-one integrated resource,
a collection of online topics.
This is a
snapshot of
the Graphics
topic from
the Java
study pack.
March 08, 2007
SIGCSE-07, Covington, Kentucky
17
Abductive Learning: Implementation

A typical topic consists of e-text / tutorial, slides, lab
assignment, report, and quiz.
This is a snapshot of the
e-text on Classes from
the Python study pack.
An e-text in a study pack
is the digital equivalent
of a paper book chapter.
March 08, 2007
SIGCSE-07, Covington, Kentucky
18
Abductive Learning: Implementation

The lab assignment
for each topic
consists of a number
of detailed selfguided labs.

Self-guided labs are
based on instructive
sample programs.
The Python pack
includes 62 labs,
while the Java pack
incorporates 41 labs.
Completed labs are submitted
online into the digital pack.
March 08, 2007
SIGCSE-07, Covington, Kentucky
19
Abductive Learning: Implementation

Self-guided labs contain sufficient details to allow
most students to work independently.
Self-guided labs incorporate
(1) necessary background
information and (2) detailed
sequences of instructions
that walk students step-bystep through program
exploration and
development.
March 08, 2007
SIGCSE-07, Covington, Kentucky
20
Abductive Learning: Implementation

By design, Python supports a
highly interactive programming
style that gives students a great
opportunity to learn through
interactive experiments and
exploration.
In Python's interactive mode, students can type various
statements and immediately observe and analyze the results
from the execution.
March 08, 2007
SIGCSE-07, Covington, Kentucky
21
Abductive Learning: Implementation

Interactive labs trigger abduction
in a straightforward way.
Students observe each statement as
they type it and then analyze the
result of its execution.
When necessary, students browse and search digital
resources included in the pack, such as e-texts and slides.
While students experiment interactively, they generate
plausible explanations of the form, meaning, and purpose of
individual interactive statements.
March 08, 2007
SIGCSE-07, Covington, Kentucky
22
Abductive Learning: Implementation

By design, Java is less
interactive than Python. Yet,
many Java IDEs support
interactive exploration.
DrJava's interactive mode is very
similar, visually and functionally, to
the interactive mode of Python.
This similarity helps for a smooth
transition from the CS1's Python to
the CS2's Java.
March 08, 2007
SIGCSE-07, Covington, Kentucky
23
Abductive Learning: Implementation

Sample programs are designed to demonstrate new
concepts or techniques.
For example, the Transform Sequence
sample program demonstrates the
Java 2D Graphics translation transform
by drawing a sequence of rectangles.
March 08, 2007
SIGCSE-07, Covington, Kentucky
24
Abductive Learning: Implementation

Non-interactive self-guided labs
are based on sample programs.
A typical self-guided lab instructs the
student to explore and experiment
with the sample program.
After exploration, the lab calls for a
transformation of the sample program
into a target program.
Students are free to follow the
detailed step-by-step instructions or
to try the lab independently.
March 08, 2007
SIGCSE-07, Covington, Kentucky
25
Abductive Learning: Implementation

Non-interactive labs trigger
abductive reasoning by drawing
parallels between sample programs
and target programs.
The study of programs in transition, from
samples to targets, is a powerful
abductive learning method.
March 08, 2007
SIGCSE-07, Covington, Kentucky
26
Abductive Learning: Implementation

This Java non-interactive lab triggers
abduction by drawing a parallel
between translation and rotation.

The lab teaches students, among other
things, that translation and rotation are
actually specific instances of the more
general transform concept.
March 08, 2007
SIGCSE-07, Covington, Kentucky
27
Abductive Learning: Implementation*

Last, but not least, students naturally
affirm their knowledge of step-wise
program development - by simply
following the recommended lab
steps.
March 08, 2007
SIGCSE-07, Covington, Kentucky
28
Abductive Learning: Implementation
Abductive learning through self-guided labs can be
very stimulating. Students often choose to go
beyond what is required by the lab. For example,
one of our students went beyond the required lab
activities to study constructive area geometry, in
order to produce the stem and the leaves of his
dancing flower.
March 08, 2007
SIGCSE-07, Covington, Kentucky
29
Abductive Learning: Implementation

Students submit completed labs into the online
study pack and receive provisional credit instantly,
upon the completion of an honor lab report.
The receipt of
instant credit for a
completed lab
gives students an
incentive to
enthusiastically
engage in the
next lab.
March 08, 2007
SIGCSE-07, Covington, Kentucky
30
Abductive Learning: Implementation

The study of each topic is completed with an online
quiz which allows multiple submissions.
To improve their scores with
additional quiz submissions,
students search, browse, and
read e-texts, tutorials, and slides.
To find answers to quiz
questions, students experiment
interactively, observe the results,
and try to find the best possible
explanation for what they see.
March 08, 2007
SIGCSE-07, Covington, Kentucky
31
Abductive Learning: Implementation

Note that abductive learning does not eliminate other
forms of learning, such as lectures and reading - it
works in concert with them.


An abducted explanation may be initially imprecise or
incomplete.
It is further refined and corrected through various activities,
such as reading and interaction with the instructor.
Lectures Abductive
& Reading learning
March 08, 2007
SIGCSE-07, Covington, Kentucky
32
Abductive Learning: Evaluation*

In 2004/5, draft versions of Python and Java digital
study packs were adopted in the CS1/2 courses at
Chapman University.

In two years, the failure rate in the CS1/2 courses fell from
14% to 5%.
Academic year
2003/4
2004/5
2005/6
Total enrollment
44
45
74
Passing grades
38
39
70
Non-passing grades
6
6
4
14%
13%
5%
Failure rate
March 08, 2007
SIGCSE-07, Covington, Kentucky
33
Abductive Learning: Evaluation*

In surveys conducted at Chapman University in
2005/06, students give high ratings to the Python
and Java digital study packs and to their components.
Study pack resources / activities
Python
Java
Sample programs
4.7
4.1
The entire online study pack
4.5
4.5
Online lab assignments
4.3
4.5
Online quizzes
3.8
3.5
Printed textbooks (if available)
1.8
2.9
March 08, 2007
SIGCSE-07, Covington, Kentucky
34
Abductive Learning: Evaluation

This is how students from Chapman and Columbus
State evaluated Python & Java packs in Fall of 2006.

Scale is from 1 to 5.
Study pack / Effect
Python
Java
Helps COMPREHENSION
4.4
4.5
Stimulates IMAGINATION
4.2
4.2
Helps build CONFIDENCE
4.2
4.4
Improves SELF-MOTIVATION
4.3
4.4
Increases DESIRE TO LEARN MORE
4.4
4.4
Causes BOREDOM
2.1
2.2
March 08, 2007
SIGCSE-07, Covington, Kentucky
35
Abductive Learning: Evaluation

In early Summer of
2006, the first full
editions of the packs
were published at
http://studypack.com.

Since then, several
instructors at five
institutions have
adopted pack instances
for their 2006/7
courses.
The Python and Java packs can be adapted to various courses.
March 08, 2007
SIGCSE-07, Covington, Kentucky
36
Abductive Learning: Announcements



Preview packs are available to educators at
studypack.com.
A printed companion book Python First: The Joy of
Success will be published in April 2007.
3rd Summer Python Workshop will be held in June
18-21, Chapman University, Orange, California.



Ideas for future work?


Tuition is free, $50 nominal registration fee.
Search Google: Python First Workshop at Chapman.
Abductive learning of Ruby, C/C++, programming in other
languages. Beyond CS: Math, Sciences, and more?
Contact: [email protected].
March 08, 2007
SIGCSE-07, Covington, Kentucky
37
Digital Support for Abductive Learning
in Introductory Computing Courses
Atanas Radenski
Chapman University
Orange, CA 92866, U.S.A.
[email protected]