{'fraction_non_alphanumeric': 0.014908256880733946, 'fraction_numerical': 0.0, 'mean_word_length': 5.104895104895105, '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}}
Using concept expansion and level integration in an introductory computer science course

An introduction to computer science is supposed to teach problem solving and programming skills, but far too often only the latter is emphasized. One reason for this is the organization of texts by syntactic categories for a particular programming language. We report on an approach that uses concept expansion (expanding a concept from its simple form to more complex forms as needed to aid in problem solving) and level integration (combining several concepts at the same level of difficulty). Three detailed examples are given: flow of control, recursion, and information hiding. We have been using this approach at New Mexico State for the last two years and have found it to be helpful in restoring the intended balance between problem solving and acquiring programming skills.