This paper reports on an experimental program aimed at introducing undergraduates to research in computer science. For two summers groups of college sophomores and juniors participated in an intensive research program on human-computer interaction. Working in small groups under the direction of a project director, they devised and carried out experimental studies in areas such as cognition of programming, interface design, and the training of end users of computers. Later a research component was designed for a regularly scheduled course on human-computer interaction, based on what was learned from the summer research program and modified to fit the format of a normal course. In this paper we describe the undergraduate summer research and its adaptation to a regular course format. We also discuss the lessons learned from this work.