Class is well organized and labs are successful tools to challenge students and learn the material. I appreciated the specificity of this course to geography, particularly the real-life examples in labs and connections to previous GIS knowledge.Rate My Professors ↗
Historical instructor
SONG GAO
What students say
Original student reviews · all captured dates
Quality 5/5Difficulty 3/5
Quality 5/5Difficulty 4/5
Professor Gao is a genuinely compassionate teacher. For some similar 'esoteric' courses in the past I've had professors get annoyed by more fundamental questions/when students are struggling to grasp a concept, but Professor Gao seriously valued every question I heard asked and gave encouraging and comprehensive answers.Rate My Professors ↗
Quality 5/5Difficulty 4/5
Song is very knowledgeable and talented, with strong geospatial industry experience. I enjoyed his lectures a lot. It is not easy to get A in his class as it requires programming and heavy labs. You need to make great efforts and practice more to achieve the best grade.Rate My Professors ↗
Quality 1/5Difficulty 5/5
This class is absolutely awful if you do not have prior CS experience. Having taken GEOG 377, I thought I would be prepared and I was dead wrong. The labs are astoundingly difficult (and I'm not dumb by any means, I literally had a 4.0, which this class ruined). Song is a terrible lecturer and I learned absolutely nothing in class.Rate My Professors ↗
Quality 5/5Difficulty 4/5
This was a good class; I enjoyed it and felt like I learned a lot. I was thankful that the course was taught using Python3 and Jupyter Notebooks. these are great tools to use for spatial analysis and this course improved my abilities to use them for geospatial analysis, particularly Pandas and GeoPandas.Rate My Professors ↗
Quality 5/5Difficulty 4/5
This was one of the most challenging classes I have taken but I feel more confident in my code writing and more prepared for my future career now because of it.Rate My Professors ↗
Personal experiences, not a representative survey. Profile matching and captured coverage are shown in the source details.
Classes with SONG GAO
No teaching recorded in Fall 2026.
No courses match this selection. Try the full catalog or another term.
Recorded teaching history
Explore courses taught by this instructor →Browse recorded courses
| Term | Course | Title |
|---|
Teaching history may be incomplete. Course pages contain course-specific feedback and citations.
Instructor identity & provenance
{
"instructor_uid": "instructor_6654151c227c241a819fd433",
"source": "legacy",
"source_instructor_id": null,
"identity_basis": "name_only",
"identity_status": "unresolved",
"name": "SONG GAO",
"email": null,
"first_observed_at": "2025-04-16 05:20:33.104844+00:00",
"last_observed_at": "2026-01-22 01:00:26.555427+00:00",
"ratings": {
"review_count": 28,
"quality": 4.71,
"difficulty": 3.54,
"quality_count": 28,
"difficulty_count": 28,
"profile_id": "rmp:2313819",
"source_url": "https://www.ratemyprofessors.com/professor/2313819",
"match_basis": "exact_name",
"observed_at": "2026-09-07 16:05:21.178373+00:00",
"courses": {
"course_6b09a761a0eeeecdbbd88dc8": {
"review_count": 13,
"quality": 4.38,
"difficulty": 3.46,
"quality_count": 13,
"difficulty_count": 13
},
"course_383500a29b0ac797184420a8": {
"review_count": 7,
"quality": 5,
"difficulty": 3.57,
"quality_count": 7,
"difficulty_count": 7
},
"course_1049f8ea4b6f06a27858f913": {
"review_count": 5,
"quality": 5,
"difficulty": 3.8,
"quality_count": 5,
"difficulty_count": 5
}
},
"bayesian_quality": 4.272369076477748,
"prior_mean": 3.6596857835465957,
"prior_weight": 20
},
"current": false,
"courses": [],
"revision": "e243353dcb7d79b7247ced91d69443ef4c2a6349",
"instructor_url": "/instructors/SONG_GAO--instructor_6654151c227c241a819fd433"
}