Abstract: Regular expressions are a convenient and simple notation for expressing the members of a regular language. This simplicity enables regular expressions to serve as models of more complex context-free programming languages. To examine techniques in teaching programming, we exposed first year students with no knowledge of regular expressions to two tasks. The tasks asked participants to identify occurrences of a given expression (matching) or to create an expression to describe a set of occurrences (creation). Matching and creation can be viewed as parallel to reading and writing, suggesting that as reading skills help to develop writing skills, then similarly, matching skills help to develop creation skills. We hypothesised that a practice effect exists and that exposure to the matching task before the creation task improves performance on the latter. However, in an experimental setting, this hypothesis is not supported. Practice on recognition tasks provided no measurable benefits and suggests that the learning of formal language differs significantly from that of natural language. To verify this finding in an alternative setting, we performed a second experiment to test the hypothesis that performance will be similar when locating errors in HTML and when creating HTML. This experiment revealed no significant performance differences. One explanation for these results is that novices lack a lexicon of concepts to which language constructs can be mapped, and therefore view formal languages as rule-based systems. Consequently, the skills used for learning natural language can not be applied. These findings also suggest that for formal languages there is a greater need for instructional interventions such as performance feedback.
PPIG 2004 - 16th Annual Workshop
Learning and Using Formal Language