Predict a Student's Major from Course Grades
Company: Tencent
Role: Software Engineer
Category: Machine Learning
Difficulty: easy
Interview Round: Online Assessment
# Predict a Student's Major from Course Grades
You receive records of courses and grades taken by each student across academic years. Design a model that predicts the student's major. Explain how you would construct examples and features, choose baselines and models, evaluate generalization, and communicate limitations.
### Constraints & Assumptions
- Students have variable-length histories, missing grades, and different course opportunities.
- Features recorded after a major is declared may reveal the label rather than predict it.
- The prediction must not be presented as certainty or used to constrain student choice.
### Clarifying Questions to Ask
- At what academic point is the prediction made?
- How are undeclared, changed, or multiple majors labeled?
- Must the model work for future cohorts and new courses?
```hint Build examples at one consistent cutoff
The same student history can be valid or leaked depending on when the prediction is supposed to occur.
```
### What a Strong Answer Covers
- Leakage-safe cohort and target construction.
- Sparse transcript features, baselines, and justified model complexity.
- Student-level and time-aware splits with imbalance-aware metrics.
- Calibration, subgroup review, drift, interpretability, and responsible use.
### Follow-up Questions
- How would you update the model when the course catalog changes?
- What would you do if performance is high only because of required major courses?
Overview: Build a model that predicts a student's major from courses and grades across multiple academic years.