The education industry has a dismal record of productivity gains --- five times worse than even the US Post Office since I went to college. With a team of friends and colleagues, I have been taking some steps to reduce the cost of teaching a database course, as an example of what might be done to improve efficiency of college education. The key elements we would like to put in place are:
1. Prepackaged lectures that serve for part of a class.
2. A global help desk that allows students to get immediate answers to questions 24/7.
3. Automated homeworks and exams.
4. Automated programming laboratories.
Our efforts so far center around a system called OTC (On-line Testing Center) that supports (3) and (4) and has been used at a number of schools around the world. For homeworks, we use a technique called "root questions." These encourage the student to work a "long-answer" question (e.g., "find the join of these two relations"), after which, we sample their understanding by randomly chosen multiple-choice questions (e.g., "which of these tuples is in the join of these relations?"). Incorrect answers result in a hint or general advice, and students are able to resubmit an assignment as many times as necessary. OTC's SQL, relational-algebra, XQuery, and JDBC labs give students far more accurate feedback than handwritten, hand-graded programs.