CEL about CEL


CEL was designed to:

  • run inside a normal web browser, so that students do not need to install any special software;
  • implement a "plug and play" client-server architecture so that new activities can be added easily;
  • support many types of activities: collaborative or competitive, free-play (asynchronous) or turn-taking (synchronous), single or multi-player.

The idea is for CEL to enforce user anonymity and support real-time multi-user educational activities. The same activity can be played in different modes, to allow many kinds of experiments to be performed.

The original version of CEL, created, tested and used for formative research in 1997-2000, was implemented in C-based CGI and Java. An experimental version was tested in 2001. The current version, under development since early 2007 in collaboration with Children's Progress Inc, is being written in Flash.


a quick tour of CEL

Inside CEL, participants are represented only by two-dimensional graphical icons called IDsigns, which users create themselves using a simple pixel-editing tool called the IDsigner.

After logging in, students are shown a simple menu page, containing a list of available activities; clicking on an icon selects that activity. Next, users are placed in an open playground, a page that contains a matrix filled with IDsigns belonging to other users who are currently logged into CEL and are engaged in the same activity These are a user's playmates; together they comprise a user's playgroup.
By clicking on a playmate's IDsign, a student invites that playmate to join her in a match. The match begins when the browser displays a game page, containing a Java applet that facilitates play.

Both players participate according to the particular format of the selected game. When the match is over, each player is returned to his playground and is then free to engage in another match with another (or the same) playmate.

A sample activity, a keyboarding game called Keyit is pictured on the right. This is a competitive game in which participants are given ten words to type and are scored based on speed and accuracy. For each player, a timer begins when she enters the first letter of a word. Time is measured using the system clock on the client's computer, and a score is calculated, which is simply the time in hundredths of a second. During the course of a game, feedback is provided to both players as words are typed. The match need not be synchronized. For example, a network link may be slow or one user may be interrupted. In this case, the system provides to each user whatever moves are available from their playmate.

The CEL system employs a client-server architecture where one central server maintains a dynamic database indicating who is logged into the system and which games they are playing. This server also acts as a message passer, sending and receiving commands that go between clients and matchmakers. For each activity in CEL, a matchmaker keeps track of the users that are currently active and their state: either "lonely" (where players see the playground page) or "playing a match" (where players see an activity page, as in Keyit).

The knowledge domain of each activity can be represented as a graph of concepts, where each node stands for a single concept--a bit of information in a domain, such as the spelling and meaning of a vocabulary word or an arithmetic equation. Links between nodes denote relationships between bits of information; weights on the links indicate the strength of relationships between the nodes. The content of an activity is thus a series of interactions between a student and the concept graph and can be represented as a path that traverses a series of nodes. In typical computer-based tutoring systems, this path is engineered a priori; however, in CEL, the path is determined automatically using an evolutionary machine learning strategy.

CEL is a multi-user environment in which a student model is derived for each human; these models are then classified according to student performance and can be utilized to match learners with appropriate peers (i.e., others whose performance levels are similar). If not enough humans are logged into a playground, then matched software agents are instantiated to act as artificial learning partners that can provide appropriate challenges, maintaining an active presence in the system at all times and thereby sustaining the community. The software agents in CEL are controlled using a simple Bayesian architecture, trained on probabilities obtained from analyzing human user interactions with the system.