{'fraction_non_alphanumeric': 0.01554001554001554, 'fraction_numerical': 0.0, 'mean_word_length': 5.505050505050505, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Physical computing and multimodal input in human-computer interfaces

The human-computer interface is widely recognized as an important part of any software project. Consequently, the principles of human-computer interaction are increasingly being taught in computer science departments. Usually, this type of course will focus on the design, implementation and testing of graphical user interfaces. Yet today's ubiquitous computing applications require interfaces that are context aware and respond to more than text from a keyboard or the click of a mouse. Students who have experience developing interfaces with a range of multimodal inputs will be better prepared to meet this growing need.This paper describes a new course that is being taught at two different colleges at the undergraduate level. Students in these classes learn the theory behind good interface design while obtaining practical experience implementing applications that respond to speech, sensor input, and computer vision. This paper also describes how students go on to apply this knowledge to educational applications in subsequent independent projects, working with teachers as clients. Finally, the paper presents several of the projects produced by students in these classes and in subsequent collaborations.