Computer science education is built upon the fundamentals of problem solving. Our students are capable of solving problems and expressing their solutions in a concrete manner using a programming language. These skills are undoubtedly powerful. However,as the expansion of computer science-related contributions to the world continue, we need to incorporate HCI into our curriculum so that students are taught to design user interfaces that fully communicate their accomplishments to end users.
Today, there is a gray area in the definition of a good user interface and teaching such material to students may seem daunting. However, this paper will discuss how an HCI course can be decomposed into a defined, manageable format similar to introductory programming courses. This paper will support this proposition by emphasizing the importance of students being able to analyze our continually changing world and the benefits of recurrent exercises.