Coopequate is a tool used for teaching STEM subjects such as math and coding, and is implemented in Java. The student displays the Quateboard, a specialized whiteboard, and the tutor uses remote screen sharing software to interact with the student's screen. For some subjects, the student displays the Quatescreen, which is not limited to monospaced text. A chat window (always on top) takes care of the student's questions and the teacher's instructions. Tutors and students pay $20 and $10/year respectively to access customized versions of the Quateboard/Quatescreen. The basic math Quateboard is free for all users.
Quateboard
The Quateboard supports math being taught, using text in monospaced mode. Most of its functionality is written in Java, but extensions used to teach STEM subjects are written in Cooperscript. The most commonly used commands are as follows:
- Use the arrow keys to move the cursor.
- Type underscore(s) to underline the numerator of a fraction.
- Use the special character command (Ctrl+K) to insert special characters such as pi, square root, sum, and integral.
- Use Tab/Shift+Tab to display/undo the next step in the math problem being solved.
- Type question mark (?) to explain the current step or to break the current step down into lower-level steps.
- Click on Help after typing question mark to access the help system.
Miscellaneous commands:
- Use asterisk and slash for multiply and divide.
- Fractions or matrices enclosed in brackets use tall brackets.
- Smart down/up arrow: press it after inserting a character moves the cursor beneath/above that character.
- Functions such as lines and parabolas can be plotted interactively on a graph.
- The default-to-upper-case setting assumes that all letters entered are upper case (use the shift key to enter a lower case letter), so Caps Lock is unnecessary.
Quatescreen:
- Display screen based on Coopertags, a text markup language
- May include panels, some containing a Quateboard
Expression Language
Mathematical expressions are encoded (internally) using the Cooperscript programming language. Each step in the math problem being solved manipulates this Cooperscript expression. Even if the user enters steps in a different order than the default ordering, the simplification logic can handle that. The user can type Tab/Shift+Tab to redo/undo her previous step, as well as to redo/undo the computer's previous step.
Advanced Quateboard Commands
These next 2 paragraphs may be ignored, they are written in computerese. Use Shift+Arrow Key to highlight a rectangular block. Press Insert to insert a row or column of spaces before a highlighted block (insert blank line if no highlight). Press Shift+Insert/Delete to insert/delete an entire row/column when a block is highlighted. Press Enter at end of a line of text: insert blank line, back up on that line to line up with beginning of text on previous line. Press Enter on blank line to back up to line up with beginning of text on a previous line, or insert blank line if already at beginning of line. Press Ctrl+Tab to move forward to line up with beginning of first or next word on a previous line. Press Home to move to beginning of text on current line, press it again to toggle between beginning of line and beginning of text. This usage of Enter, Tab and Home is useful for editing program code with multiple indentation levels. The user doesn't have to memorize these commands: type question mark at any time to access the help system.
Superscripts
Superscripts and subscripts in monospaced mode are handled by employing a vertical offset of half a line per level of superscripting or subscripting. The caret symbol (^) is used as a superscript prefix, double-caret (^^) is used as a subscript prefix, and backslash (\) is used as an escape character (terminate super/subscript with a semicolon). Carets and double-carets cannot be mixed (exception: one level of superscript can be combined with one level of subscript).