On Sun, 26 Sep 2004 01:51:58 +0900, Paul van Tilburg <paul / luon.net> wrote: > Hi all, > > For a course in university (Intelligent Systems -- AI, neural nets, > expert systems etc.) I and others have to write some kind of intelligent > agent. Inspired by the "tutor" example of the course and our love for > Ruby, we decided (free choice assignment) to write a Ruby Programming > Language Tutor. how related is this to the work of allen nwwell and john anderson with SOAR and ACT-R, respectively? http://sitemaker.umich.edu/soar/ http://act-r.psy.cmu.edu/ http://en.wikipedia.org/wiki/Cognitive_tutor -z > Purpose > ------- > The tutor's purpose is to learn the student Ruby basics by means of > lessons. A lesson could explain for example the aspects of Integers by > giving the student assignments and give answer to or elaborate on > questions like: Why? How? When? etc. > > The tutor gives assignments which the student must complete. Besides > the fact the user must give correct output, not all code that produces > this output will suffice. The student should familiar him/herself with > some of Ruby's best programming practices too. > > For example the assignment could be: > Print the numbers 10 till 15, each on a line. > > The student could do: > | puts 10, 11, 12, 13, 14, 15 > but we would really like him to use: > | (10..15).each { |i| puts i } > and maybe not even > | (10..15).each do |i| puts i end > because it's common style to use { ... } for one-liners. > > Note that the agent could decide to allow the first input, because > the student hasn't done the lesson on iteration yet. > > Interface > --------- > Everything should run in a web browser. The idea is to present > an interface to select lessons (possibly not all order restricted), > show progress and the actual lesson interface. > This interface presents the user with the assignment, a form to type in > his/her code and some buttons for asking Why?, When?, How? or to > request a hint. > > Everything said above hasn't crystallised yet and isn't definite at all. > But if some of you know some interesting links, libraries or > documentation pointers, please let me know! > Things we are especially interested in: > * A simple step-for-step tutorial we can use as bases for our lessons > (Pickaxe, Poignant guide are great, but not suited.) > * Ruby style guides (except for the one on RubyGarden). > * Adaptive hypermedia libraries? > * Libraries for investigating the input of the user. Validation by > means of evaluation is necessary, but we also like to investigate > the structure of what the user typed, so the agent can give hints on > how to do it better. > > Thanks for the help, > > Paul > > -- > Student @ Eindhoven | JID: paul / luon.net > University of Technology, The Netherlands | email: paul / luon.net > >>> Using the Power of Debian GNU/Linux <<< | GnuPG: finger paul / luon.net