Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Adaptive Learning Environments

4,043 views

Published on

Paul De Bra

Published in: Education, Technology
  • Be the first to comment

Adaptive Learning Environments

  1. 1. Adaptive Learning Environments Prof. dr. Paul De Bra Eindhoven University of Technology Terchova, June 2, 2009 JESS Summer School 2009 Slide 1
  2. 2. Topics • The need for adaptation – personalized: adaptable / adaptive • User Modeling • Adaptation – adaptive presentation – adaptive navigation • The GRAPPLE architecture • Authoring Terchova, June 2, 2009 JESS Summer School 2009 • Examples (if we have time) Slide 2
  3. 3. We live in a “one size fits all” world But we are not all the same size (physically or mentally) Terchova, June 2, 2009 JESS Summer School 2009 Slide 3
  4. 4. What’s the main difference between these pictures? Terchova, June 2, 2009 JESS Summer School 2009 Slide 4
  5. 5. Automatic ≠ Adaptive • Automatic systems = automatic fixed behavior (according to fixed rules) • Adaptive systems = automatic behavior that depends on environmental factors – first-order adaptation: the change in the automatic behavior follows fixed rules – second-order adaptation: the change in the automatic behavior is itself also adaptive – etc.: there is no limit to how adaptive systems can be • In this lecture we deal with user-adaptive systems: they adapt to users and the users’ JESS Summer School 2009 environment Slide 5 Terchova, June 2, 2009
  6. 6. Adaptation in any type of Information System • Adaptation of the Information – information adapted to who/where/when you are – information adapted to what you are doing and what you have done before (e.g. learning) – presentation adapted to circumstances (e.g. the device you use, the network, etc.) • Adaptation of the Process – adaptation of interaction and/or dialog – adaptation of navigation structures Terchova, June 2, 2009 JESS Summer School 2009 – adaptation of the order of tasks and steps Slide 6
  7. 7. Advantages of Adaptive Systems • Increased efficiency: – optimal process (of navigation, dialog, study order, etc.) – minimum number of steps – maximum benefit (of relevant information) • Increased satisfaction: – system gives good advice and relevant information – interactive applications do not make stupid moves • Return on investment: – recommending products the user needs is a form of advertising that really works – adaptive (non-IS) systems have better technical performance Terchova, June 2, 2009 JESS Summer School 2009 Slide 7
  8. 8. Disadvantages of Adaptive Systems • Adaptive Systems may learn the wrong behavior – adaptive games learn badly from bad players – generally: adaptation good for one user may be bad for another user; it is personal after all • Adaptive Systems may outsmart the users – all doomsday movies in which machines take over the world blame second order adaptive systems – a game that learns how always to win is no fun – an adaptive information system may effectively perform censorship – it may be hard to tell an adaptive system that it is wrong Terchova, June 2, 2009 JESS Summer School 2009 Slide 8
  9. 9. User-Adaptive Systems Terchova, June 2, 2009 JESS Summer School 2009 Slide 9
  10. 10. Main issues in Adaptive Systems • Questions to ask when designing an adaptive application: – Why do we want adaptation? – What can be adapted? – What can we adapt to? – How can we collect the right information? – How can we process/use that information • Exercise: answer these questions for: – a presentation (lectures, talks at conferences) – an on-line textbook – a newspaper site or an on-line TV-guide – a (book, cd, computer, etc.) store – a (computer) help system JESS Summer School 2009 Terchova, June 2, 2009 Slide 10
  11. 11. Forward and Backward Reasoning • Two opposite approaches for adaptation: • forward reasoning: 1. register events 2. translated events to user model information 3. store the user model information 4. adaptation based directly on user model information • backward reasoning: 1. register events 2. store rules to deduce user model information from events 3. store rules to deduce adaptation from user model information 4. performing adaptation requires backward reasoning: decide which user model information is needed and then Terchova, June 2, 2009 deduce which event information is needed for that. JESS Summer School 2009 Slide 11
  12. 12. Application Areas of AS • Educational hypermedia systems – on-line course text, with on-line multiple-choice or other machine- interpretable tests – we use AEH, AES and ALE as near-synonyms • On-line information systems – information “kiosk”, documentation systems, encyclopedias, etc. • On-line help systems – context-sensitive help, (think of “Clippy”) • Information retrieval and filtering – adaptive recommender systems Terchova, June 2, 2009 • etc. JESS Summer School 2009 Slide 12
  13. 13. Adaptive Educational Hypermedia • Origin: Intelligent Tutoring Systems – combination of reading material and tests – adaptive course sequencing, depending on test results • In Adaptive Educational Hypermedia: – more freedom for the learner: guidance instead of enforced sequence – adaptive content of the course material to solve comprehension problems when pages or chapters are read out of sequence Terchova, June 2, 2009 JESS Summer School 2009 – adaptation based on reading as well as tests Slide 13
  14. 14. Learning Management Systems • LMSs offer a “personal” learning environment: – registration for courses – personalization of the “workspace” – access to course material – assignments, tests, group work – communication tools: messages, discussion forums, chat – no built-in adaptive School 2009 functionality JESS Summer learning Terchova, June 2, 2009 Slide 14
  15. 15. The GRAPPLE Project • Glues an ALE and LMS together, offering an adaptive within the LMS • LMS and ALE talk with each other through a shared event bus • User Model data can be exchanged through the Grapple User Model Framework (GUMF) • Authoring is done mostly through graphical interfaces to create a domain model (DM) and a conceptual adaptation model (CAM) Terchova, June 2, 2009 JESS Summer School 2009 Slide 15
  16. 16. The GRAPPLE Learner View GRAPPLE User Learne r Learner scenario LMS Model Framework Shibboleth GRAPPLE Event Bus Reposito Repositor ryy GALE – adaptatio Student n engine Visualizatio ns Device GALE Adaptation Reposito Terchova, June 2, 2009 JESS Summer School 2009 ry Slide 16
  17. 17. The GRAPPLE Author View GRAPPLE Autho Authoring r tool (CAM, DM, CRT LMS DM CAM GALE – Reposito Reposito compile ry ry r GRAPPLE User Content Content Repositor Model Repositor GALE y Framewor y Repositor k y JESS Summer School 2009 Terchova, June 2, 2009 Slide 17
  18. 18. What can we Adapt to? • Knowledge of the user – initialization using stereotypes (beginner, intermediate, expert) – represented in an overlay model of the concept structure of the application – fine grained or coarse grained – based on browsing and on tests • Goals, tasks or interest – mapped onto the applications concept structure – difficult to determine unless it is preset by the user or a workflow system – goals may change often and more radically than Terchova, June 2, 2009 knowledge JESS Summer School 2009 Slide 18
  19. 19. What can we Adapt to? (cont.) • Background and experience – background = user’s experience outside the application – experience = user’s experience with the application’s hyperspace • Preferences – any explicitly entered aspect of the user that can be used for adaptation – examples: media preferences, cognitive style, etc. • Context / environment – aspects of the user’s environment, like browsing device, window size, network bandwidth, processing power, etc. Terchova, June 2, 2009 JESS Summer School 2009 Slide 19
  20. 20. User Modeling Terchova, June 2, 2009 JESS Summer School 2009 Slide 20
  21. 21. Modeling “Knowledge” in AES • Moving target: knowledge changes while using the application – scalar model: knowledge of whole course measured on one scale (used e.g. in MetaDoc) – structural model: domain knowledge divided into independent fragments; knowledge measured per fragment • type of knowledge (declarative vs. procedural) • level of knowledge (compared to some “ideal”) – positive (overlay) or negative information (bug model) can be used Terchova, June 2, 2009 JESS Summer School 2009 Slide 21
  22. 22. Overlay Modeling of User Knowledge • Domain of an application modeled through a structure (set, hierarchy, network) of concepts. – concepts can be large chunks (like book chapters) – concepts can be tiny (like paragraphs or fragments of text, rules or constraints) – relationships between concepts may include: • part-of: defines a hierarchy from large learning objectives down to small (atomic) items to be learned • is-a: semantic relationship between concepts • prerequisite: study this before that • some systems (e.g. AHA!) allow the definition of June Slide 22 JESS Summer School 2009 Terchova, 2, 2009
  23. 23. Which types of knowledge values? • Early systems: Boolean value (known/not known) – works for sets of concepts, but not for hierarchies (not possible to propagate knowledge up the hierarchy) • Numeric value (e.g. percentage) – how much you know about a concept – what is the probability that you know the concept • Several values per concept – e.g. to distinguish sources of the information – knowledge from Summer School different from June 2, 2009 JESS reading is 2009 Terchova, Slide 23
  24. 24. Modeling Users’ Interest • Initially: weighed vector of keywords – this mimics how early IR systems worked • More recently: weighed overlay of domain model – more accurate representation of interest – able to deal with synonyms (since terms are matched to concepts) – semantic links (as used in ontologies) allow to compensate for sparsity – move from manual classification of documents to automatic matching between documents and Terchova, June 2, 2009 an ontology JESS Summer School 2009 Slide 24
  25. 25. Modeling Goals and Tasks • Representation of the user's purpose – goal typically represented using a goal catalog (in fact an overlay model) – systems typically assume the user has one goal – automatic determination of the goal is difficult; glass box approach: show goal, let user change it – the goal can change much more rapidly than knowledge or interest • Determining the user's goal/task is much easier when adaptation is done within a workflow management system Terchova, June 2, 2009 JESS Summer School 2009 Slide 25
  26. 26. Modeling Users’ Background • User's previous experience outside the core domain of the application – e.g. (prior) education, profession, job responsibilities, experience in related areas, ... – system can typically deal with only a few possibilities, leading to a stereotype model – background is typically very stable – background is hard to determine automatically Terchova, June 2, 2009 JESS Summer School 2009 Slide 26
  27. 27. Modeling Individual Traits • Features that together define the user as an individual: – personality traits (e.g. introvert/extrovert) – cognitive styles (e.g. holist/serialist) – cognitive factors (e.g. working memory capacity) – learning styles (like cognitive styles but specific to how the user likes to learn) Terchova, June 2, 2009 JESS Summer School 2009 Slide 27
  28. 28. Modeling Users’ Context of Work • User model contain context features although these are not really all “user” features. – platform: screen dimensions, browser software and network bandwidth may vary a lot – location: important for mobile applications – affective state: motivation, frustration, engagement Terchova, June 2, 2009 JESS Summer School 2009 Slide 28
  29. 29. Feature-Based vs. Stereotype Modeling • Stereotypes: simple, can be designed carefully, very useful for bootstrapping adaptive applications • Feature-Based: allows for many more variations – each feature considered can be used to adapt something – detailed features leading to micro-adaptation do not necessary leading to overall adaptation that makes sense Terchova, June 2, 2009 JESS Summer School 2009 Slide 29
  30. 30. Uncertainty-Based User Modeling • Most used techniques: Bayesian Networks and Fuzzy Logic – user actions provide “evidence” that the user has (or does not have) knowledge of a concept – an expert needs to develop a qualitative model: • each concept becomes a “random variable” (node in BN) • source of evidence: reading time, answers to tests, etc. • consider direction between evidential nodes E and knowledge nodes K – causal direction: K → E (knowledge leads to evidence) – diagnostic direction: E → K (evidence leads to knowledge) • independence of variables influences validity Terchova, June 2, 2009 JESS Summer School 2009 of the model Slide 30
  31. 31. Generic User Modeling Systems • Adaptive Systems with built-in UM: – close match between UM structure and AS needs – high performance possible (no communication overhead) – UM not easily exchangeable with other AS • AS using a generic User Modeling System – cuts down on AS development cost – communication overhead – unneeded features may involve performance penalty Terchova, June 2, 2009 JESS Summer School 2009 – UM can be shared between AS Slide 31
  32. 32. Requirements for Generic UM Systems • Generality, including domain independence • Expressiveness and strong inferential capabilities • Support for quick adaptation • Extensibility • Import of External User-Related Information • Management of Distributed Information • Support for Open Standards • Load Balancing • Failover Strategies • Transactional Consistency • Privacy Support Terchova, June 2, 2009 JESS Summer School 2009 Slide 32
  33. 33. Requirements for Sharing UM Data • Sharing a technical API is not enough: – the AS must translate its internal user identities to the UM's user identities (and vice versa) – data about users need to be standardized – shared ontologies are needed for different AS dealing with the same domain (ontology alignment) – agreement on who can update what – agreement on meaning of “values” in the UM • “Scrutability” of UM: – UM data must be understandable for the user JESS control over their – users must have Summer School 2009 Terchova, June 2, 2009 Slide 33
  34. 34. User Modeling in GRAPPLE • User model is inherently distributed: – The LMS contains fairly stable information about the user (and also some assessment results) – The ALE contains mainly dynamically changing information about the user – There may be several components of each type • Different UM services may contradict each other – conflict resolution needed • Not every application is allowed to access/update UM data on every server Terchova, June 2, 2009 JESS Summer School 2009 Slide 34
  35. 35. Adding UM data to GUMF • GRAPPLE applications use GRAPPLE statements to communicate UM data • Registered clients have their own dataspace: subset of ‘own’ statements, derivation rules and schema extensions • Derivation rules generate new Grapple statements • Data can be declared public or private Terchova, June 2, 2009 JESS Summer School 2009 Slide 35
  36. 36. Retrieving GRAPPLE Statements Three ways to retrieve statements (plus combinations): Pull: Simple query interface to retrieve statements that match a certain pattern Push: Subscribing to a stream of statements; activated upon an event Manual: Browsing interface (for admin usage or scrutability) Terchova, June 2, 2009 JESS Summer School 2009 Slide 36
  37. 37. Grapple Statement Structure Main Part • Subject Subproperty: User • Predicate Property (specified in ontology) • Object Value of the statement • Level Qualification/level (if applicable) • Origin The statement in its original form (if applicable) Meta Part • ID Globally unique • Creator Entity that created the statement • Created Time of creation/submission of statement • Access Data for any kind of access control mechanism • Temporal Constraints on validity of statement • Spatial In which contexts is statement valid Terchova, June 2, 2009 • Evidence Refers to or embodies formal JESS Summer School 2009 evidence Slide 37
  38. 38. Example GRAPPLE Statement “Peter is interested in Sweden” gc = http://www.grapple-project.org/grapple-core/ foaf = http://xmlns.com/foaf/0.1/ gc.Statement { gc:id gc:statement- peter-2009-01-01-3234190; gc:user http://www.peter.de/foaf.rdf#me; gc:predicate foaf:interest; gc:object: http://en.wikipedia.org/wiki/Sweden; } JESS Summer School 2009 Terchova, June 2, 2009 Slide 38
  39. 39. RDF/XML Serialization “Peter is interested in Sweden” <rdf:RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax#“ xml:base=“http://www.grapple-project.org/statements/“ gc = “http://www.grapple-project.org/grapple-core/” foaf = http://xmlns.com/foaf/0.1/> <rdf:Description rdf:ID=“gc:statement-peter-2009-01-01-3234190“> <user> http://www.peter.de/foaf.rdf#me </user> <predicate> foaf:interest </predicate> <object> http://en.wikipedia.org/wiki/Sweden object> <creator> www.l3s.de/~herder/foaf.rdf#me</creator> <created> 2009.01.01 </created> … </rdf:Description> Terchova, June 2, 2009 JESS Summer School 2009 Slide 39 </rdf>
  40. 40. What does ‘interest’ mean? This is defined in the FOAF ontology (any kind of ontology can be used) <rdf:Property rdf:about=quot;http://xmlns.com/foaf/0.1/interestquot; vs:term_status=quot;testingquot; rdfs:label=quot;interestquot; rdfs:comment=quot;A page about a topic of interest to this person.quot;> <rdf:type rdf:resource=quot;http://www.w3.org/2002/07/owl#ObjectPrope rtyquot;/> <rdfs:domain rdf:resource=quot;http://xmlns.com/foaf/0.1/Personquot;/> <rdfs:range rdf:resource=quot;http://xmlns.com/foaf/0.1/Documentquot;/> 2, 2009 Terchova, June JESS Summer School 2009 <rdfs:isDefinedBy rdf:resource=quot;http://xmlns.com/foaf/0.1/quot;/ Slide 40
  41. 41. Adaptation Terchova, June 2, 2009 JESS Summer School 2009 Slide 41
  42. 42. What Do We Adapt in AEH? • Adaptive presentation: – adapting the information – adapting the presentation of that information – selecting the media and media-related factors such as image or video quality and size • Adaptive navigation: – adapting the link anchors that are shown – adapting the link destinations – giving “overviews” for navigation support and for orientation support Terchova, June 2, 2009 JESS Summer School 2009 Slide 42
  43. 43. Adaptive Content/Presentation Terchova, June 2, 2009 JESS Summer School 2009 Slide 43
  44. 44. Canned Text Adaptation • Inserting/removing fragments – prerequisite explanations: inserted when the user appears to need them – additional explanations: additional details or examples for some users – comparative explanations: only shown to users who can make the comparison • Altering fragments – Most useful for selecting among a number of alternatives – Can be done to choose explanations or examples, but also to choose a single term • Sorting fragments – Can be done to perform relevance ranking for Terchova, June 2, 2009 instance JESS Summer School 2009 Slide 44
  45. 45. Canned Text Adaptation (cont.) • Stretchtext – Similar to replacement links in the Guide hypertext system – Items can be open or closed; system decides adaptively which items to open when a page is accessed • Dimming fragments – Text not intended for this user is de-emphasized (greyed out, smaller font, etc.) – Can be combined with stretchtext to create de- emphasized text that conditionally appears, or only appears after some event (like clicking on a tooltip icon) Terchova, June 2, 2009 JESS Summer School 2009 Slide 45
  46. 46. Example of inserting/removing fragments, course “2L690” • Before reading about Xanadu the URL page shows: – … In Xanadu (a fully distributed hypertext system, developed by Ted Nelson at Brown University, from 1965 on) there was only one protocol, so that part could be missing. … • After reading about Xanadu this becomes: – … In Xanadu there was only one protocol, so that part could be missing. … Terchova, June 2, 2009 JESS Summer School 2009 Slide 46
  47. 47. Example of inserting/removing fragments: the GEA system. • selects objects based on matching attributes (arguments) to user preferences • presents arguments with relevance greater than a (customizable) threshold. Terchova, June 2, 2009 JESS Summer School 2009 Slide 47
  48. 48. Example with group adaptation: Intrigue (adaptive tourist guide) Terchova, June 2, 2009 JESS Summer School 2009 Slide 48
  49. 49. Stretchtext example: the Push system Terchova, June 2, 2009 JESS Summer School 2009 Slide 49
  50. 50. Scaling-based Adaptation Terchova, June 2, 2009 JESS Summer School 2009 Slide 50
  51. 51. Adaptive Navigation Support Terchova, June 2, 2009 JESS Summer School 2009 Slide 51
  52. 52. Adaptive Navigation Support • Direct guidance – like an adaptive guided tour – “next” button with adaptively determined link destination • Adaptive link generation – the system may discover new useful links between pages and add them – the system may use previous navigation or page similarity to add links – generating a list of links is typical in information retrieval and filtering systems • Variant: Adaptive link destinations – link anchor is fixed (or at least always present)Terchova, June 2, 2009 JESS Summer School 2009 but the Slide 52
  53. 53. Adaptive Navigation Support (cont.) • Adaptive link annotation – all links are visible, but an “annotation” indicates relevance – the link anchor may be changed (e.g. in color) or additional annotation symbols can be used • Adaptive link hiding – pure hiding means the link anchor is shown as normal text (the user cannot see there is a link) – link disabling means the link does not work; it may or may not still be shown as if it were a link – link removal means the link anchor is removed (and as a consequence the link cannot be used) – a combination is possible: hiding+disabling means the link Terchova, June 2, 2009 anchor text is justJESS Summer School 2009 plain text Slide 53
  54. 54. Adaptive Navigation Support (cont.) • Map adaptation – complete (site)maps are not feasible for a non- trivial hyperspace – a “local” or “global” map can be adapted by annotating or removing nodes or larger parts – a map can also be adapted by moving nodes around – maps can be graphical or textual – adaptation can be based on relevance, but also on group presence Terchova, June 2, 2009 JESS Summer School 2009 Slide 54
  55. 55. Example of Direct Guidance • Simple: suggest one best page to go to – Webwatcher: curious eyes – Sometimes a “next” button – Popular in ITS (sequencing) Terchova, June 2, 2009 JESS Summer School 2009 Slide 55
  56. 56. Example: Link Ordering/Sorting • Sorting links from most to least relevant. – first introduced in Hypadapter (Lisp tutor) – manual reordering by the user (if supported) can be used as feedback to update the user model Terchova, June 2, 2009 JESS Summer School 2009 Slide 56
  57. 57. Example: Link Annotation in ELM-ART Terchova, June 2, 2009 JESS Summer School 2009 Slide 57
  58. 58. Example: link annotation in Interbook 4 3 2 √ 1 1. Concept role 3. Current section state 2. Current concept state 4. Linked sections state Terchova, June 2, 2009 JESS Summer School 2009 Slide 58
  59. 59. Example: Link Annotation in ISIS-Tutor Terchova, June 2, 2009 JESS Summer School 2009 Slide 59
  60. 60. Example: Link Annotation and Hiding in ISIS-Tutor Terchova, June 2, 2009 JESS Summer School 2009 Slide 60
  61. 61. Example: Link Generation in Alice Terchova, June 2, 2009 JESS Summer School 2009 Slide 61
  62. 62. Adaptation in GRAPPLE: GALE • The GRAPPLE Adaptive Learning Environment has the following main properties: – three separate components: UM server, DM/AM server, adaptation engine (AE) – linked through an internal event bus – separation between concepts and content – adaptation rules can call arbitrary (Java) code – supports forward and backward reasoning – adaptation to arbitrary XML formats (not just HTML) – works stand-alone or within the GRAPPLE June Slide 62 JESS Summer School 2009 Terchova, 2, 2009
  63. 63. Creating GALE Applications • Creating a conceptual structure: – domain model (concepts, conceptual relationships like “is-a”, “part-of”, etc.) – conceptual adaptation model (pedagogical relationships like “prerequisite”) • Creating content as a “website”: – any XML format is supported – use “gale” name space for adaptive Terchova, June 2, 2009 JESS Summer School 2009 elements Slide 63
  64. 64. Three Types of Authoring • A concept can be associated with one resource (page); each page is authored separately. • A concept can be associated with a template resource (shared between many concepts); the template “includes” content fragments (with URLs from the concept’s attributes). • A concept may rely on a presentation engine to generate a layout and “include” content Terchova, June 2, 2009 JESS Summer School 2009 fragments (from the concept’s attributes). Slide 64
  65. 65. Creating a GALE Page • It’s “mostly” like XHTML but needs name spaces: <html xmlns=http://www.w3.org/1999/xhtml xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:gale=http://gale.tue.nl/adaptation xsi:schemaLocation=quot;http://www.w3.org/1999/xhtml http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd” • HTML tags are used without name space, GALE tags with name space: – adaptive link anchor: <gale:a href=“newconcept”>anchor text</gale:a> – conditionally included object: <gale:object name=“conceptname” /> – conditionally included in-line fragment: Terchova, June 2, 2009 JESS Summer School 2009 <gale:if expr=“${someconcept#someattribute}&gt;0”> Slide 65
  66. 66. GALE Expressions • References to concepts/attributes using URIs: – ${#attribute} refers to an attribute of the current concept – ${concept#attribute} refers to an attribute of the named concept of the current course – ${gale://server.where:port/gale/course/concept#attribute} refers to an attribute of a concept of some course somewhere on another server. • Java expressions, escaping reserved characters (<>) – ${concept#knowledge} &gt; 50 (is the knowledge of the concept greater than 50) – gale.concept().getApplication() Terchova, June 2, 2009 JESS Summer School 2009 (gives the name of the course of the current concept) Slide 66
  67. 67. Milky Way • Example with an “interesting” domain model • Similar concepts can be presented in a similar way (hence templated- based authoring) Terchova, June 2, 2009 JESS Summer School 2009 Slide 67
  68. 68. Example Pages • Page template shows: – title (Sun, Earth, Moon) – reference to parent – image (with caption) – information paragraph – list of children concepts Terchova, June 2, 2009 JESS Summer School 2009 Slide 68
  69. 69. Acknowledgements • GALE is based on earlier work on AHA! that was partly developed with a grant from the NLnet Foundation • Part of this work was performed as part of the EU FP7 STREP project GRAPPLE (215434) Terchova, June 2, 2009 JESS Summer School 2009 Slide 69
  70. 70. Prerequisites for Workshop • In order to do a hands-on workshop we need: – JDK 1.5 or 1.6 (http:/java.sun.com/javase/downlaods/index.jsp) – Maven 2 (http://maven.apache.org/download.html) – Tomcat 6 (http://tomcat.apache.org/downlaod-60.cgi) – MySQL 5.1 ( http://dev.mysql.com/downloads/mysql/5.1.html#downloads ) • You also need: – the permission to run services, and to create tables in MySQL – a working network connection at 2009 during setup June 2, 2009 JESS Summer School least Terchova, Slide 70

×