{'fraction_non_alphanumeric': 0.014423076923076924, 'fraction_numerical': 0.0, 'mean_word_length': 5.5078125, '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}}
YODA: A Pedagogical Tool for Teaching Systems Concepts

Computer science undergraduates often struggle in hardware-oriented courses like Computer Organization and Computer Architecture. Active learning instruments can improve student performance in these classes. Regrettably, few tools exist today to support the creation of active learning teaching material for such courses. This paper describes YODA, a pedagogical tool for creating active learning content to help teach systems concepts. At the core, YODA is a collection of functional simulators embedded into a custom Jupyter kernel. YODA produces notebooks that allow students to learn about a system through guided interaction and observation. We have been using YODA at our home institution for two years and have seen significant improvement in student learning outcomes.