All programmers should understand the concept of program families and know the techniques for constructing them. This paper describes a case study that can be used to introduce st...
Software evolution is made difficult by the need to integrate new features with all previously implemented features in the system. We present Spotlight, a prototype editor for sof...
This paper reports on experience from teaching basic software engineering concepts by using Extreme Programming in a second year undergraduate course taken by 107 students. We des...
Many end user programming tools such as spreadsheets and databases offer poor support for representing a level of abstraction that is intuitive to users. For example, users must w...
—Computer science academics and professionals typically consider their contributions in terms of the algorithms, applications, and techniques that they develop. Yet equally impor...