Writing programs using ordinary language: Implications for computing education
Once upon a time, all computer scientists understood how floating point numbers were represented in binary. Numerical methods was an important part of every computing curriculum. I know few undergraduate programs that require numerical methods today.
Results like the below make me think about what else we teach that will one day become passé, irrelevant, or automatized. The second result is particularly striking. If descriptions from programming competitions can lead to automatic program generation, what does that imply about what we’re testing in programming competitions — and why?
The researchers’ recent papers demonstrate both approaches. In work presented in June at the annual Conference of the North American Chapter of the Association for Computational Linguistics, Barzilay and graduate student Nate Kushman used examples harvested from the Web to train a computer system to convert natural-language descriptions into so-called “regular expressions”: combinations of symbols that enable file searches that are far more flexible than the standard search functions available in desktop software.
In a paper being presented at the Association for Computational Linguistics’ annual conference in August, Barzilay and another of her graduate students, Tao Lei, team up with professor of electrical engineering and computer science Martin Rinard and his graduate student Fan Long to describe a system that automatically learned how to handle data stored in different file formats, based on specifications prepared for a popular programming competition.