{'fraction_non_alphanumeric': 0.026686434395848776, 'fraction_numerical': 0.005930318754633061, 'mean_word_length': 5.192660550458716, '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}}
Predicting Success for Computer Science Students in CS2 using Grades in Previous Courses

In this Work in Progress Innovative Practice paper, we describe a process for finding predictors for student success – and failure – for Computer Science and Computer Engineering students with a focus on the second programming course (CS2). We use readily available off-the-shelf statistical and data mining tools for generating summary statistics, calculating correlations, testing statistical significance, and creating decision trees. We analyze grade data from the first programming course (CS1), entry-level STEM courses (Calculus and Physics), and an English course to determine success predictors for CS2. Not surprisingly, the grade in CS1 is the best predictor for success in CS2. We also find that success in CS2 is independent of gender. Looking deeper into the data, we find characteristics of students who are very likely to pass or fail CS2. Being able to identify predictors for success is useful for calibrating admission criteria and designing appropriate interventions (e.g., requiring prereq classes, recitation sessions, and so on) to improve success probability for all students. A key contribution of this paper is a step-by-step process that can be used by other programs to find success predictors and design appropriate interventions.