{'fraction_non_alphanumeric': 0.020038167938931296, 'fraction_numerical': 0.0, 'mean_word_length': 5.4753086419753085, '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}}
TextCode: A Tool to Support Problem Solving Among Novice Programmers

Several tools have been developed to support novices learning to program. Most of them focus on the code and provide features regarding the visualization of the data structures or the debugging. However, in introductory programming courses, students are typically given exercises in the form of a problem written in natural language; and the first challenge they face is understanding the problem, identifying the relevant information, and then translating that information into code. To our knowledge, little attention has been paid to proposing tools targeted at supporting this problem-solving step, even though it is crucial for deriving a correct solution. In this paper, we present an IDE to encourage novices to understand the problem before start coding, decompose it down into subproblems, explore alternative implementations for each subproblem, and arrange these implementations to build a general solution. Finally, the adopted problem-solving approach is discussed.