The Design stage involves principles of design and human behavior, the Implementation stage principles of computer science, and the Evaluation stage empirical research methods common to several disciplines. There are thus four topical areas to cover in this major: Human Behavior, Design, Implementation, and Evaluation. In slightly more detail, each of the stages in the picture above involves the following sorts of knowledge and skill:
Eliciting from the client, formulating, and articulating functional specifications
Knowing how human factors and cognitive models should inform design
Knowing the principles of, and having experience with, communication design
Understanding how implementation constraints should inform design
Incorporating evaluation results into iterated designs
Familiarity with standard languages - e.g., C++, Java, HTML
Rapid prototyping skill (e.g., Visual Basic)
Computational literacy, i.e., knowledge sufficient for effective communication and decision making about:
interface construction tools and languages - e.g., Garnet, SUIT, Java
multimedia authoring tools - e.g., Director, Premiere
data structures and algorithms
operating systems, platforms, etc.
Usability Testing (Cognitive Walkthroughs, Heuristic Evaluation, GOMS)
There are over 45 courses relevant to these areas that are now offered by eight different departments in four different colleges at CMU (the College of Humanities and Social Sciences, the School of Computer Science, the College of Fine Arts, and the School of Industrial Administration). For a list of these courses, refer to the curriculum section.