An Adaptive Theory of Computation Online Course in ... - GUtech

3 downloads 1657 Views 453KB Size Report
undergraduate course Theory of Computation in ActiveMath. The ... free) and corresponding machine models (finite automata, pushdown ..... 3 as an illustration.
An Adaptive Theory of Computation Online Course in ActiveMath Eric Andr`es

Rudolf Fleischer

MinEr Liang

Centre for e-Learning Technology Saarland University Saarbr¨ucken, 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¨ucken, 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¨ucken 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¨urich [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´es, 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`es, 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¨oßling (co-chair), V. Almstrum, W. Dann, R. Fleischer, C. Hundhausen, A. Korhonen, L. Malmi, M. McNally, ´ Vel´azquez-Iturbide. Exploring the role of visuS. Rodger, and J. A. alization 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¨oß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.