Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


If in doubt about how to submit, see SUBMISSION_GUIDELINES file.

In this exercise, we'll be designing and building a proof of concept implementation for a conversation simulator, something akin to the famous ELIZA program ( ). Please keep the following guidelines in mind while working on this problem.


  • This project has two main parts: The first is to discuss the problem as a group and talk about possibly design strategies after nailing down the minimum requirements as well as any 'would be nice' features. The second is for each student to build a usable prototype based on the ideas discussed among the whole group.

  • The less you participate in the design discussions, the more you are expected to have an especially innovative and well polished prototype to submit. However, even those who are very active in the discussions are expected to have a working prototype of their own if they want to receive credit for this assignment.

  • Your prototype may take on a limited subset of the goal of having a fully functional conversation simulator, but the code itself should both do something useful and be well written. Even though this is a prototype, it is not a spike, so any loose ends should be tied up or cleanly stubbed out, making for a clean codebase.

  • Your simulator should have at least some basic seed data for simulating a conversation, but it's up to you how creative you want to be. A fun simulation is a bonus, but we mainly care about what your engine can do, not how exciting the conversation it generates is.

  • The user interface for your bot can be anything you want, but needn't be more complicated than a simple text based interface on the command line. Feel free to share UI code with the whole group, to cut down on duplication.

  • Make sure you don't get sucked too far into requirements discovery, this problem is much bigger than what can reasonably be done in a few weeks, so just carve off a slice and be sure to leave time for your other assignments.



Hit up the mailing list or IRC. RMU exercises are left deliberately open ended, and often benefit from some discussion before, during, and after you work on them.

Something went wrong with that request. Please try again.