Churn models often simply predict a binary output: will the student churn? Yes or No,
0. In your case there is an added component, namely the time factor of 6 weeks, so the question is more "when is the student likely to churn?".
Does your dataset include how long students stayed on the course before churning (i.e. leaving the course)?
At the highest level, you could model this problem as either a classification problem or a regression problem (with some post processing).
If you choose classification, you should form your target variable (the actual churn information) for each student into several discrete classes. For example, you could create 3 classes:
0 -> the student didn't churn
1 -> the student churned later than 6 weeks
2 -> the student churned within 6 weeks
Then you can select any model that can consume your data (input features) and classify each case as one of those three cases. Something like a decision tree might work well as a base line model. You could then perhaps try an SVM model.
In this case, you would be predicting the exact time each student will churn. For this, your dataset must contain e.g. the number of days or weeks into the course that churn students left the course.
In this case, you target variable is then simply this information, and your model will predict numbers, like 3.7 weeks or 26 weeks; you will then need to simply post-process these results into your 3 categories (as listed above).
In this case, again, you could try decision tree (regression variant) or an SVM model.