A city-scale situation-aware adaptive learning system