{'fraction_non_alphanumeric': 0.023972602739726026, 'fraction_numerical': 0.0, 'mean_word_length': 4.969387755102041, '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}}
Teaching labs on pseudorandom number generation

This presentation describes our approach to teaching pseudorandom number generation (PRNG) in CS labs. We use PRNG at two universities as an example of an application of sequential circuitry in our digital logic courses. Our goal is for our students to have meaningful assignments, and to relate digital logic not only to the larger CS curriculum, but to the students' lives. This also us a motivation to discuss "what is randomness?", security issues relating to seeding and encryption, and why and how we use randomness in computing.