An Adaptive Theory of Computation Online Course in

An Adaptive Theory of Computation Online Course
in ActiveMath
Eric Andrès
Rudolf Fleischer
MinEr Liang
Centre for e-Learning Technology
Saarland University
Saarbrücken, Germany
[email protected]
School of Computer Science and IIPL
Fudan University
Shanghai, China
[email protected]
Software School
Fudan University
Shanghai, China
michelle [email protected]
Abstract—A standard Theory of Computation course for undergraduates spans three important topics that are at the core of
the computer science (CS) curriculum: automata and languages,
computability, and elementary complexity theory. The level of abstraction makes the course demanding to teach, but also to learn.
The traditional static ”one size fits all” textbook, or e-textbook,
cannot adapt to different students according to their background
knowledge, experience, personal preferences, and learning goals.
In response to these shortcomings, we report on the design and
a prototype implementation of an adaptive e-textbook for the
undergraduate course Theory of Computation in ActiveMath. The
main challenges are to develop an ontology for the core concepts
suitable for the semantic knowledge representation of ActiveMath, which is the basis for the adaptivity, and then to actually
create the course content, i.e., the definitions, theorems, proofs,
examples, exercises, and interactive visualizations according to
the constructivist approach to teach this course.
Index Terms—Theory of Computation Course, Adaptive
Learning, Ontology, ActiveMath, Constructive Approach
I. I NTRODUCTION
With the enormous development and increasing availability
of the Internet, the adoption of web-based learning systems
becomes more likely and realistic. As a result, a number of
systems delivering Technology-Enhanced Learning on the Web
have been developed over the past ten years [4], [2]. One
of them is ActiveMath, a web-based, adaptive learning environment for mathematics [18]. The goal of these interactive
learning environments is to engage the students in sustained
reasoning activities and to interact with them based on a deep
understanding of their behavior and learning progress. If such
systems could realize even half the impact of a human tutor,
the payoff for society might be substantial [7].
In this paper, we report on the design and a prototype
implementation of an e-textbook for the undergraduate course
Theory of Computation in ActiveMath. The main challenges
are to develop an ontology for the core concepts suitable for
the semantic knowledge representation of ActiveMath, which
is the basis for adaptivity, and then to actually create the
course content, i.e., the definitions, theorems, proofs, examples, exercises, and interactive visualizations according to the
constructivist approach to teach this course.
An undergraduate Theory of Computation course usually
spans three important topics that are at the core of the
computer science (CS) curriculum: automata and languages,
c 2010 IEEE
978–1–4244–6005–2/10/$25.00 computability, and elementary complexity theory. The level of
abstraction, i.e., the complexity of the abstract notations and
the required mathematical background [5], makes the course
demanding to teach, but also to learn.
Since students from different backgrounds may have different goals for the course, the traditional way of teaching
along the lines of a certain textbook does not suit all students
equally well. We think it might be better to give the students
access to a personalized e-textbook that can adapt to their
different needs according to different levels of background
knowledge, experience, personal preferences, and learning
goals. ActiveMath provides the right framework to develop
such an adaptive e-textbook.
We are only aware of one other hypertextbook for Theory of
Computation currently being developed by Rocky Ross [23].
However, this textbook is a traditional static ”one size fits
all” e-textbook based on MathML. We are not aware of any
adaptive e-textbook implementations for this course.
The rest of this paper is organized as follows. In Section II,
we describe a typical Theory of Computation course. In Section III, we introduce the adaptive web-based learning platform
ActiveMath which is the basis for the development of our etextbook. In Section IV, we describe in detail our e-textbook
design domain concepts and teaching methodology. We briefly
introduce our prototype implementation in Section V, and we
conclude the paper in Section VI with an outlook to future
work.
II. A T YPICAL T HEORY OF C OMPUTATION C OURSE
At Fudan University, one of the authors (R. Fleischer) has
been teaching Theory of Computation as a 4th year undergraduate course based on the textbook by Michael Sipser [24]
since 2004. In about fifteen weeks, we usually cover the following topics: fundamental language classes (regular, contextfree) and corresponding machine models (finite automata,
pushdown automata, Turing machines), undecidability, and
introduction to complexity theory (NP-completeness, PSPACEcompleteness). First, we introduce finite automata as a very
simple computing model and characterize the languages that
can be decided by these machines, the regular languages. Then
we study the more powerful pushdown automata and their
corresponding languages, the context-free languages. Finally,
ICCSE 2010
we discuss Turing machines as the most powerful machine
model. But we also see the limitations of this model; not
all problems can be solved by a Turing machine. Eventually,
we also discuss efficiency of Turing machines, mainly in the
form of lower bounds, i.e., the theory of NP-completeness and
PSPACE-completeness.
III. ACTIVE M ATH : A N A DAPTIVE W EB - BASED L EARNING
P LATFORM
ActiveMath is a web-based intelligent learning environment
mainly used for teaching mathematics. Its major strength is
that it adapts to the goals and competencies of each individual
student. It has been and is still being developed at the DFKI
at the University of Saarbrücken, Germany, in several major
EU projects. The contents of a course in ActiveMath are
represented as small, re-usable units of knowledge called
Learning Objects (LOs). They are annotated with domainspecific and pedagogic knowledge which enables usage of
AI methods to create a personalized book for each individual
student, depending on various factors as, for example, previous
knowledge, study goals, and learning progress. A student will
then be provided with an e-textbook exactly tailored to her
needs and qualifications, greatly enhancing the learning experience. The system, which provides explanations, visualizations,
interactive exercises, etc., can either be used as a supplement
for a normal course or as a stand-alone self-study tool.
In this section we will explain the semantics knowledge
representation and student model which are the key components in our design and implementation of an e-textbook for
the Theory of Computation course at Fudan.
Fig. 2.
Knowledge representation in ActivMath
representation for mathematical documents, enriched with additional pedagogical metadata and a language for the definition of interactive exercises [11]. LOs can be represented as
fundamental concepts such as definitions and theorems, or as
auxiliary elements supporting these concepts, such as proofs,
proof methods, examples, exercises, motivations, introductions,
and elaborations. In ActiveMath, the LOs are further organized
as layers of content items, see Fig. 2.
Accordingly, the authors write the learning materials according to these content items, and a course generator of
ActiveMath then assembles individual e-textbooks using pedagogical rules.
B. Student Model
Fig. 1.
Screenshot of ActiveMath
A. OMDoc, a Semantic Knowledge Representation
The learning materials in ActiveMath are represented as
a set of related Learning Objects (LOs) rather than as traditional static HTML web pages. A personalized book can
then dynamically be assembled from the LOs, individually
adapted to each learner. The LOs are represented using an
extension of OMDoc [22], a semantic XML-based knowledge
The student model used in ActiveMath combines evidences
and knowledge about pedagogical and domain structure [9].
Its structure is generated from the LO metadata. The student
model dynamically extracts relations and metadata from the
ontology and makes use of their semantics. These, together
with data from exercise interactions, enables the salient student
model to estimate the students’ competencies. It assesses the
skill of a student to perform a given mathematical competency
with respect to a domain concept, e.g., how good the student
can use the competency solve on the concept quadratic
equations. The student model can estimate the proficiency
of a student on eight different competencies [15] for each
concept. For some tasks, this information is too fine-grained.
Hence, the student model also provides a summative value for
each concept: The concept mastery is the aggregation of all
competency masteries of a specific concept. It becomes one
of the central sources to support the dynamic concept map
navigator that we will introduce later.
IV. E- TEXTBOOK D ESIGN
We have been teaching the Theory of Computation course
for many years at HKUST in Hong Kong and Fudan University
in Shanghai. Last year, we started a cooperation with the
ActiveMath group at the DFKI in Saarbrücken to implement
grammar
language
automaton
production rules
type-0
recursively enumerable
Turing machine (TM)
α→β
type-1
context-sensitive
linear-bounded NTM
αAβ → αγβ
type-2
context-free
non-deterministic PDA
A→γ
type-3
regular
finite state automaton
A→α
and A → αB
TABLE I
R ELATIONSHIP BETWEEN AUTOMATA AND LANGUAGE CLASSES .
an adaptive e-textbook for this course, thereby extending the
domain (to computer science) and the cultural context of
ActiveMath (to China). We have already started with the
design and implementation and gained some experience on
how to extend ActiveMath to the slightly less structured
domain of computer science (compared to the well-structured
domain of mathematics, which has so far been the main focus
of ActiveMath textbook developments). The first prototype
implementation will later be evaluated at Fudan University;
this will be the first significant deployment of ActiveMath in
China. We will collect and analyze usage data in order to
evaluate the system in the Chinese cultural context and to
make culture-dependent adjustments. This will enable us to
seize the opportunity of a subsequent large-scale deployment
of ActiveMath in China. In the following, we will describe the
process we used to design the course.
A. Domain Analysis, Concept Map, and Ontology
As most major science subjects, any computer science
course actually has a strong theoretical basis. The most important concepts in a Theory of Computation course refer to
the capabilities and limitations of computing machines, and
include the theory of computability, the nature and complexity
of algorithms, and the theory of formal automata [12], [13],
[24]. Research into such fundamental concepts and the models
and results that have been developed have contributed hugely
to computer science and the hardware and software that are
used on a daily basis: automata theory allows us to define
various models of computation, computability theory allows
us to classify problems according to whether they are solvable
by machines, while complexity theory provides us with a
classification of how ”hard” problems are.
In this paper, we focus on the topic of automata and languages to illustrate our ideas. The Chomsky hierarchy [6] describes different types of formal languages or, more accurately,
the formal ”grammars” that describe such languages. These
grammars are closely related to various types of automata.
Table I summarizes the four basic types of grammars, the class
of languages they generate, and the type of automaton that
recognizes them. These concepts are naturally translated into
a concept map describing the relation between automata and
languages, see Fig. 4.
The concept map was then the basis to develop a detailed
ontology. The dependency between the elements in the ontology reflects the order in which the concepts would be taught in
class. Our ontology for finite automata and regular languages
includes the concepts finite automaton, graph, transition, state,
control, determinism, non-determinism, function, relation, acceptance, accepting state, start state, alphabet, string, state minimization, language, set, regular language, regular expression,
equivalence of regular expressions and finite automata, Pumping Lemma, closure, equivalance of deterministic and nondeterministic finite automata, etc. The ontology is depicted in
Fig. 5; the relation ”→” stands for the ”domain prerequisite”,
and ”x → y” means concept x needs to be taught before
concept y.
B. The Contructivist Approach
According to the theory of constructivism [8], students
gain understanding and knowledge through experience and
reflections on their own experiences. Accordingly, teachers
need to encourage and help students to constantly assess
how an activity is helping them to gain understanding. By
questioning themselves and their strategies, students become
”expert learners”, which is ”learning how to learn”.
Constructivism has been intensively studied by researchers
in areas such as pedagogy and mathematics education. Much
less research research has been done to study the influence of constructivism in computer science education [3].
Since ActiveMath has several features supporting constructivist
teaching [17], our usage of ActiveMath to teach Theory of
Computation can help us gain important knowledge on the
influence of constructivist teaching in the computer science
domain.
There are four major constructivist principles leading to
significant learning experiences [5]:
1) New knowledge must be related with experience and
social context significant to the learner;
2) New knowledge acquisition must encourage discovery
and active learning;
3) The use of previous knowledge plays a major role in
learning;
4) Reinforcement and extension activities promote significant learning.
Accordingly, we introduced several didactic strategies along
the traditional curricula [5] to our Theory of Computation
course:
1) Contextualizing the fundamental concepts in computer
science history;
2) Incentivizing active learning with computing machine
simulators;
3) Using students’ previous knowledge: relating the fundamental concepts of languages and automata to programming languages (as taught in a 3rd year course on
compilers);
4) Reinforcement and extension activities: providing research articles on the fundamental concepts.
Now we are facing the question how to integrate these
teaching strategies into the adaptive Theory of Computation
online course in ActiveMath. Based on our goals and the
course context, here is a preliminary design for our pedagogical
strategy:
1) Computer science history can easily be included in
ActiveMath as auxiliary information;
2) Computing machine simulators can be integrated into the
ActiveMath platform;
3) Relating fundamental theoretical concepts to programming languages with the ActiveMath adaptive feedback
system;
4) Research articles on fundamental concepts can be included as auxiliary information and as part of the adaptive feedback system.
V. P ROTOTYPE I MPLEMENTATION
Before we could start writing any content, we faced the
problem that the computer science domain is less structured
than the mathematics domain. This caused some difficulties
in transforming the course content into the knowledge representation used by ActiveMath which was developed for well
structured mathematics content. In the end, we managed to
map all types of LOs occurring in a standard Theory of Computation textbook to the LO types provided by ActiveMath.
The correspondence was mostly directly visible, except for
the type algorithm, which was mapped to the type ppmethod
which is usually employed to describe general procedures and
methods in a domain. The overall mapping of LOs is shown
in table II.
We then sliced the existing lecture notes of the course into
LOs using the described types and started to add metadata
information using the values provided by ActiveMath. As it
turned out, the metadata provided by ActiveMath are expressive enough of annotate our Theory of Computation content in
a meaningful way. We did not encounter any serious problems
during the annotation of the sample content. However, we
found room for potential extensions of the knowledge representation in ActiveMath related to the Theory of Computation
course which we will describe in Section VI.
Textbook type
Activemath type
Definition
Theorem
Proof
Example
Introduction
Conclusion
Example
Problem
Algorithm
Definition
Assertion
Proof
Example
OMText
OMText
Example
Exercise
PPMethod
TABLE II
M APPING OF LO TYPES
The implementation of some prototype content was based
on the results of the preparatory work and the development of
the domain ontology. Based on the knowledge representation in
ActiveMath, we organized the content items into three layers,
the abstract layer, content layer, and satellite layer (see Fig. 2).
The abstract layer contains the symbols, which correspond to
the core concepts of the ontology (see Fig. 5). The OMDoc
symbols are semantic hooks that the system uses as a basis for
its decision-making. This makes authoring the abstract layer a
challenge, because duplication of symbols must be avoided. To
achieve this, re-use of existing symbols is required whenever
appropriate. This process is described in detail in [1].
The ActiveMath group provides an authoring environment
called JEditOQMath[14] to help with the authoring process.
Using this tool, it is comfortable to add new content to ActiveMath once all necessary preparations have been performed,
i.e., the content is already sliced, annotated with metadata,
and the relations to the ontology have been made explicit.
We first encoded the abstract layer providing all the symbols
referred to from the content layer. Then, we added the content
layer as well as the auxiliary layer, containing illustrative and
supportive elements such as examples.
Finally, following the constructivist approach, we developed
interactive exercises in order to provide students with feedback
and to check their performance. We created interactive exercises of four types: multiple choice, single choice, fill in the
blanks, and open questions. As the students work on exercises,
the student model dynamically updates the assessment of the
students. This is reflected in changes in the progress bar at the
left side of the ActiveMath screen, in the table of contents, see
Fig. 1.
VI. C ONCLUSION AND F UTURE W ORK
Our goal is to eventually create a bilingual e-book, using
English and Chinese. Our Theory of Computation course has
already a strong self-study and e-learning component because
it is usually taught using the Just-in-Time-Teaching method
(see Fleischer [10]), and an e-textbook based on ActiveMath
will be an ideal supplement for the course. Students will post
questions, and TAs will grade quizzes, exercises, and homework assignments based on the same ActiveMath platform.
One important tool for the students will be the concept map
navigator which is currently developed as an additional tool in
ActiveMath. The concept map is structured according to the
prerequisite requirements, thus the lower level concepts are
usually easier to learn than the more complex higher level
concepts. In order to help students better understand their
overall mastery of the core concepts, the concept map navigator
can visualize the implicit ontology in ActiveMath and, based
on information from the student model, display the learning
progress by color-coding the various parts of the ontology.
This allows the students to easily keep track of their progress.
See Fig. 3 as an illustration.
The concept map navigator will also allow the students to
create course content for any group of related concepts in the
ontology. Since the concept map for a course like Theory of
Computation can become rather big and complicated, students
will be able to zoom-in and zoom-out to explore different
levels of abstraction. ActiveMath has already a concept map
service (CMap service) [16] to provide the semantics communication between the concept map and ActiveMath, and the
finite automaton
nondeterministic
finite automaton
transition
relation
nondeterminism
Equivalence
Theorem
state
n-tuple
deterministic
finite automaton
transition
function
relation
determinism
function
Fig. 3. The concept map navigator. Green nodes are well understood, gray
nodes are partially understood, and white nodes are poorly understood.
concept map navigator should become a valuable add-on tool
for our adaptive learning platform.
It has been observed that interactive visualizations can
help students learn better, in particular if the visualizations
engage the students [19], [20]. Therefore, we plan to develop
for our e-textbook some interactive simulators for automata
and algorithms on languages, similar to the Exorciser tool
developed at the ETH Zürich [21].
We also plan to extend the student model in ActiveMath.
Currently, the most important information about a student’s
performance comes from the interactive exercises. But since
the e-book will be used in connection with a real course,
we should make use of the feedback the teacher and the
TAs could give, based on class participation, quiz results,
homework papers, and exams. To be more precise, the teacher
and the TAs will be able to add student performance data
into the system based on their interaction with the students
in person. In particular, we plan to implement a simple web
interface allowing TAs to upload the Excel spreadsheets to
ActiveMAth they use to keep track of student grades. This
blended approach will make the adaptability of the content
generator more accurate.
ACKNOWLEDGMENTS
The order of authors is alphabetic by family name. The firstauthor order would be M. Liang, E. Andrés, and R. Fleischer.
This research has been supported by the Shanghai Leading Academic Discipline Project (no. B114), the Shanghai
Committee of Science and Technology (nos. 08DZ2271800
and 09DZ2272800), and the Shanghai Key Laboratory of
Intelligent Information Processing (no. IIPL-09-002).
R EFERENCES
[1] E. Andrès, M. Dietrich, and P. Libbrecht. Discovering how to write
semantic math with new symbols. In Proceedings of the 2008 Mathematical User-Interfaces Workshop (MathUI’08), 2008.
[2] I. Arroyo, C. Beal, T. Murray, R. Walles, and B. Woolf. Web-based
intelligent multimedia tutoring for high stakes achievement tests. In
Proceedings of the 7th International Conference on Intelligent Tutoring
Systems (ITS’04). Springer Lecture Notes in Computer Science 3220,
pages 468–477, 2004.
[3] M. Ben-Ari. Constructivism in computer science education. Journal of
Computers in Mathematics and Science Teaching, 20(1):45–73, 2001.
[4] C. A. Brooks, J. E. Greer, E. Melis, and C. Ullrich. Combining ITS and
eLearning technologies: Opportunities and challenges. In Proceedings
of the 8th International Conference on Intelligent Tutoring Systems
(ITS’06). Springer Lecture Notes in Computer Science 4053, pages 278–
287, 2006.
[5] C. I. Chesnevar, A. G. Maguitman, M. P. Gonzalez, and M. L. Cobo.
Teaching Fundamentals of Computing Theory: A constructivist approach. Journal of Computer Science & Technology, 4(2), 2004.
[6] N. Chomsky. Three models for the description of language. IEEE
Transactions on Information Theory, 2:113–124, 1956.
[7] A. Corbett, K. Koedinger, and J. Anderson. Intelligent tutoring systems.
In M. Helander, T. K. Landauer, and P. Prabhu, editors, Handbook
of Human-Computer Interaction, chapter 37, pages 849–874. Elsevier
Science Publishing Co., New York, 2nd completely revised edition, 1997.
[8] T. M. Duffy and D. H. Jonassen. Constructivism and the technology of
instruction. A conversation, 1992.
[9] A. Faulhaber and E. Melis. An efficient student model based on
student performance and metadata. In Proceedings of the 18th European
Conference on Artificial Intelligence (ECAI’08), Frontiers in Artificial
Intelligence and Applications 178, pages 276–280. IOS Press, 2008.
[10] R. Fleischer. Theory of Computation, 2010. http://www.tcs.fudan.edu.
cn/rudolf/Courses/Theory/Theory10/.
[11] G. Goguadze. Representation for interactive exercises. In Proceedings of
the 8th International Conference on Mathematical Knowledge Management (MKM’09). Springer Lecture Notes in Artificial Intelligence 5625,
pages 294–294, 2009.
[12] J. E. Hopcroft, R. Motwani, and J. D. Ullman. Introduction to Automata
Theory, Languages, and Computation. Addison-Wesley, Reading, MA,
3rd. edition, 2007.
[13] H. Lewis and C. H. Papadimitriou. Elements of the Theory of Computation. Prentice Hall, Englewood Cliffs, NJ, 2. edition, 1998.
[14] P. Libbrecht. What you check is what you get: Authoring with
jEditOQMath. In Proceedings of the 10th IEEE International Conference
on Advanced Learning Technologies (ICALT’10), 2010. To appear.
[15] E. Melis, A. Faulhaber, A. Eichelmann, and S. Narciss. Interoperable
competencies characterizing learning objects in mathematics. In Proceedings of the 9th International Conference on Intelligent Tutoring
Systems (ITS’08). Springer Lecture Notes in Computer Science 5091,
pages 416–425, 2008.
[16] E. Melis, G. Goguadze, M. Homik, P. Libbrecht, C. Ullrich, and
S. Winterstein. Semantic-aware components and services of ActiveMath.
British Journal of Educational Technology, 37(3):405–423, 2005.
[17] E. Melis, M. Moormann, C. Ullrich, G. Goguadze, and P. Libbrecht.
How ActiveMath supports moderate constructivist mathematics teaching.
In Proceedings of the 8th International Conference on Technology in
Mathematics Teaching (ICTMT’07), 2007. Published on CD-ROM.
[18] E. Melis and J. Siekmann. ActiveMath: An intelligent tutoring system
for mathematics. In Proceedings of the 7th International Conference ’Artificial Intelligence and Soft Computing’ (ICAISC’04). Springer Lecture
Notes in Artificial Intelligence 3070, pages 91–101, 2004.
[19] T. L. Naps (co-chair), G. Rößling (co-chair), V. Almstrum, W. Dann,
R. Fleischer, C. Hundhausen, A. Korhonen, L. Malmi, M. McNally,
S. Rodger, and J. Á. Velázquez-Iturbide. Exploring the role of visualization and engagement in computer science education. Report of the
ITiCSE 2002 Working Group on “Improving the Educational Impact of
Algorithm Visualization”. ACM SIGCSE Bulletin, 35(2):131–152, 2003.
[20] T. L. Naps (co-chair), G. Rößling (co-chair), J. Anderson, S. Cooper,
W. Dann, R. Fleischer, B. Koldehofe, A. Korhonen, M. Kuittinen,
L. Malmi, C. Leska, M. McNally, J. Rantakokko, and R. J. Ross. Evaluating the educational impact of visualization. Report of the ITiCSE 2003
Working Group on “Evaluating the Educational Impact of Algorithm
Visualization”. ACM SIGCSE Bulletin, 35(4):124–136, 2003.
[21] J. Nievergelt, V. Tscherter, and et al. Exorciser: Automatic generation and
interactive grading of structured exercises in the Theory of Computation,
2005. http://www.swisseduc.ch/compscience/exorciser/.
[22] OMDoc. http://www.omdoc.org.
[23] R. Ross. Portal to Theory of Computing — The Hypertextbook. 2010.
http://www.cs.montana.edu/webworks/projects/theoryportal/.
[24] M. Sipser. Introduction to the Theory of Computation. China Machine
Press, 2nd edition (English), 2002.
automata
HasSubtype
HasSubtype
HasSubtype
finite
IsSubset
IsSubset
pushdown
automata
automata
Accepts
IsSubset
linearly bounded
automata
Accepts
IsSubset
HasSubtype
Turing
machines
Accepts
IsSubset
Accepts
IsSubset
regular
context-free
context-sensitive
recursively enumerable
languages
languages
languages
languages
HasSubtype
HasSubtype
HasSubtype
HasSubtype
languages
Fig. 4.
Relationship between automata and language classes.
Fig. 5.
Ontology of automata and languages.