{'fraction_non_alphanumeric': 0.020442930153321975, 'fraction_numerical': 0.0, 'mean_word_length': 5.32258064516129, '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}}
Reviving systems programming

This paper describes how a systems programming course, which was losing popularity with students and which no longer fit into the curriculum, was revised so that it made a contribution to the overall program. The principal changes were to replace a large, well-worn project with a collection of small challenges and to alter radically the content, presentation, support, and grading of these challenges (in comparison to typical assignments). The resulting course amalgamates traditional systems programming and systems programming as it is done on the job.