CodeApplet is a Java-based client-server system that is meant to be used for teaching computer programming online. It may be used with any language for which an appropriate Java class is written, and adding a new interpreter requires no recompilation of the main binaries. Users connect to different coding sessions on the server. Every session has one editor at a time, elected by privileged operators or the current editor. This editor may control a shared language interpreter and edit source files while the other users watch in realtime. Some languages also support local interpreters for personal experiments.