{'fraction_non_alphanumeric': 0.01669545192861255, 'fraction_numerical': 0.0, 'mean_word_length': 6.008064516129032, '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}}
Incorporating benchmark programming in the teaching of undergraduate Computer Architecture

Advanced Computer Architecture is an upper-level required course offered by the Department of Computer Science and Engineering at the University of Alaska-Anchorage (UAA). Course content is structured to provide students with a qualitative and quantitative approach to computer architecture, which addresses both the hardware and software aspects of parallelism in modern computing systems. Historically, students were exposed to computer architecture's hardware-centric concepts through traditional textbook publisher provided instructor materials, including system schematic and block diagrams, and cycle-by-cycle hand analysis of short assembly language code snippets. Recorded student achievement outcomes for the course, were just meeting the faculty defined levels. Analysis of student performance indicated a higher-level of course content understanding in students with a mix of both hardware and software skills, and lower achievement levels by those students with only software background and skills. In an attempt to improve overall student understanding and outcome achievement, a reform of course material presentation was initiated which focused on use of microbenchmark programming as a means of introducing selected computer hardware concepts through their programming interfaces. Most computer science students are good programmers and understand high-level languages and algorithms. As such, they are used to tackling new concepts with software, so it was hoped that by linking the instruction of computer architecture hardware concepts with a programmer's perspective, overall student understanding and outcomes would improve.