Digital media have revolutionized society. In all fields, digital technologies today are largely replacing analog media and communications channels. Interactive computer technology today is an integral part of many systems and machines. To design such systems to be intuitively usable, efficient, secure and attractive, systems developers need comprehensive computer science knowledge.