{'fraction_non_alphanumeric': 0.022696929238985315, 'fraction_numerical': 0.0053404539385847796, 'mean_word_length': 5.521739130434782, '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}}
We Can Teach Software Better

In recent issues of CRN, Bill Wulf and Dave Patterson ask some questions about undergraduate computer science programs: Are we teaching the best content in the best way? Can we do so without fragmenting the discipline or creating administrative obstacles? [Wulf 91, Patterson 92] As they observe, the last two decades have seen radical changes in hardware technology, networking, system interconnection, and sophisticated applications, but our curricula generally ignore these changes. Further, software production problems lead the list of problems in developing computer applications. Wulf and Patterson ask why our current programs don't teach these improved technologies to the students who will need to apply them.