Search Results for: online tutor for 6.034

xTutor – Toolkit

Advanced Information on the XTutor Toolkit

The XTutor toolkit is being developed MIT Department of Electrical Engineering and Computer Science, and scheduled to be released in summer 2005. A preliminary version of the toolkit has been used by several thousand students over the past few years in the MIT’s mainstream courses in introductory software, artificial intelligence, computer architecture, and discrete mathematics.

The toolkit supports the delivery of online lectures and automated tutoring. It lets students hone their skills by answering questions and by debugging designs in an environment that encourages easy exploration and provides immediate feedback. Automated interaction interests students and saves staff from the tedium of correcting assignments. Assignments can include the kinds of fill-in and multiple choice problems common in computer tutoring programs. They can also move beyond simple questions and answers to more interesting automated interactions such as circuit design, writing programs (6.001), and proving theorems (6.034).

Some XTutor details

XTutor will be based on Twisted/Nevow, an open-source, Python-based framework for implementing web services. The XTutor team has contributed numerous bug fixes and a flexible template system for creating web pages from database information to this open-source project. The framework

  • serves http/https, standard web documents
  • support user extensions (coded in Python) triggered by URL or file type
  • handles certificate-based or password-based authentication
  • efficiently manages threads and database connections

XTutor is designed to be a turnkey system that can be easily adapted to many courses with minimal administrative overhead. It can be installed as a a wrapper around an existing course website, and adds web-based course administration tools, as well as XDocs, which provides interactive access to an XML-based content repository.

XTutor uses a lightweight database (SQLite) for logging and data-mining, and provides simple schemas for user info, document info, log entries for each user interaction with a document, including answers and other info associated associated with each interaction.


XDocs is a collection of user-extensible interactive XML documents. Users can define new namespaces/tags and provide handlers that determine how the tags are processed when generating XHTML and checking student submissions.

Handlers are specified separately from the document itself. This approach, which differs from the usual implementation of “server pages”, ensures that the content isn’t intertwined with the underlying mechanism, making it much easier to reuse the content.

  • There are predefined handlers to support answer types: numbers, multiple choice, etc.
  • Different handlers can be specified for different contexts, e.g., rendering a question and answer as a worked example vs. part of an on-line quiz.
  • When checking a response, a tag handler can access the complete document tree and history of student’s answers to questions in the document, e.g., “mark this correct if all answers in this section sum to 15 and this is at most the third attempt at an answer”.
  • Handlers can invoke external programs for content display (e.g., creating a GIF image of a graph) or checking a response (e.g., running a circuit simulator or a proof checker).

The XDoc system also handles user submissions related to a particular xdoc. Typically the submissions are in the form of a HTTP POST generated by the browser when the user clicks a submit button. But more sophisticated client-side applets can use other submission mechanisms, such as XMLRPC, to interact with the XDoc system. The incoming responses are processed by the tag handlers and then saved in the logging database.

The XDoc system handles bookkeeping chores, such as

  • user authentication (passwords or certificates can be used).
  • reading the requested xdoc, dynamically loading the appropriate tag handlers, and building the document tree
  • fetching the history of responses for this particular (student,document) pair from the logging database. A particular history entry is accessed by keyword and consists of a list of previous responses. The keyword is usually a unique ID associated with each response requested from the user, but might be any other annotation the handlers have made about the student’s state.
  • canonicalizing incoming responses
  • performing the necessary processing — generating XHTML, checking incoming responses, etc. — by calling the appropriate method of the tag handler associated with the root node of the document tree. Each tag handler is responsible for the processing of its child nodes; typically, the appropriate method is called in the tag handler for each child and the processing traverses the document tree in a top-down left-to-right order. The handlers can refer to the user’s previous responses and tailor their actions accordingly.
  • updating the database after each submission

For more information

iCampus will provide more information on XTutor as we begin to use the new implementation at MIT in the spring. We expect to have a package ready for public distribution in summer 2005.

xTutor – Artificial Intelligence

Artificial Intelligence

Artificial Intelligence (MIT course 6.034) is the header course for the Department of Electrical Engineering and Computer Science’s concentration in “Artificial Intelligence and Applications”.

The course introduces representations, techniques, and architectures used to build applied systems and to account for intelligence from a computational point of view. Topics covered include: applications of rule chaining, heuristic search, logic, constraint propagation, constrained search, and other problem-solving paradigms, as well as applications of decision trees, neural nets, SVMs and other learning paradigms.

Students completing the course should be able to:

  • Explain the basic knowledge representation, problem solving, and learning methods of Artificial Intelligence
  • Assess the applicability, strengths, and weaknesses of the basic knowledge representation, problem solving, and learning methods in solving particular particular engineering problems
  • Develop intelligent systems by assembling solutions to concrete computational problems
  • Understand the role of knowledge representation, problem solving, and learning in intelligent-system engineering
  • Appreciate the role of problem solving, vision, and language in understanding human intelligence from a computational perspective

The course uses lecture notes that are freely available online from MIT OpenCourseWare. The OpenCourseWare web site for the course includes a syllabus, readings, and an sample examinations.

The online course

The online material for 6.034 has been in use at MIT since the fall of 2002, with about 500 students each year. The material includes recorded audio lectures by Prof. Tomás Lozano-Pérez and Prof. Leslie Leslie Kaelbling that are matched to lecture slides, full transcripts, and lecture handouts. There are also weekly online interactive homework problems using the 6.034 tutor. With the tutor, students fill in answers and ask the system to check and score their answers. They then submit the results, which are maintained in a data base for use by the course instructor.

Using the iCampus system for self-study

iCampus maintains a public implementation of the 6.034 tutor at Anyone is free to use this for demonstrations or self-study.

Click here for help on getting started with the iCampus 6.034 online public tutor.

Using the iCampus system for teaching a class

iCampus invites faculty to use the online tutor for teaching classes. If you want to do this, you should first experiment with the system yourself, and then contact the iCampus Outreach Director to arrange for your class to use a customized instance of the course. A customized instance lets you provide your own messages and set the due dates for the assignments. We will also give you access to tools for managing student accounts and reviewing student scores on the problems.

iCampus can provide only limited personal support for your teaching, but we do invite you to participate in a self-help learning community of students and teachers who are using this material.

Contact us to request a customized course instance for your class.


About MIT iCampus Outreach Program

The MIT iCampus Outreach Initiative seeks to disseminate innovative educational technology tools that can make a significant, sustainable difference in how well and quickly students learn, how much they remember, and how fast they can shift from absorbing facts and concepts to creating new ideas and solutions themselves. With Microsoft Research, MIT iCampus Outreach seeks faculty and institutions looking to adopt new educational tools. The Outreach project will provide the software tools, supporting documentation, and guidance to assist higher education institutions to successfully implement these tools. To find out more information about the MIT iCampus Outreach projects please contact us. Join a community of like minded faculty at institutions around the world who are seeking to transform the practice of higher education with educational technology.

Learn More about MIT iCampus Projects

  • Remote labs (iLabs)
    The iLabs project is dedicated to the proposition that online laboratories – real laboratories accessed through the Internet – can enrich science and engineering education by greatly expanding the range of experiments that students are exposed to in the course of their education. To learn more visit
  • Cross Media Annotation System (xMAS)
    xMAS – the iCampus Cross Media Annotation System provides tools to enhance the use of video and image collections in humanities courses and in any subject in which precise reference to visual materials is needed. Close reading, analysis and sharing of interpretation of textual materials has long been a central part of humanities teaching and learning. XMAS is based on the idea that humanities education is increasingly multimedia in character. XMAS can be used in conjunction with image and text collections, and is currently optimized for use with commercially available DVDs as video source. XMAS allows users to rapidly define segments of film which can be replayed by clicking on automatically created links that can be saved in a list or dragged and dropped into discussion threads or online essays.
  • Sketch for Understanding (Magic Paper)
    The Natural Interaction research project (formerly Magic Paper) enables a novel form of interaction with software, making it possible to describe things by sketching, gesturing, and talking about them in a way that feels completely natural, yet have a computer understand the messy freehand sketches, casual gestures, and fragmentary utterances that are part and parcel of such interaction. To learn more about Natural Interaction visit
  • Online lectures and Homework (XTutor)
    XTutor Release 1 is a complete set of lectures, captured as audio recordings and transcripts, problem sets, interactive tutoring agents and assignment tracking supporting an introduction to computer science (Structure and Interpretation of Computer Programs, 6.001 at MIT), and Artificial Intelligence (course 6.034). To learn more about XTutor visit
  • Compliant Mechanism Tool (CoMeT)
    CoMeT was created to shorten the compliant mechanism design process. The goal was to enable the designer to gain a “big picture” view of the critical facets of compliant mechanism design, fabrication and use, and to develop a simulation tool that may be used to generate and evolve new compliant mechanism designs. A Compliant mechanism is a device that transfers or transforms motion, force, or energy in order to perform work. A few examples that come to mind are springs, tweezers, and a bow-and-arrow. To learn more about the Compliant Mechanism Tool visit
  • MIT Online Assessment Tool (iMOAT)
    iMOAT, the iCampus MIT Online Assessment Tool, is a service for Web-based administration and grading of writing examinations. It has been used for assessing writing skills of MIT entering students since 1998 and refined by writing instruction experts at five major universities. To learn more about iMOAT visit
  • Technology-Enabled Active Learning (TEAL)
    Technology-enabled active learning is a teaching format that merges lectures, simulations, and hands-on desktop experiments to create a rich collaborative learning experience. By the fall of 2005, TEAL will be used for almost all MIT introductory physics instruction. To learn more about TEAL visit
  • Peer Review Evaluation Process (PREP)
    PREP, or Peer-Review Evaluation Process, is a design methodology for use in teams. It is a process by which four to six individuals develop ideas and then share them as a team, so that the team can then select the best idea. It has been used successfully at MIT in Mechanical Engineering Course 2.007, in which students design and build robots for a competition held each spring. The PREP process may be done manually, or it may be done in a web-enabled version written on top of Microsoft SharePoint. To learn more about PREP visit

Please contact the MIT iCampus Outreach Director for more information.