Students are given prose descriptions of regular languages and asked to provide a regular expression that defines the language. What is novel in this system is the type of feedback: students are not merely told that a submitted regular expression is wrong, they are given examples of strings that the expression either matches and shouldn't or does not match and should, and asked to try again.