What we should teach, but don't: Proposal for a cross pollinated HCI-SE   curriculum
  Software engineering (SE) and usability engineering (UE), as disciplines, have reached substantial levels of maturity. Each of these two disciplines is now well represented with respect to most computer science (CS) curricula. But, the two disciplines are practiced almost independently - missing oppurtunities to collaborate, coordinate and communicate about the overall design - and thereby contributing to system failures. Today, a confluence of several ingredients contribute to these failures: the increasing importance of the user interface (UI) component in the overall system, the independent maturation of the human computer interaction area, and the lack of a cohesive process model to integrate the UI experts' UE development efforts with that of SE. This in turn, we believe, is a result of a void in computing curricula: a lack of education and training regarding the importance of communication, collaboration and coordination between the SE and UE processes. In this paper we describe the current approach to teaching SE and UE and its shortcomings. We identify and analyze the barriers and issues involved in developing systems having substantial interactive components. We then propose four major themes of learning for a comprehensive computing curriculum integrating SE, UE, and system architectures in a project environment. 
Pardha S. Pyla, Manuel A. Perez-Quinones, James D. Arthur and H. Rex   Hartson