{'fraction_non_alphanumeric': 0.017699115044247787, 'fraction_numerical': 0.0, 'mean_word_length': 5.207843137254902, '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}}
Embedding HCI in Computer Science Education: A Preliminary Attempt

Graduates of computer science education (CSE) programs are starting to be expected not only to be good coders, but also good interaction and interface developers. The primary way CSE programs typically provide such interaction and interface development skills have been by offering a Human Computer Interaction (HCI) course. However, it does not seem to be that effective to solely rely on this course to provide such skills, and additional teaching approaches are needed to reinforce newly learned skills taught by the formal HCI course. This paper proposed one such approach by embedding HCI in the CSE curriculum. Embedding HCI is done through including appropriate HCI concepts in relevant CSE courses, typically those that have a final project component, to develop or to prototype an application, software, or system that interacts with end-users. In these CSE courses, prior to conducting the technical design/development, students are asked to design the user experience and interaction for their respected project, which is later commented on by a lecturer who teaches or has taught HCI. The final user experience and interaction design is then used as a basis for the technical design and development of the project. This approach was piloted on several courses and preliminary results were positive, where students produced more solid as well as less contrive applications, were able to apply HCI concepts even in very technical coding courses, and showed longer lasting internalization of HCI concepts.