A Collaborative Game for Learning Algorithms
Foteini Grivokostopoulou, Isidoros Perikos and Ioannis Hatzilygeroudis
Department of Computer Engineering and Informatics, University of Patras, Patras, Greece
Keywords: Serious Games, Game-based Learning, Learning Efficiency, Collaborative Learning, Constraint Satisfaction
Algorithms.
Abstract: Educational games constitute an important mean of delivering effective learning procedures to students and
they can offer various learning opportunities in all levels of education. In this work, we present a
collaborative game that was developed to assist students in learning algorithms and we explore its learning
capabilities. The game aims to assist students in learning constraint satisfaction algorithms and it is based on
the map coloring game. In the context of the game, students can experiment and apply the algorithms in
various learning activities and training scenarios. The game has been integrated into the curriculum of the
artificial intelligence course in our university. An evaluation study was conducted in real classroom
conditions and revealed quite promising results which indicate that the game is an effective way to enhance
students’ motivation, engagement and interest and also it helps students to deeper understand the
functionality of constraint satisfaction algorithms.
1 INTRODUCTION
The rapid development of educational technology
has brought new tools that can be used in the
educational process. Indicative examples are the
educational games which are a rapidly growing field
and offer various possibilities for innovative
educational activities. One of the main features of
educational games is that they can offer pleasant and
attractive educational activities to users and can
attract their interest and also can cultivate and
strengthen their motivation for learning (Burguillo,
2010; Dickey, 2011; Ebner and Holzinger, 2007)
The educational games are a rich learning
environment and offer diverse and effective ways of
acquiring knowledge. In an effort to attract and
engage students and enhance the overall efficiency of
learning procedures, digital technologies and
computer educational games are examined to add fun
factors and make teaching more attractive, appealing
and most of all, efficient (Mihail et al., 2013). In our
days, a great part of the students, like most
individuals, spend a large part of their free time
playing computer games and in this line the
integration of games into curriculum of a course
could increase students’ interest and stimulation and
provide opportunities for learning in an entertaining
way.
Educational computer games can be used to teach
the area of computer science and researchers point
out that they could constitute an effective way to
provide more interesting learning environments for
knowledge acquisition and construction (Sung and
Hwang, 2013). Educational games have been used
successfully in both introductory computer science
courses and general artificial intelligence classes to
scaffold learning and bring excitement and
enthusiasm among students (Bayliss 2007; Parberry
et al., 2005; Sosnowski et al., 2013; Taylor, 2011;
Wong et al., 2010).
Collaborative learning is a term for a variety of
educational approaches which involve more than one
player in the playing of the game with the
pedagogical intention to promote cooperative learning
between those engaged in the game (Dickey, 2007).
Studies point out that students learn more effectively
when they collaborate with each other (Abid et al.,
2016) and in this context, collaborative games have
an important role as highly efficient and engaging
learning environments (Prensky, 2007). Collaborative
educational game-based learning can have a
substantial benefit on students learning mainly by
promoting positive learning attitudes and high
learning motivation (Romero et al., 2012; Sung and
Hwang, 2013). In addition, collaborative learning in
the context of educational games can also improve
Grivokostopoulou, F., Perikos, I. and Hatzilygeroudis, I.
A Collaborative Game for Learning Algorithms.
DOI: 10.5220/0006377405430549
In Proceedings of the 9th International Conference on Computer Supported Education (CSEDU 2017) - Volume 1, pages 543-549
ISBN: 978-989-758-239-4
Copyright © 2017 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
543
students’ learning achievement, their self-efficacy
owing to the provision of knowledge organizing and
knowledge sharing embedded in the activities of the
collaborative gaming environment (Sung and Hwang,
2013).
In higher education, the educational games are
pointed out to be an effective approach to assist
students' learning. The integration of educational
games into the curricula of university courses can
provide the means of attracting students interest,
better and deeper engage them in learning activities
and improve their knowledge construction (Ebner and
Holzinger 2007; Hatzilygeroudis et al., 2012).
Algorithms constitute one of the most fundamental
domains in computer science discipline and it is
important for students to get a deep understanding of
their functionality. In artificial intelligence
curriculum, search algorithms and constraint
satisfaction algorithms are two important topics that
students come across and learn. It is considered
necessary that students learn efficiently and in depth
the way that algorithms function and also be able to
accurately apply them in various problems and
situations. However, the domain of search algorithms
is acknowledged by many tutors to be a difficult
domain to teach and also a very hard and complex
domain for students to deeply understand and
correctly implement (Grivokostopoulou et al., 2016;
Naser, 2008). Indeed, the domain consists of complex
cognitive and error prone processes that traditional
education fails to cover and efficiently teach.
In this paper, we present a collaborative game that
assists students in learning algorithms and explore its
learning capabilities. The collaborative game aims to
assist students cooperate in learning algorithms and
apply them in various learning activities and training
scenarios. The game assists students in learning
constraint satisfaction algorithms and has been
integrated and used into the curriculum of artificial
intelligence course in our university. The evaluation
studies conducted revealed very promising results and
indicate the games to be an effective approach and to
assist students in deeper and more complete learning
algorithms and also to enhance students motivation
and engagement with educational procedures.
The reminder of the paper is organized as follows:
Section 2 presents related work on the utilization of
educational games into course curriculum while
Section 3 presents the collaborative games developed
and used to assists students in learning algorithms.
Section 4 presents the results from the experimental
evaluation and discusses the learning efficiency of the
game and the students experiences with them.
Finally, Section 5 concludes the paper and provides
various directions that future work can focus on.
2 RELATED WORK
The design, development and integration of
educational games in courses’ curriculum have
attracted over the last years the attention of the
researcher community. Various works point out the
important role of educational games in assisting
students’ learning and improving the learning
efficiency of educational procedures. A detailed and
complete overview of approaches can be found in
(Michael and Chen, 2005, Connolly et al., 2012, De
Gloria et al., 2014, Gibson and Bell, 2013). In
literature, there is great research interest and many
works study the design of educational procedures
and the development of games for teaching the
domain of computer science.
In (Markov et al., 2006) the N-Puzzle game is
used for teaching state-space search and machine
learning. The popular Pacman game has been used
in order to formulate educational versions of it assist
students in learning search algorithms functionality
(Grivokostopoulou et al., 2016). Indeed, Pacman
game is utilizing in the introductory artificial
intelligence course at Berkeley University for
teaching AI concepts such as state-space search,
adversarial search, Markov decision process and
probabilistic tracking (DeNero and Klein, 2010).
Furthermore, the Rook Jumping Maze has been used
for teaching uninformed search, stochastic local
search and machine learning (Neller, 2011). A
common characteristic of the above efforts is that
games are mainly involved in AI programming
projects. A project is designed based on a game that
asks for implementation of algorithms concerning
state search, reinforcement learning, etc. The game
acts as a motive for the students to make the
implementations. Another effort is presented in
(Chang et al., 2008) where a game-based learning
approach is used to help students learn graph theory
topics and more specifically Kruskal’s, Prim’s and
Dijkstra’s algorithms. The game is called Ticket to
Ride and the students through the missions that they
choose about connecting one city to another, come
across the implementation of the above algorithms.
In additional, COPS (Collaborative Online Problem
Solving) (Bachu and Bernard, 2014) is a web based
strategy game that assist the students improve their
problem solving ability by building program
flowcharts as a jigsaw puzzle. In the game, students
through the visual representations of the problem’s
CSEDU 2017 - 9th International Conference on Computer Supported Education
544
solutions and can follow more easily the logic in
their solution.
3 COLLABORATIVE
CONSTRAINT SATISFACTION
EDUCATIONAL GAME
Constraint satisfaction (CS) is a general approach for
solving problems, which can be expressed as
constraint satisfaction problems (CSPs). A CSP is
defined as: given a finite set of variables, together
with a finite set of possible values that can be
assigned to each variable and a list of constraints,
find the values of the variables that satisfy every
constraint. The map coloring problem is a famous
problem that can be modelled as a Constraint
satisfaction Problem. In this problem, a map
consisted of a number of regions is given and we
need to color each region of the map with one of a
given set of colors in such a way that no two
adjacent regions have the same color. A simple map
coloring problem is illustrated in Figure 1. The map
consists of four regions that are to be colored with
three colors: red, green or blue.
Figure 1: A simple four-region map-coloring problem.
The problem in Figure 1 can be represented as a
Constraint satisfaction Problem as follows:
Initially, we define a set of variables V where
each variable represents a region in the map. In the
example case of Figure 1, is define as:
V={V1,V2,V3,V4}.
Then, we define a set of value domains D where
each domain includes the values that corresponding
variable can take. In our case: D={D1,D2,D3,D4}
and D1=D2=D3=D4={red, green, blue}.
Finally, we define a set of constraints C where
each constraint represents a relation between
variables of the problem. More specifically, in the
example case of four map coloring problem C define
as , C={C12,C14,C23,C24,C34}, where Cij Vi≠Vj
(that is each region represented by its corresponding
variable has a different color/value from its adjacent
region)
Associated with every CSP is a constraint graph.
The constraint graph contains a node for each
variable and an edge between each pair of nodes for
which there is a constraint between the
corresponding two variables. Figure 2 represent the
constraint graph for the four region map coloring
problem where each edge represents two adjacent
regions in the map.
Figure 2: A simple four-region map-coloring problem.
The coloring game has both single player and
multiplayer modes. The objective of the game is
similar for the two modes. The player has to color a
map, using a set of available colors so that adjacent
regions of the map do not have the same color. The
complexity of the generated maps (number of
distinct areas) and the available colors set are
parameterized. The collaborative game aims to assist
learners to realize and better understand through the
game the concept of constraint satisfaction during
problem solving and the educational process.
Initially the students can determine the
complexity of the problem to be solved. They can
either decide by themselves on how many colors
they think are adequate for solving the problem or
can choose one of the three available difficulty
levels (easy, medium, difficult).The determination of
the level of difficulty of each map based on the
number of colors that the map needs to be resolved
and the maximum number of areas bordering each
region. A screenshot of the multiplayer coloring map
game on a simple case is illustrated in Figure 3.
A Collaborative Game for Learning Algorithms
545
Figure 3: Map-coloring problem Multiplayer game.
In the first level of the game, students use additional
colors beyond the minimum required. In the second
level, one additional color is used and in the third
level the minimum number of colors is used, thus
making the game more difficult and challenging to
solve. The latter is concerned with whether the user
chooses from the set of all available colors for each
area, or the system filters the colors that cannot be
used (i.e., propagates the constrains, in other words
makes an AC-3 step). Also, for each option of the
player, it creates the appropriate tree structure
representing the regions, the coloring steps taken
and how propagation of constraints as presented in
Figure 4. In this way, the student can get a useful
model of how the constraints are propagated, which
is an important and fundamental characteristic of
CSPs. Furthermore, a student can step back to
previous states (of the solution path), a process
known in search algorithms as backtracking.
Backtracking is in several cases a difficult to grasp
aspect of search algorithms. Using the game, the
student can see it in practice while playing. Also, the
students can solve the problem as many times as
they want and find different or better solutions, by
learning the constraint satisfaction algorithms.
Different color combinations can produce sets of
different solution paths. Additionally, the game
calculates the student’s score, which is determined
by the difficulty level of the problem, the students
actions and the time taken to solve it.
Figure 4: Treestructure of Map-coloring problem.
Playing with the game, students unknowingly
become familiar with concepts like constraints
propagation, backtracking, multiple solution paths
and others by actually emulating steps used by a
search algorithm. This can greatly facilitate teaching
of the theory behind CSP solving and corresponding
algorithms, finally, they can use the game again to
test the obtained knowledge on algorithms and
experiment with them, working out their differences
and details. This can be easily done, given that really
the game can take on many different configurations
and make multiple trade-offs between complexity
and fun factors. Of course, the tutor could specify
different scenarios to make learning more directed
and avoid useless playing.
4 EVALUATION
We conducted an experimental evaluation study in
the context of the artificial intelligence course in our
university. The purpose of the experimental study
was to evaluate the learning effectiveness of the
collaborative game and identify students' attitudes,
perceptions, and usage-intentions toward learning
with them.
4.1 Method
In the context of the evaluation study, we compared
learning with the collaborative game versus the
learning with the single player game. The
participants in this evaluation study were 100
undergraduate students (both female and male) that
were enrolled in the artificial intelligence course.
They were in the 4th year of their study and their age
ranged from 21 to 24 years. In the context of the
study, a pre-test / post-test experimental procedure
was followed. Initially, the participants of the study
were randomly assigned to two groups (control vs
experimental) and so, we created two groups that
were named GroupA and GroupB respectively. The
first group, GroupA, consisted of 50 students, where
22 were female and 28 were male, and the second
group, GroupB consisted of 50 students where 23
were female and 27 were male.
We followed a pre-test, post-test study design
followed by a questionnaire survey to assess the
learning effectiveness, the learning attitudes and the
motivation of students and also for gathering
students’ attitude, opinion and experiences about the
collaborative game. The students of the GroupA,
which constitutes the control group, learned with the
educational game as a one-player game. Students of
CSEDU 2017 - 9th International Conference on Computer Supported Education
546
GroupB, which constitutes the experimental group,
were given access to use the collaborative game and
to study the Constraint Satisfaction Problem. The
experiment consisted of four main phases which are
the pre-test, the learning phase, the post-test and the
questionnaire phase used to collect students’
thoughts, opinions and experiences about the game.
The overall structure of the evaluation study is
illustrated in Figure 5.
Figure 5: The overall structure of the experimental study.
The two groups followed the same procedure;
both groups were given a pre-test and then GroupA
learned about CSP algorithm with the single-player
game, while the students of GroupB learned with the
assist of the collaborative game afterwards, both
groups were given a post-test. After the post-test, all
participants were given a questionnaire to fill in. The
pre-tests and post-tests were isomorphic and
incorporated structurally equivalent exercises on
CSPs and were conducted in the computer room of
our department. After the learning activities the
students were asked to fill in a questionnaire and
express their affect, opinions and experiences
towards the games and assess their learning
assistance.
4.2 Results and Discussion
An independent t-test was used on the pre-test. The
means of pre-test for GroupA and GroupB were 4.62
and 4.71 respectively. The results showed no
significant difference among the students of the
groups (p=0.61> 0.05) so it was concluded the two
groups had equivalent prior knowledge on the
domain of Constraint Satisfaction before the
experiment.
After that, an ANOVA analysis was performed.
The ANOVA results indicate the differences in post-
test scores are statistically and significantly different
between the two groups (F=142.4 p=0.00<0.05).
Finally, the results showed that the performance of
the students of GroupB, who used the collaborative
game, was better than that of the control group.
Table 1 presents the post-test results, in which the
mean values of the post-test scores were 6.41 for
Group A, and 8.01 for Group B.
Table 1: Analysis of the Post Test Results.
Groups
N
Mean
SD
GroupA
50
6.41
0.65
GroupB
50
8.01
0.87
Subsequently, the students of the GroupA and
GroupB were asked to fill in a questionnaire that
included questions for evaluating usability of the
one-player and collaborative game respectively,
stating their experience and their opinions about the
learning process. The questionnaire included 12
questions. The questions Q1-Q9 were based on the
Likert scale (1: not at all, 5: very much). Questions
10-12 were open type questions and concerned
strong and weak points of the educational games or
problems faced.
Table 2: Results of the Questionnaire.
Question
GroupA
Mean
GroupB
Mean
Q1
The games make the CSP
more understandable.
3.88
4.46
Q2
The games assisted me in
getting a deeper understanding
of the functionality of the CSP
after playing.
4.25
4.65
Q3
I enjoyed playing and learning
with the games.
4.05
4.52
Q4
The games made me more
active in the course.
3.95
4.16
Q5
The games can increase my
motivation.
3.55
4.42
Q6
The games can enhance my
engagement in the course.
3.45
4.43
Q7
The games can enhance my
learning interest.
4.01
4.45
Q8
The using of the games for
learning is more interesting
than other ways of learning.
3.88
4.60
Q9
I suggest the games to be
integrated into the course and
be used by the next year’s
students.
3.5
4.46
A Collaborative Game for Learning Algorithms
547
The results of the questionnaire are very
encouraging indicating the very positive attitude that
the students of GroupB have towards the integration
of games in the course curriculum. The
questionnaire results showed that students of
GroupB indicated that the games make the CSP
more understandable to them (4.46) and that they
assisted them in getting a deeper understating of the
way that each algorithm functions (4.65). More
specifically, students found the collaborative game
to increase their motivation (4.42) and also to
enhance their engagement in the course (4.43) and in
addition to greatly enhanced their interest for
learning (4.45). Also, students indicate that they
enjoyed the integration of the collaborative game in
the context of the course (4.52) something that made
them also more active in the course (4.16).
Furthermore, the results show that students found
the games and learning with collaborative game very
interesting and more interesting that other ways of
learning (4.60). Finally, students suggest the
collaborative game to be integrated into the course
curriculum so that to be used by the students of next
years (4.46).
The results of the experimental study shows that
the attitude of the students towards the collaborative
game was very positive and also that the game has
great learning capabilities. More specifically, an
interesting aspect of the study concerns the increase
of students’ engagement with the course and also the
increase of their efforts in a very positive and
enjoyable way.
5 CONCLUSIONS
With the great advancement of the technology, the
educational games constitute an important mean of
delivering effective learning procedures to students
and they can offer various learning opportunities in
all levels of education. Serious games can scaffold
students learning and bring excitement and
enthusiasm among students and most of all, assist
them in learning more efficiently, in an interactive
and entertaining way. In this work, we presented a
collaborative game that was developed with the aim
to assist students in learning constraint satisfaction
problems and algorithms. In the context of the
collaborative games, students can experiment and
apply constraint satisfaction algorithms in various
learning activities and training scenarios. The game
has been integrated and used in the curriculum of
artificial intelligence course in our university. An
evaluation study was conducted in real classroom
conditions and revealed quite promising results. The
results indicate that the collaborative game
constitutes an effective way to enhance students’
motivation, engagement and interest and also help
them to deeper and more completely understand
CSP algorithms and their functionality.
The findings of the study provide various
directions that future work can focus on. Initially, a
bigger scale evaluation will be designed and
conducted with the aim to provide a more complete
insight of the learning efficiency of the game and
also evaluate specific educational capabilities of
them such as the feedback and the assistance offered
to students. Another direction for future work
concerns the integration of learning analytics
mechanisms into the games that will record and
analyse students’ behaviour and actions during the
learning activities.
REFERENCES
Abid, A., Kalle, I., and Ayed, M. B. (2016, September).
Teamwork construction in E-learning system: A
systematic literature review. In Information
Technology Based Higher Education and Training
(ITHET), 2016 15th International Conference on (pp.
1-7). IEEE.
Bachu, E., and Bernard, M. (2014, January). Visualizing
Problem Solving in a Strategy Game for Teaching
Programming. In Proceedings of the International
Conference on Frontiers in Education: Computer
Science and Computer Engineering (FECS) (p. 1). The
Steering Committee of The World Congress in
Computer Science, Computer Engineering and
Applied Computing (WorldComp).
Bayliss, J. D. (2007). The effects of games in CS1-3. In
Microsoft Academic Days Conference on Game
Development in Computer Science Education,. 59-63.
Burguillo, J. C. (2010). Using game theory and
competition-based learning to stimulate student
motivation and performance. Computers & Education,
55(2), 566-575.
Chang, W. C., Chiu, Y. D., and Li, M. F. (2008, August).
Learning Kruskal’s Algorithm, Prim’s Algorithm and
Dijkstra’s Algorithm by board game. In International
Conference on Web-Based Learning (pp. 275-284).
Springer Berlin Heidelberg.
Connolly, T. M., Boyle, E. A., MacArthur, E., Hainey, T.,
and Boyle, J. M. (2012). A systematic literature review
of empirical evidence on computer games and serious
games. Computers & Education, 59(2), 661-686.
De Gloria, A., Bellotti, F., and Berta, R. (2014). Serious
Games for education and training. International
Journal of Serious Games, 1(1).
CSEDU 2017 - 9th International Conference on Computer Supported Education
548
DeNero, J.,and Klein, D. (2010). Teaching introductory
artificial intelligence with pacman, In Proc. of the
EAAI Symposium.
Dickey, M. D. (2007). Game design and learning: A
conjectural analysis of how massively multiple online
role-playing games (MMORPGs) foster intrinsic
motivation. Educational Technology Research and
Development, 55(3), 253-273.
Dickey, M. D. (2011). Murder on Grimm Isle: The impact
of game narrative design in an educational game
based learning environment. British Journal of
Educational Technology, 42(3), 456-469.
Ebner, M., and Holzinger, A. (2007). Successful
implementation of user-centered game based learning
in higher education: An example from civil
engineering. Computers and education, 49(3), 873-
890.
Gibson, B., Bell, T. (2013, November). Evaluation of
games for teaching computer science. In Proceedings
of the 8th Workshop in Primary and Secondary
Computing Education (pp. 51-60). ACM.
Grivokostopoulou, F., Perikos, I., and Hatzilygeroudis, I.
(2016). An educational system for learning search
algorithms and automatically assessing student
performance. International Journal of Artificial
Intelligence in Education, 1-34.
Grivokostopoulou F., Perikos I. and Hatzilygeroudis I.
(2016). An Educational Game for Teaching Search
Algorithms. In Proceedings of the 8th International
Conference on Computer Supported Education -
Volume 2: CSEDU, ISBN 978-989-758-179-3, pages
129-136. DOI: 10.5220/0005864601290136.
Grivokostopoulou, F., Perikos, I., and Hatzilygeroudis, I.
(2016, December). An Innovative Educational
Environment Based on Virtual Reality and
Gamification for Learning Search Algorithms. In
Technology for Education (T4E), 2016 IEEE Eighth
International Conference on (pp. 110-115). IEEE.
Hatzilygeroudis, I., Grivokostopoulou, F., and Perikos, I.
(2012). Teaching aspects of constraint satisfaction
algorithms via a game. In Proceedings of the Twenty-
Sixth AAAI Conference on Artificial Intelligence (pp.
2371-2372). AAAI Press.
Hatzilygeroudis, I., Grivokostopoulou, F., and Perikos, I.
(2012). Using game-based learning in teaching CS
algorithms. In Teaching, Assessment and Learning for
Engineering (TALE), 2012 IEEE International
Conference on (pp. H2C-9). IEEE.
Markov, Z., Russell, I., Neller, T., and Zlatareva, N.
(2006, October). Pedagogical possibilities for the N-
puzzle problem. In Proceedings. Frontiers in
Education. 36th Annual Conference (pp. 1-6). IEEE.
McLaren, B. M., Adams, D. M., Mayer, R. E., and
Forlizzi, J. (2017). A Computer-based Game that
Promotes Mathematics Learning More than a
Conventional Approach. International Journal of
Game-Based Learning (IJGBL), 7(1), 36-56.
Michael, D. R., and Chen, S. L. (2005). Serious games:
Games that educate, train, and inform. Muska &
Lipman/Premier-Trade.
Mihail, R. P., Goldsmith, J., Jacobs, N., and Jaromczyk, J.
W. (2013, July). Teaching graphics for games using
Microsoft XNA. In Computer Games: AI, Animation,
Mobile, Interactive Multimedia, Educational &
Serious Games (CGAMES), 2013 18th International
Conference on (pp. 36-40). IEEE.
Naser, S. S. A. (2008). Developing visualization tool for
teaching AI searching algorithms. Information
Technology Journal, Scialert, 7(2), 350-355.
Neller, T. W. (2011, March). Rook Jumping Maze
Generation for AI Education. In FLAIRS Conference.
Parberry, I., Roden, T., and Kazemzadeh, M. B. (2005).
Experience with an industry-driven capstone course on
game programming. ACM SIGCSE Bulletin, 37(1), 91-
95.
Prensky, M. (2007). Digital Game-Based Learning. New
York: Paragon House.
Romero, M., Usart, M., Ott, M., Earp, J., and de Freitas, S.
(2012). Learning through playing for or against each
other? Promoting collaborative learning in digital
game based learning. Learning, 5(2012), 15-2012.
Sosnowski, S., Ernsberger, T., Cao, F., and Ray, S. (2013).
SEPIA: A Scalable Game Environment for Artificial
Intelligence Teaching and Research. In Fourth AAAI
Symposium on Educational Advances in Artificial
Intelligence.
Sung, H. Y., and Hwang, G. J. (2013). A collaborative
game-based learning approach to improving students'
learning performance in science courses. Computers &
Education, 63, 43-51.
Taylor, M. (2011).Teaching reinforcement learning with
Mario: An argument and case study. In Proceedings of
the 2011 AAAI Symposium Educational Advances in
Artificial Intelligence.
Wong, D., Zink, R., and Koenig, S. (2010). Teaching
artificial intelligence and robotics via games. In
Proceedings of the 2010 AAAI Symposium
Educational Advances in Artificial Intelligence.
A Collaborative Game for Learning Algorithms
549