CoopleTeach is a tool used for teaching STEM subjects such as math and computers, and is implemented in Java. The teacher sits next to, in same room as, or in different location than the student(s). The teacher's smartphone syncs a portion of the student's screen. Alternatively, the teacher's laptop uses desktop sharing software to interact with the student's screen. A chat window takes care of the student's questions and the teacher's instructions. The CoopleBoard, a specialized whiteboard, is used to teach various STEM subjects. The teacher's employer pays an annual subscription fee of $5/student for the first 20 students in a class, and $1/student for the 21st and all subsequent students in a given class. Tutors pay $20/year to be included in the tutor directory.
Teaching Locally
Members display the curriculum on a Windows computer running a whiteboard called the CoopleBoard. Teachers display a window of the member's screen on a smartphone held in landscape orientation. Bluetooth is used to keep the 2 screens synchronized. Both parties are in the same room or sitting at the same computer.
Teaching Remotely
Teachers can teach remotely using a Windows computer instead of a smartphone. A chat window facilitates communication between teacher and member. The teacher runs desktop sharing software and the member runs the CoopleBoard, or an always on top chat window.
CoopleBoard
The CoopleBoard 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 JCoople. 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.
Expression Language
Mathematical expressions are encoded (internally) using the JCoople programming language. Each step in the math problem being solved manipulates this JCoople 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 CoopleBoard 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).