Download TAILS: Enhanced Learning Through Experiencing Artificial

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Human-Computer Interaction Institute wikipedia , lookup

Transcript
TAILS: Enhanced Learning Through Experiencing
Artificial Intelligence as a Lab Science
Stephanie E. August
Department of Electrical Engineering and Computer Science
Loyola Marymount University Los Angeles
[email protected]
Abstract
The TAILS project addresses three needs. First, literature on computer science
education reveals that artificial intelligence (AI) faculty are challenged to balance the
benefits of teaching undergraduates the intricacies of specific complex algorithms
against the benefits of exposing them to a wide variety of algorithms and applications.
Second, computer science needs to attract and retain students who have an
interpersonal orientation in general and women in particular. Third, to be fully literate,
students must be able to view software systems at many levels of abstraction.
TAILS is designed to develop a paradigm for teaching AI concepts by implementing an
experiment-based approach modeled after the lab sciences. AI and software
engineering course material are interwoven in an experiment paradigm to provide
experiential learning opportunities in which students collaboratively solve problems, in
the hope of increasing retention of non-traditional computer science students who learn
better with a holistic top-down approach. The goal is to better prepare a diverse group
of students for the work force.
TAILS modules complement an AI survey course. They provide hands-on guided lab
experiments to enhance student ability to develop mental models of concepts. Students
explore software applications that implement algorithms, then, using an application with
portions of code removed, write code needed to implement core components of the
algorithm. Computer science undergraduates in a senior-level Introduction to artificial
intelligence are the primary target for TAILS and its advanced experiments are suitable
for graduate students. The structure of the modules supports use by non-major students
at all levels and provides background for software engineers working in industry.
Industry stakeholders are invited to review and provide feedback on the modules.
Formative assessment will take place in the classroom and in workshops with students
and faculty from multiple institutions.
The project addresses learning outcomes in five categories: skills (ability to solve
problems collaboratively), concepts (demonstrate knowledge of AI concepts and
software engineering practices), communication (describe course concepts at multiple
levels of abstraction), application (identify applications of AI concepts), and research
(demonstrate curiosity about course material). Key deliverables include a collection of
curriculum material, an Internet portal to access all materials, computer science-related
assessments, assessment results, and integration of these into course materials and
classroom activities. The project is entering the beta test and assessment phase.
1
Our approach promotes individual efforts to solve a programming assignment while
building an education community through laboratory work that encourages cooperation
and teamwork among students. The collaborative nature of the experiments reinforces
the social aspect of learning and scientific work with the goal of retaining women in the
major. The paradigm can be adapted to other courses at all academic levels and was
applied to an interdisciplinary animation/computer science course taught in spring 2015.
Hands-on experience with AI algorithms shortens the time required to prepare students
to engage in research. Using AI modules in non-majors courses reaches out to and
potentially recruits from populations not otherwise exposed to such advanced material.
Dissemination has been through conference presentations and posters, and the project
website with additional dissemination activities planned.
Introduction Teaching an introductory course on artificial intelligence (AI) requires a
delicate balance between time spent exploring the intricacies of specific complex
algorithms and exposing students to the variety of algorithms and applications they are
likely to encounter in the future. Given the interdisciplinary nature of most work
assignments, students need to learn how to consider the algorithms from multiple
perspectives and discuss them at multiple levels of abstraction to ensure that all
teammates and stakeholders understand complexities and implications. While all of this
is happening, instructors need to remain mindful of the various learning styles and
interpersonal orientations of all of their students.
The TAILS project1,2 addresses these issues by developing materials and a paradigm
to teach AI by implementing an experiment-based approach modeled after the
laboratory sciences. Students learn about various algorithms by first observing each
algorithm in action, discussing the algorithm in small groups, then experimenting with
changing and observing the results, much as they would in a physics or chemistry lab,
recording their results and observations in a lab report. They work through problems
related to the algorithm collaboratively and in small teams to ensure understanding.
Students develop explanations for what they learn that are geared toward multiple
audiences, and identify real world applications of the algorithms through reflection and
research. The ultimate goal is to produce literate, articulate, students who understand
basic AI concepts and can effectively collaborate to solve problems. The approach is
expected to attract students drawn to collaborative models of working, and increase
participation in the field by exposing undergraduate students to research.
TAILS modules currently cover basic, informed, and adversarial search, agent
architectures, and machine learning with a focus on conceptual clustering. Each module
includes an overview of a concept, sample applications of the concept, and an example
of the algorithm processing input data. The module contains an implementation
This material is based upon work supported by the National Science Foundation under Course,
Curriculum, and Laboratory Improvement (CCLI) Grant No. 0942454. Any opinions, findings and
conclusions or recommendations expressed in this material are those of the author(s) and do not
necessarily reflect the views of the National Science Foundation.
2
independent visualization of the code design represented with UML (unified modeling
language) to provide the big picture of how the code is structured. Students have
access to the corresponding source code to run and modify. Each module is
accompanied by a set of activities that include hands-on exercises that involve problem
sets, experiments, and graduated programming assignments ranging from those
completed with a partner during a lab period to term projects, as well as discussing the
algorithms at multiple levels of abstraction and identifying additional applications of the
algorithms. The majority of class time is spent mentoring students as they explore
concepts with classmates.
For the basic programming exercises, students are provided a version of each program
in which key segments of code have been replaced by comments that guide the
students through the process of implementing the critical component of each algorithm
and testing it with an existing application. Students can access solutions to the
introductory programming experiments. This approach has several benefits. Students
can focus on the AI aspect of the coding without needing to also develop a user
interface. The shorter exercises allow them to gain a sense of accomplishment during
the lab sessions and allow them to learn by comparing their results to those provided.
Critical thinking is nurtured by requiring students to reflect in their lab reports on the
comparison of their solutions to those of other students and to the given solutions.
Students in a senior-level Introduction to artificial intelligence (AI) course are the primary
target of TAILS. The modules include activities for students with a range of
backgrounds, such as those who enroll in an introduction to computer science for nonmajors course or a graduate-level course in AI for systems engineering students with
varying degrees of computer science background.
This paper provides an overview of each of the TAILS modules, followed by a mapping
of learning outcomes to objectives and assessments. It concludes with a brief overview
of lessons learned in the course of developing the TAILS modules.
Basic and Informed Search The basic and informed search modules present a set of
graduated experiments that familiarize students with a variety of search algorithms
including depth-first, breadth-first, non-deterministic search, hill-climbing, best-first,
beam, branch and bound, and A*3. Students study search using
and an eight-city map
of the United States and an application that finds paths through cities on the map as
shown in figure 1. Students select the starting and destination cities and an algorithm to
study, and then observe the way each algorithm searches the map by studying the
search tree produced during the execution of the algorithm. Students reflect on the
differences between the search trees generated to gain an understanding of in terms of
breadth, depth, number of nodes generated, and the length of the final path from the
starting to the destination city. In related exercises students hand draw the tree of all
loop free paths in the state space, and identify the nodes generated and explored by a
specific algorithms. They also analyze the design of the code as reflected in various
UML diagrams and write the lines of code needed to transform the general search
algorithm into one of the target search algorithms. They accomplish this by
3
incorporating into the otherwise complete application the appropriate enqueing
technique. Advanced students are challenged to solve more complex problems.
Figure 1. Basic and informed search application interface.
Adversarial Search The Adversarial Search module builds on Nine Men’s Morris
(NMM), a zero-sum strategy board game1. The board consists of three concentric
squares with the faces of each square connected by four intersecting lines. Each
intersection is a space on the board that can be occupied by one of either player's
pieces. The goal of this turn-based game is to create mills by placing three of the own
player's pieces in adjacent intersections while preventing the opposing player from
doing the same. Students become familiar with the NMM game by playing a version
online with classmates. Next, they play against the NMM computer player agent and
collect statistics on performance to use as baseline in subsequent experiments. Once
familiar with the game and its design, students add alpha beta pruning to the minimax
algorithm and compare performance to the baseline. A more challenging project for
advanced students is to add a state generator to omit symmetrical states from the
generated successor states, or to add a state generator to cache successor states until
branches they belong to are no longer needed.
Agent Architectures The Agent Architecture module of TAILS provides students the
opportunity to learn about agents and their environments in a variation of the commonly
encountered vacuum problem. In this version, lizards are tasked with cleaning up an
4
infestation of insects. The module emphasizes understanding concepts and applications
and presents the idea of agents and environments in the context of a complete software
project. The module is augmented on with a case study of intelligent agents4.
This module presents agents and their environments from three perspectives. First, the
student can select built-in agents, rendered as lizards, and observe and compare their
behavior as they scurry about the floor, represented as a grid of tiles, and devour
insects appearing in the room. Second, students can modify the parameters of the
environment to change whether it is accessible or inaccessible, deterministic or
stochastic, episodic or sequential, and static or dynamic. They can set the size of the
grid, the number of agents acting at a given time, and the number of insects invading
the environment. Students can create obstacles in the environment that the agents must
negotiate. Before attempting to write their own agents, students observe how the agents
behave in a variety of environments and discuss their observations with other students.
Third, students can add agents of their own to the environment and compare their
agents’ behavior to the behavior of the pre-defined agents, or have their agents
compete against those of another student. The user interface for the agent application
displays a mini-map of the area explored by each of four agents set up by the user. As
the agents explore the grid, the application displays a mini-map of the area explored by
each of the agents set up by the user
Conceptual Clustering The conceptual clustering module implements the COBWEB
conceptual clustering algorithm5 and presents a visualization of the taxonomy of the
clusters created from a set of user-specified feature vectors. The internal nodes of the
taxonomy are displayed as objects that reflect the average color and size of the objects
in the subtree below the node, and the most frequently occurring shape. Clicking on a
node reveals the summary data it represents. Students design a data set consisting of
multiple objects described by (color, shape, size) tuples. They experiment with various
input orderings to learn the effect that input ordering has on the resulting taxonomy and
number of high-level clusters that emerge. Students later implement the category utility
function used to determine the cluster to which each new feature vector should be
added.
Outcomes, Objectives, and Assessment Table 1 maps the TAILS learning
outcomes to objectives and assessments. We rely in part of the Dewar-Bennett
Knowledge Expertise Grid6 to analyze our data. The grid defines criteria for summative
evaluation that can be adapted for evaluating knowledge of engineering-related content
and rates a student's affective and cognitive knowledge in terms of the student's level of
expertise.
Lessons Learned and Challenges Ahead TAILS has faced three-fold challenges: 1)
development of engaging, robust, interactive digital learning aids requires a team of
software engineers, content experts, story tellers, and graphic designers9,10,11,12 that
was not envisioned when the project was proposed, resulting in adequate but simple
applications; 2) it is difficult to develop a software application that runs on multiple
platforms over an extended period of time, resulting in the need to periodically revise
5
code; and 3) the extent of the modules developed is broader than can be tested in a
one day workshop and low enrollments in computer science during the last seven years
thwarted efforts to perform classroom assessment. In its place, multiple, partial day
assessment workshops targeting non-majors are planned. Further work born of this
effort includes a proposed workshop to identify best practices to guide those developing
and assessing future online digital learning aids.
Table 1. TAILS learning outcomes [1].
Outcome
Students will
demonstrate the ability
to solve problems
collaboratively
Objective
Student will demonstrate
collaboration and teamwork
skills
Assessment
Students will work in pairs to complete
the lab activities, then:
• Complete a teamwork attitude
questionnaire7
• Write a team process log to record
perceptions about collaboration7
Students will
demonstrate
knowledge of artificial
intelligence concepts
Students will demonstrate
recall and general
understanding of AI concepts
• Answer exam questions
• Complete pre- and post-tests
• Explain and write software code
• Draw a concept map8 p.197-202
• Contrast multiple concepts8 p.168
• Define and give one example of a
course concept8 p.38
• Specify requirements for a software
program
• Complete a domain-level design for a
software program
• Design an algorithm at an
implementation-specific level
• Reverse engineer software for an
algorithm
• Write an elevator statement5 p.183-187
geared toward the student's
grandmother to describe the concept
Research
Application
Communication
Concepts
Skills
Category
Students will
demonstrate
knowledge of software
engineering practices
Students will be able to
describe course
concepts at multiple
levels of abstraction
Students will be able to
identify applications of
AI concepts
Students will
demonstrate curiosity
about course material
Students will demonstrate a
deep understanding of course
concepts
Students will demonstrate
proficiency in software
engineering practices at
background-appropriate
(grade- and majorappropriate) level
Students will be able to
describe course concepts
clearly and without technical
jargon
Students will be able to
describe course concepts for a
classmate or technical
manager
Students will be able to
identify real world applications
for AI concepts beyond those
provided in course materials
Students will demonstrate the
ability to extend course
concepts
6
• Write an algorithm in pseudocode to
describe the concept for a technical
manager
• Complete application cards5 p.236-239
• Describe one new experiment that
can be used in conjunction with each
algorithm studied; explain the
objective of the experiment and why
this is a worthwhile objective
• Describe one enhancement to the
algorithm studied and explain why the
enhancement is worthwhile
References
[1]
S.E. August (2012) "Enhancing expertise, sociability and literacy through teaching artificial
intelligence as a lab science." 119th Conference of the American Society for Engineering Education,
June 10-13, 2012, San Antonio, TX.
[2]
S.E. August, A. Neyer, M.J. Shields, J.I. Vales, and M.L. Hammers. (2010) "Co-opting games and
social media for education." AI and Fun Workshop at the 24th Association for the Advancement of
Artificial Intelligence (AAAI) Conference, July 11–15, 2010, Atlanta, GA; Alelo University seminar
series, Alelo, Inc., August 27, 2010, Los Angeles, CA.
[3]
S.E. August, M.A. Fraser, M.A. Vazquez, M.A. (2014) "Teaching artificial intelligence as a lab
science: basic and informed search" (abstract only). Proceedings of the 45th ACM technical
symposium on computer science education (SIGCSE '14). ACM, New York, NY, USA, 709-709. DOI:
10.1145/2538862.2544273
[4]
S.E. August. (2013) "Tsunami Warning System: a case study of intelligent agents." 27th AAAI
Conference on Artificial Intelligence, 4 th Symposium on Educational Advances in Artificial
Intelligence, July 14–18, 2013, Bellevue, WA. http://modelai.gettysburg.edu/.
[5]
D. Fisher (1987) "Knowledge acquisition via incremental conceptual clustering." Machine Learning,
vol. 2, no. 2, pp. 139-172.
[6]
J. Dewar and C. Bennett. (2004) 8-dimensional Mathematical Knowledge-expertise Grid.
http://myweb.lmu.edu/carnegie/webport/knowgrid.htm, Loyola Marymount University.
[7]
OERL: Online Evaluation Resource Library. http://oerl.sri.com/home.html
[8]
T.A. Angelo and K.P. Cross. (1993) Classroom Assessment Techniques; A Handbook for College
Teachers. 2nd edition. San Francisco: Jossey-Bass.
[9]
S.E. August and J. Ryoo. (co-presenters) (2013) "Virtual environments and game-based learning in
the classroom." National Science Principle Investigators' Forum. Eight meeting online national forum
presented September through November, 2013. http://ccliconference.org/pi-forum/ Refereed.
[10] S.E. August and J. Ryoo. (co-presenters) (2013) "Virtual environments in the classroom." PI-led
Workshop Session C13, 2013 National Science Foundation Transforming Undergraduate Education
in STEM, PI Conference, January 23-25, 2013, Washington, D.C.
[11] S.E. August and J. Ryoo. (2013). Virtual Environments and Game-based Learning in the Classroom.
2013 NSF CCLI/TUES PI Forum. Online: http://security.altoona.psu.edu/gbl/.
[12] S.E. August and J. Ryoo. (2014) "Can 3D virtual world environments and game-based learning
effectively teach computer science concepts?" Proceedings of the 45 th ACM technical symposium
on computer science education (SIGCSE '14). ACM, New York, NY, USA, 737-738. DOI: 10.1145/
2538862.2544264.
7
Biographical Information
Dr. August teaches courses in artificial intelligence, database management systems, software
engineering and introductory programming with Python and Snap! Her research interests include
broadening participation in STEM education using case studies, virtual worlds, and techniques borrowed
from the lab sciences. She also explores applications of artificial intelligence including interdisciplinary
new media applications, natural language understanding, and human-agent-robot teamwork. Dr. August
is actively involved in the Scholarship of Teaching and Learning community and one of the founding
members of CREATE-STEM, an interdisciplinary group of LMU faculty aimed at advancing and promoting
STEM education activities. She is a 2006 CASTL Institute Scholar (Carnegie Academy for the
Scholarship of Teaching and Learning). Dr. August has received NSF DUE IEECI and CCLI grants, and
co-led an NSF PI Forum on Virtual Environments and Game-based Learning in the Classroom. Before
coming to LMU she was a lecturer at LMU, UCLA, and UCI, and a software engineer with the Hughes
Aircraft Company (now Raytheon). Her industry experience includes software and system engineering for
several defense C3I programs and applied artificial intelligence research for military and medical
applications.
Dr. August has served as the Director of Graduate Studies for the Department of Electrical Engineering
and Computer Science at LMU and as the Special Assistant to the Chief Academic Officer for Graduate
Education at LMU. Dr. August is an active member of AAAI, ASEE, ACM, CCSC, and the IEEE Computer
Society.
8