Higher educational institutions rely on retention programs in order to reduce the high student drop-out rates and ensure their timely graduation. These programs utilize various methods from educational data mining that leverage student data in order to generate early warnings about students that are at risk of failing and allow for suitable interventions, identify the enrollment practices that are associated with academic success and improve college advising and degree planning. This thesis presents a set of prediction, recommendation and pattern mining methods that can be utilized by such retention programs. The focus of this thesis is on predicting students performance within current and future courses, generating personalized course recommendations and mining of student enrollment patterns. The first problem that we address is predicting the students’ performance within course activities, which can help with the early detection of students that are at risk of failing or dropping out. We present a class of collaborative multi-regression models that are personalized to each student and also take into account features related to student’s past performance, engagement and course characteristics. Inspired by collaborative filtering recommendation techniques, these models estimate a small number of regression models that are shared across the different students along with student-specific linear combination functions which facilitates personalization. Our experimental evaluation on a large dataset shows that these models are capable of significantly improving the accuracy of predicting the students performance. In addition, we show that by analyzing the estimated models and the student-specific combination functions we can gain insights on the different student groups, the most predictive factors of their performances, and the effectiveness of the educational material that is made available online for various courses. Next, we address the problem of automated course recommendation, which involves two tasks, (i) predicting students’ grades in future courses and (ii) generating a personalized ranked list of courses to recommend to the student to consider taking in the next term. This can help students make informed decisions about their future enrollments, and help instructors deliver personalized and effective college advising. Various collaborative filtering-based approaches have been applied to student-course grade data to help students select suitable courses. However, the student-course enrollment patterns exhibit grouping structures that are tied to the student and course academic features, which lead to grade data that are not missing at random (NMAR). Existing approaches for modeling NMAR data, such as Response-aware and contextaware matrix factorization, do not model the data in terms of the user and item features and are not designed with the characteristics of grade data in mind. We investigate how the student and course academic features influence the enrollment patterns and we use these features to define student and course groups at various levels of granularity. We show how these groups can be used to design grade prediction and top-n course ranking models for neighborhood-based user collaborative filtering, matrix factorization and popularity-based ranking approaches. Our evaluation shows that these methods give lower grade prediction error and more accurate top-n course rankings than the other methods that do not utilize these groups. Finally, we address the problem of mining student enrollment sequences in order to extract the patterns that are associated with course success. This can help educators design better degree plans, and help students make informed decisions about their future enrollments. We address this problem by dividing the students that take a target course into two groups based on their performance, then we extract discriminating patterns from the students’ enrollment sequences. We represent the students using these patterns and build classifiers that show their effectiveness in classifying students into their performance groups. While there are multiple methods for discriminating pattern mining, each method mines a single type of pattern. We present UPM, a universal discriminating pattern mining framework that simultaneously mines various types of patterns. UPM accounts for the item quantities using an expansion-specific approach that, unlike the existing methods, finds a minimum-entropy split over an item’s quantities based on the pattern that is being expanded by that item, which results in more discriminating quantitative patterns. Our evaluation shows that the classification accuracies that are obtained using the patterns extracted by UPM is higher than the accuracy obtained using single types of patterns, and that the accuracy tends significantly improves for the students that are represented using larger numbers of patterns, and that the expansion-specific quantitative mining method leads to more accurate classifications.