I report briefly on some of my own work in each of these areas and elucidate some of the questions that this research has raised. Then I propose as a research agenda the developme...
How do we teach children to express and communicate ideas in a formal and informal mode? What type of language do they need in a concrete context? How should they determine a prope...
There are many on-line settings in which users publicly express opinions. A number of these offer mechanisms for other users to evaluate these opinions; a canonical example is Ama...
Requirements engineering is a central part of software projects. It is assumed that two third of all errors in software projects are caused by forgotten requirements or mutual misu...
Single inheritance often forces developers to duplicate code and logic. This widely recognized situation affects both business code and tests. In a large and complex application w...