February 21, 2006

Learning XTutor - Moving on to Phase II

I have a few milestones to update. For starters, after a few bumps in the road, we have an XTutor production server running on a Linux server (gnix.gc.maricopa.edu:9080/xtutor)at GCC. This will allow me to demonstrate the XTutor content I develop in my investigation of XTutor.In addition to that, much progress has been made on understanding the XTutor tool. Given these advances, I see my understanding of XTutor moving into three tracks or directions. I will summarize each.

Track One - Track One is where I have spent the most time so far and includes developing XTutor content using the xmlTags which are delivered with the base product. These xmlTags represent the most common controls needed to process student problem sets (support for multiple choice, true/false, fill in questions) inside your html web pages. A problem set would be a part of a page which tests student understanding and provides feedback on how the student is progressing. An example of this can be seen in a "work in process" XTutor page I am working on: You can see this by accessing this URL: http://gnix.gc.maricopa.edu:9080/xtutor/pseudocode1.xdoc. If you are asked to provide a username / password, use guest as the username with no password. You should read all of the documentation at http://gnix.gc.maricopa.edu:9080/xtutor/. The tag handlers section is complicated and is not needed to use the product, only to extend it (see Track Three).

I have learned that developing XTutor content in this most basic format,where you are using XTutor templates, is probably the best starting point. You build xml documents called xdocs that combine the xhtml and xmlTags into content that is displayed by the PYTHON based XTutor server. The expertise level needed to use the templates provided by XTutor is comparable to developing content with html.

The best way to develop your pages is to start with a local server. This is very common way to develop web based content (i.e. similar to using apache for developing php scripts or a local IIS server for developing Microsoft ASP.Net applications). For example, many html developers use a local Apache server to develop their web pages and when development and page is complete, the project is moved to the production server. XTutor is no different and you can use either a Windows or Linux server as a development XTutor server. XTutor provides both. For me, I use the Windows version for development and testing and the Linux version on http: //gnix.gc.maricopa.edu:9080/ for production.

Track Two
- This track has been very problematic this week and it involves the operational aspects of XTutor. I include the starting and running the XTutor server and the XTutor database as part of this track. The XTutor Windows install was very straight forward. The Linux piece has more pieces and may have an error in the install directions. I am also more familiar with Windows so the Linux was probably more difficult for me than fora person who was more familiar with Linux. The good news is that it looks like once you are done with the XTutor server install and can view one of the sample scripts, you are good to go.

On the database side, I am still researching the capabilities. Some database support is built in but more can be added if you develop custom handlers (Track Three). Essentially, the database keeps track of answers, student interactionsalong operational data (users, time, correct answers, etc.). I will be asking the authors at MIT for more examples of how to best use this stored data. There are some custom reports built into the administration tool but there is also an ability to customize the system with database queries. A tool that does not come with XTutor but will access and let you run SQL queries on the XTutor database is SQLite and can be downloaded at: http://www.sqlite.org/download.html. If you know SQL and a little about relational databases, this tool is similar to oSQL and other line mode SQL tools used to maintain and report database data.

Track Three - This is the most challenging and the most exciting. XTutor is extensible in that you can build problem sets which are customized and do programming on student input behind the scenes (similar to what is done with BlackBoard building blocks). I would look at the Palindrome example on the GCC Server so see an example of this. XTutor allows you to overload class methods to perform XTutor PYTHON routines. This has the steepest learning curve. You need to be familiar with object orientated programming, PYTHON and xml. This is not necessary to use the product but only to develop new features. This might be compared to using BlackBoard versus developing add-ons for BlackBoard. Many people use BlackBoard quite successfully without customization but only a few people would ever write custom BlackBoard add-ons. There may be a situation where a few might writing custom tag handlers and share them with others (i.e. Perhaps some might develop an xmlTags for student journaling. Something not currently in XTutor). Maybe a few people around the District would develop new features and share them with others who would have never tried to take on this advanced topic (i.e. again, similar to BlackBoard).

A long blog entry.... I may have violated all the rules and etiquette for blogging but a lot has happenedsince the last update. As always, if anyone is interested in getting started with XTutor let me know. I will also be sharing my work in the Ocotillo Retreat in May.

Posted by gmarrer at 02:01 PM | Comments (1) | TrackBack

February 02, 2006

Authoring a XTutor Page

I have reached a milestone with XTutor. I have been able to build my first XTutor page. After a few bumps in the road regarding curly quotes and XHTML (yes, this one took me 20 minutes before I saw my error), I was able to merge an HTML page I had written for a programming class on pseudo code into a XTutor page. My pseudo code page was pretty typical of the kinds of web pages we all design to help students with topics that need a little more instruction than a textbook can provide. I wanted to add questions to my XTutor page to give my students the ability to check their understanding of the subject and also capture their progress for assessment and feedback.

As I have mentioned in my earlier blogs, XTutor requires a greater amount of technical expertise than what might be typically expected of a person developing in a product like BlackBoard. I also suspect this is temporary as tools will be certainly developed to make the authoring on XTutor easier. I was able to make my editing of XTutor easier by customizing a popular text editor called TextPad. After an email to one of the XTutor developers, I took their advise and used the XML XDOC templates that are shipped with the XTutor download and simply plugged them into the page I was creating. The page format used by XTutor is not HTML but instead a XML document. In a XTutor document, you have a combination of XHTML tags (very similar to HTML) and XML templates that represent the problem set you wish to implement (i.e. true/false, multiple choice, fill in, etc.). With TextPad, you can add a tool interface. In my case, I added an interface to my XTutor server so I was able to display the XTutor page I was working on. I also added a syntax filter to TextPad that did syntax coloring for XHTML to make the XHTML tags a different color and easier to spot. WIth TextPad, the editing is text only. You will not have the wysiwyg interface of FrontPage or DreamWeaver. You need to understand a little about HTML, XHTML, XML and XTutor XDocs. For programmers, you might see that I have set up TextPad to be my IDE (integrated Development Environment). IDE's make programmers more productive so my hope was to make me more XTutor productive.

You can start developing in XTutor with just a few downloaded programs and a couple of administration steps. The XTutor site http://xtutor.org:8080/ has the downloads and instructions. To develop your own pages, you need a running PYTHON XTutor server (which is one of the downloads) which will allow you to render your XTutor pages in a web browser (IE, FireFox, etc.).

Having said all this, I am working on a couple of things. First, with the help of Alan Levine, I hope to have a test XTutor server available to allow my blogs to connect to a XTutor server and demonstrate my pages. I also understand that the language of my blog is technical. It may be a little early for anyone else to want to also develop in XTutor but I want to extend the offer of using a discussion board or wiki to get into the technical details for those who would like to get started (gary.marrer@gcmail.maricopa.edu).

Coming soon..... In my next blog, I hope to be able to show my XTutor pages along with an analysis of the database used for assessment. Until then.....

Posted by gmarrer at 02:24 PM | Comments (0) | TrackBack