Sign In

Communications of the ACM

ACM TechNews

Penn Scientists Teach Computer Programs How to Teach Programming

A robot teacher in front of a class.

Researchers are working on the development of "automated program synthesis tools" that can verify whether human-created code operates correctly.

Credit: eNLokam

University of Pennsylvania (Penn) researchers are developing "automated program synthesis tools" that check whether human-supplied code operates correctly, and offer suggestions for filling in the coding details of more generally defined goals.

The researchers envision the future of programming to be a collaborative effort between humans and computers.

The researchers have already started testing their tutoring tool with students in programming classes at Penn, the University of Illinois at Urbana-Champaign, and Reykjavik University. The first subject was a fundamental programming concept called autotmata theory, in which students flow-chart diagrams of simple machines that represent the steps involved in the execution of a piece of code. If the student's diagram produces faulty results, the tool can determine which parts of the program are responsible and highlight them. The researchers found that students who used the tool came to the correct answers faster than their classmates who only got right-or-wrong feedback.

The researchers say their tool can be used for any subject with questions and answers that can be phrased in mathematical terms.

From Penn Current
View Full Article


Abstracts Copyright © 2014 Information Inc., Bethesda, Maryland, USA


No entries found

Read CACM in a free mobile app!
Access the latest issue, plus archived issues and more
ACM Logo
  • ACM CACM apps available for iPad, iPhone and iPod Touch, and Android platforms
  • ACM Digital Library apps available for iOS, Android, and Windows devices
  • Download an app and sign in to it with your ACM Web Account
Find the app for your mobile device