[{"run_id":"20260906T231458-5fdd2fff","observed_at":"2026-09-06 23:14:58.172943+00:00","course_uid":"course_6b09a761a0eeeecdbbd88dc8","course_id":"GEOG 378","catalog_version_id":"c6f72d1e12909746dcddee0b45390ff2dc4829a8696b32ea103cf14b702208ae","record_version_id":"e6e0ec22a8e69fbea26b4284e0bd8cde8d754c7768d5dfc8dbee0da35699cd2c","job_id":"enrich-5291a20b802b9bbbe22b24cb","output_id":"4c5230abce51b91fd5d911098991274eb8a393efe3dc43bdc716ec20ae0b9050","section":"requirements","status":"needs_review","value_json":"{\"nodes\":[{\"children\":[\"n1\",\"n2\"],\"condition\":null,\"course\":null,\"evidence\":\"CIV ENGR/ENVIR ST/GEOG 377or concurrent enrollment, or graduate/professional standing\",\"id\":\"n0\",\"kind\":\"any\"},{\"children\":[],\"condition\":null,\"course\":{\"course_number\":377,\"minimum_grade\":null,\"subjects\":[\"CIVENGR\",\"ENVIRST\",\"GEOG\"],\"timing\":\"prior_or_concurrent\"},\"evidence\":\"CIV ENGR/ENVIR ST/GEOG 377or concurrent enrollment\",\"id\":\"n1\",\"kind\":\"course\"},{\"children\":[],\"condition\":\"graduate/professional standing\",\"course\":null,\"evidence\":\"graduate/professional standing\",\"id\":\"n2\",\"kind\":\"condition\"}],\"notes\":[\"Course reference 'CIV ENGR/ENVIR ST/GEOG 377' maps to linked course 'CIVENGR/ENVIRST/GEOG 377'.\"],\"root\":\"n0\",\"status\":\"parsed\"}","candidate_json":null,"error":null,"model":"nvidia/Qwen3.6-35B-A3B-NVFP4","model_revision":"1355db6a052410cfd62085d94b58866fd0f2c3c5","selected_for_release":false},{"run_id":"20260906T231458-5fdd2fff","observed_at":"2026-09-06 23:14:58.172943+00:00","course_uid":"course_6b09a761a0eeeecdbbd88dc8","course_id":"GEOG 378","catalog_version_id":"c6f72d1e12909746dcddee0b45390ff2dc4829a8696b32ea103cf14b702208ae","record_version_id":"e6e0ec22a8e69fbea26b4284e0bd8cde8d754c7768d5dfc8dbee0da35699cd2c","job_id":"enrich-5291a20b802b9bbbe22b24cb","output_id":"4c5230abce51b91fd5d911098991274eb8a393efe3dc43bdc716ec20ae0b9050","section":"search_profile","status":"valid","value_json":"{\"assumed_background\":[{\"evidence\":[{\"course_id\":\"CIVENGR/ENVIRST/GEOG 377\",\"field\":\"description\",\"quote\":\"Design, implementation and use of automated procedures for storage, analysis and display of spatial information. Covers data bases, information manipulation and display techniques, software systems and management issues.\"}],\"text\":\"Foundational knowledge of Geographic Information Systems (GIS) concepts, data storage, and spatial analysis.\"}],\"search_phrases\":[\"GEOG 378 Python scripting\",\"Geoprocessing ArcGIS\",\"Geocomputing introduction\",\"GIS utilities scripting\"],\"skills_taught\":[{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Introduction to scripting for Geographic Information Science.\"}],\"text\":\"Scripting for Geographic Information Science\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Geoprocessing with open-source GIS utilities.\"}],\"text\":\"Geoprocessing with open-source GIS utilities\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Python scripting with ArcGIS and open-source libraries.\"}],\"text\":\"Python scripting with ArcGIS and open-source libraries\"}],\"summary\":{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"title\",\"quote\":\"INTRODUCTION TO GEOCOMPUTING\"},{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Introduction to scripting for Geographic Information Science. Geoprocessing with open-source GIS utilities. Python scripting with ArcGIS and open-source libraries.\"}],\"text\":\"Introduction to Geocomputing focusing on Python scripting for geoprocessing using ArcGIS and open-source libraries.\"},\"topics\":[{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Geographic Information Science\"}],\"text\":\"Geographic Information Science\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Geoprocessing\"}],\"text\":\"Geoprocessing\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Python scripting\"}],\"text\":\"Python scripting\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"ArcGIS\"}],\"text\":\"ArcGIS\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"open-source libraries\"}],\"text\":\"Open-source libraries\"}]}","candidate_json":null,"error":null,"model":"nvidia/Qwen3.6-35B-A3B-NVFP4","model_revision":"1355db6a052410cfd62085d94b58866fd0f2c3c5","selected_for_release":false},{"run_id":"20260906T231458-5fdd2fff","observed_at":"2026-09-06 23:14:58.172943+00:00","course_uid":"course_6b09a761a0eeeecdbbd88dc8","course_id":"GEOG 378","catalog_version_id":"c6f72d1e12909746dcddee0b45390ff2dc4829a8696b32ea103cf14b702208ae","record_version_id":"e6e0ec22a8e69fbea26b4284e0bd8cde8d754c7768d5dfc8dbee0da35699cd2c","job_id":"enrich-5291a20b802b9bbbe22b24cb","output_id":"4c5230abce51b91fd5d911098991274eb8a393efe3dc43bdc716ec20ae0b9050","section":"student_experience","status":"insufficient_evidence","value_json":"{\"status\":\"insufficient_evidence\",\"themes\":[]}","candidate_json":null,"error":null,"model":"nvidia/Qwen3.6-35B-A3B-NVFP4","model_revision":"1355db6a052410cfd62085d94b58866fd0f2c3c5","selected_for_release":false},{"run_id":"20260907T155543-ce3781c4","observed_at":"2026-09-07 15:55:43.033547+00:00","course_uid":"course_6b09a761a0eeeecdbbd88dc8","course_id":"GEOG 378","catalog_version_id":"c6f72d1e12909746dcddee0b45390ff2dc4829a8696b32ea103cf14b702208ae","record_version_id":"e6e0ec22a8e69fbea26b4284e0bd8cde8d754c7768d5dfc8dbee0da35699cd2c","job_id":"enrich-5590a4969e0a630fe46a86e8","output_id":"aa7e45e223140dbcc820e398c1a800539a0daee267b4709a82cfd106ac5812a1","section":"requirements","status":"valid","value_json":"{\"nodes\":[{\"children\":[\"n1\",\"n2\"],\"condition\":null,\"course\":null,\"evidence\":\"CIV ENGR/ENVIR ST/GEOG 377or concurrent enrollment, or graduate/professional standing\",\"id\":\"n0\",\"kind\":\"any\"},{\"children\":[],\"condition\":null,\"course\":{\"course_number\":377,\"minimum_grade\":null,\"subjects\":[\"CIVENGR\",\"ENVIRST\",\"GEOG\"],\"timing\":\"prior_or_concurrent\"},\"evidence\":\"CIV ENGR/ENVIR ST/GEOG 377or concurrent enrollment\",\"id\":\"n1\",\"kind\":\"course\"},{\"children\":[],\"condition\":\"graduate/professional standing\",\"course\":null,\"evidence\":\"graduate/professional standing\",\"id\":\"n2\",\"kind\":\"condition\"}],\"notes\":[\"Course reference 'CIV ENGR/ENVIR ST/GEOG 377' maps to linked course 'CIVENGR/ENVIRST/GEOG 377'.\"],\"root\":\"n0\",\"status\":\"parsed\"}","candidate_json":null,"error":null,"model":"nvidia/Qwen3.6-35B-A3B-NVFP4","model_revision":"1355db6a052410cfd62085d94b58866fd0f2c3c5","selected_for_release":true},{"run_id":"20260907T155543-ce3781c4","observed_at":"2026-09-07 15:55:43.033547+00:00","course_uid":"course_6b09a761a0eeeecdbbd88dc8","course_id":"GEOG 378","catalog_version_id":"c6f72d1e12909746dcddee0b45390ff2dc4829a8696b32ea103cf14b702208ae","record_version_id":"e6e0ec22a8e69fbea26b4284e0bd8cde8d754c7768d5dfc8dbee0da35699cd2c","job_id":"enrich-5590a4969e0a630fe46a86e8","output_id":"aa7e45e223140dbcc820e398c1a800539a0daee267b4709a82cfd106ac5812a1","section":"search_profile","status":"valid","value_json":"{\"assumed_background\":[{\"evidence\":[{\"course_id\":\"CIVENGR/ENVIRST/GEOG 377\",\"field\":\"description\",\"quote\":\"Design, implementation and use of automated procedures for storage, analysis and display of spatial information. Covers data bases, information manipulation and display techniques, software systems and management issues.\"}],\"text\":\"Foundational knowledge of Geographic Information Systems (GIS) concepts, data storage, and spatial analysis.\"}],\"search_phrases\":[\"GEOG 378 Python scripting\",\"Geoprocessing ArcGIS\",\"Geocomputing introduction\",\"GIS utilities scripting\"],\"skills_taught\":[{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Introduction to scripting for Geographic Information Science.\"}],\"text\":\"Scripting for Geographic Information Science\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Geoprocessing with open-source GIS utilities.\"}],\"text\":\"Geoprocessing with open-source GIS utilities\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Python scripting with ArcGIS and open-source libraries.\"}],\"text\":\"Python scripting with ArcGIS and open-source libraries\"}],\"summary\":{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"title\",\"quote\":\"INTRODUCTION TO GEOCOMPUTING\"},{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Introduction to scripting for Geographic Information Science. Geoprocessing with open-source GIS utilities. Python scripting with ArcGIS and open-source libraries.\"}],\"text\":\"Introduction to Geocomputing focusing on Python scripting for geoprocessing using ArcGIS and open-source libraries.\"},\"topics\":[{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Geographic Information Science\"}],\"text\":\"Geographic Information Science\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Geoprocessing\"}],\"text\":\"Geoprocessing\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Python scripting\"}],\"text\":\"Python scripting\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"ArcGIS\"}],\"text\":\"ArcGIS\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"open-source libraries\"}],\"text\":\"Open-source libraries\"}]}","candidate_json":null,"error":null,"model":"nvidia/Qwen3.6-35B-A3B-NVFP4","model_revision":"1355db6a052410cfd62085d94b58866fd0f2c3c5","selected_for_release":true},{"run_id":"20260907T155543-ce3781c4","observed_at":"2026-09-07 15:55:43.033547+00:00","course_uid":"course_6b09a761a0eeeecdbbd88dc8","course_id":"GEOG 378","catalog_version_id":"c6f72d1e12909746dcddee0b45390ff2dc4829a8696b32ea103cf14b702208ae","record_version_id":"e6e0ec22a8e69fbea26b4284e0bd8cde8d754c7768d5dfc8dbee0da35699cd2c","job_id":"enrich-5590a4969e0a630fe46a86e8","output_id":"aa7e45e223140dbcc820e398c1a800539a0daee267b4709a82cfd106ac5812a1","section":"student_experience","status":"valid","value_json":"{\"status\":\"supported\",\"themes\":[{\"aspect\":\"teaching_clarity\",\"evidence\":[{\"comment\":\"We learn Python programming with geospatial computation examples in his class. It is not easy for a beginner, but he takes great efforts to make the lecture slides are friendly to us and set appropriate discussion sections to help us have a better understanding of the content. His lectures are not boring at all but are helpful for our learning.\",\"course_id\":\"GEOG 378\",\"date\":\"2017-12-06 22:47:42 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"41d8ec3632e2dce44662da8b\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTI5MDczNTU4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"His presentations rocked. Very concise and to the point. In addition, they were very relevant to labs and core concepts behind the coding language.\",\"course_id\":\"GEOG 378\",\"date\":\"2019-01-10 16:04:19 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"2b52655090b7e34989f3373b\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTMxMjM3NzM4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"He is very understanding and cares about students\",\"course_id\":\"GEOG 378\",\"date\":\"2020-11-24 16:39:46 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"61e220cb79e147c7d0c86fdf\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTMzODgxNDk5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"Professor Gao is really cool. I love his instruction mode. We have a lot of examples on class to help understand the programming knowledge and how it relates to GIS fi eld. I learned a lot in this class. The TA also works well with Prof Gao with effective response of emails and the ability to solve problems. I'm very happy in this class.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-01-18 14:04:00 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"c09afdc4cafe506c5ce6a244\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM1NzY1NjY5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-23 23:21:28 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"a7474b22f0828e880050761e\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM2ODg3MDky\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":5,\"review_ids\":[\"41d8ec3632e2dce44662da8b\",\"2b52655090b7e34989f3373b\",\"61e220cb79e147c7d0c86fdf\",\"c09afdc4cafe506c5ce6a244\",\"a7474b22f0828e880050761e\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2017\"},\"sentiment\":\"positive\",\"summary\":\"Professors are described as concise, relevant, and caring, with effective communication and support for students.\"},{\"aspect\":\"workload\",\"evidence\":[{\"comment\":\"We learn Python programming with geospatial computation examples in his class. It is not easy for a beginner, but he takes great efforts to make the lecture slides are friendly to us and set appropriate discussion sections to help us have a better understanding of the content. His lectures are not boring at all but are helpful for our learning.\",\"course_id\":\"GEOG 378\",\"date\":\"2017-12-06 22:47:42 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"41d8ec3632e2dce44662da8b\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTI5MDczNTU4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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. \",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-23 02:59:57 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"656d5f85cbd672738aa509dc\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM2ODg0MDc2\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-12-28 15:57:46 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"f3afcb1f0056bd7ef6072909\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM3MjU0OTQ1\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"I found this course extremely challenging because I did not have any prior coding experience. However, the professor and TA were always available to help with materials I was struggling with; they went above and beyond to help students learn the material.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-01-18 14:07:50 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"09f8ecd0f80de98ae084f8e7\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM1NzY1Njc3\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":4,\"review_ids\":[\"41d8ec3632e2dce44662da8b\",\"656d5f85cbd672738aa509dc\",\"f3afcb1f0056bd7ef6072909\",\"09f8ecd0f80de98ae084f8e7\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2017\"},\"sentiment\":\"mixed\",\"summary\":\"The course is considered challenging and requires significant effort, particularly for those without coding background, but labs are seen as effective learning tools.\"},{\"aspect\":\"assessment\",\"evidence\":[{\"comment\":\"Prof. Gao is nice, &amp; good to connect with if you want to work in his lab. If you want a fairly easy A, take this class. But if you want to learn geospatial coding, don't take his class. Code is taught off slides and uses outdated, non-open-source methods. I promise you will learn Python mapping in a much easier, deeper way by taking CS220 &amp; CS320.\",\"course_id\":\"GEOG 378\",\"date\":\"2021-11-16 22:43:17 +0000 UTC\",\"difficulty_rating\":1,\"id\":\"132db2dd165901131a122f36\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":2,\"source_review_id\":\"UmF0aW5nLTM1MjUxMzI5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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. \",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-16 21:21:26 +0000 UTC\",\"difficulty_rating\":5,\"id\":\"6602ae768a950787eea26ba3\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":1,\"source_review_id\":\"UmF0aW5nLTM2ODQ4MjMz\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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. \",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-23 02:59:57 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"656d5f85cbd672738aa509dc\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM2ODg0MDc2\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":3,\"review_ids\":[\"132db2dd165901131a122f36\",\"6602ae768a950787eea26ba3\",\"656d5f85cbd672738aa509dc\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2021\"},\"sentiment\":\"mixed\",\"summary\":\"Grades can be achieved with effort, but the difficulty varies significantly based on prior experience; some find labs astoundingly difficult.\"},{\"aspect\":\"organization\",\"evidence\":[{\"comment\":\"Professor Gao is really cool. I love his instruction mode. We have a lot of examples on class to help understand the programming knowledge and how it relates to GIS fi eld. I learned a lot in this class. The TA also works well with Prof Gao with effective response of emails and the ability to solve problems. I'm very happy in this class.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-01-18 14:04:00 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"c09afdc4cafe506c5ce6a244\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM1NzY1NjY5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-12-28 15:57:46 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"f3afcb1f0056bd7ef6072909\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM3MjU0OTQ1\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"I think this class would be better if we had more labs or homeworkmore chances to actually write Python codeand fewer lectures.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-01-18 14:05:28 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"cc072c290ceb3bc9c1b42704\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":4,\"source_review_id\":\"UmF0aW5nLTM1NzY1Njcy\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":3,\"review_ids\":[\"c09afdc4cafe506c5ce6a244\",\"f3afcb1f0056bd7ef6072909\",\"cc072c290ceb3bc9c1b42704\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2022\"},\"sentiment\":\"positive\",\"summary\":\"The course is well-organized with relevant examples and connections to GIS knowledge, though some suggest more labs and fewer lectures.\"},{\"aspect\":\"projects\",\"evidence\":[{\"comment\":\"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.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-12-28 15:57:46 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"f3afcb1f0056bd7ef6072909\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM3MjU0OTQ1\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"Professor Gao is really cool. I love his instruction mode. We have a lot of examples on class to help understand the programming knowledge and how it relates to GIS fi eld. I learned a lot in this class. The TA also works well with Prof Gao with effective response of emails and the ability to solve problems. I'm very happy in this class.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-01-18 14:04:00 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"c09afdc4cafe506c5ce6a244\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM1NzY1NjY5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":2,\"review_ids\":[\"f3afcb1f0056bd7ef6072909\",\"c09afdc4cafe506c5ce6a244\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2022\"},\"sentiment\":\"positive\",\"summary\":\"Labs are successful tools for learning, providing real-life examples and practical application of geocomputing concepts.\"},{\"aspect\":\"overall\",\"evidence\":[{\"comment\":\"We learn Python programming with geospatial computation examples in his class. It is not easy for a beginner, but he takes great efforts to make the lecture slides are friendly to us and set appropriate discussion sections to help us have a better understanding of the content. His lectures are not boring at all but are helpful for our learning.\",\"course_id\":\"GEOG 378\",\"date\":\"2017-12-06 22:47:42 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"41d8ec3632e2dce44662da8b\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTI5MDczNTU4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"Prof. Gao demonstrated how to solve geocomputing problems with Python programming. It is practical and very helpful for my individual studies. Ready to learn much cool stuff!\",\"course_id\":\"GEOG 378\",\"date\":\"2017-12-14 11:53:33 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"3562ea2666fe6fff38ab0794\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTI5MTk2ODIy\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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. \",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-23 02:59:57 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"656d5f85cbd672738aa509dc\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM2ODg0MDc2\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-23 23:21:28 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"a7474b22f0828e880050761e\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM2ODg3MDky\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":4,\"review_ids\":[\"41d8ec3632e2dce44662da8b\",\"3562ea2666fe6fff38ab0794\",\"656d5f85cbd672738aa509dc\",\"a7474b22f0828e880050761e\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2017\"},\"sentiment\":\"positive\",\"summary\":\"Students generally appreciate the professor's expertise and the practical nature of the course, despite the steep learning curve for beginners.\"}]}","candidate_json":null,"error":null,"model":"nvidia/Qwen3.6-35B-A3B-NVFP4","model_revision":"1355db6a052410cfd62085d94b58866fd0f2c3c5","selected_for_release":true},{"run_id":"20260907T155543-ce3781c4","observed_at":"2026-09-07 15:55:43.033547+00:00","course_uid":"course_6b09a761a0eeeecdbbd88dc8","course_id":"GEOG 378","catalog_version_id":"c6f72d1e12909746dcddee0b45390ff2dc4829a8696b32ea103cf14b702208ae","record_version_id":"e6e0ec22a8e69fbea26b4284e0bd8cde8d754c7768d5dfc8dbee0da35699cd2c","job_id":"enrich-8b774950c2b6adfdc46d1b82","output_id":"cd42dbf6c93de8264c6ee20dbeea0dbd6a3c5d9fb31479ee7e7b7c6d25551a6c","section":"requirements","status":"valid","value_json":"{\"nodes\":[{\"children\":[\"n1\",\"n2\"],\"condition\":null,\"course\":null,\"evidence\":\"CIV ENGR/ENVIR ST/GEOG 377or concurrent enrollment, or graduate/professional standing\",\"id\":\"n0\",\"kind\":\"any\"},{\"children\":[],\"condition\":null,\"course\":{\"course_number\":377,\"minimum_grade\":null,\"subjects\":[\"CIVENGR\",\"ENVIRST\",\"GEOG\"],\"timing\":\"prior_or_concurrent\"},\"evidence\":\"CIV ENGR/ENVIR ST/GEOG 377or concurrent enrollment\",\"id\":\"n1\",\"kind\":\"course\"},{\"children\":[],\"condition\":\"graduate/professional standing\",\"course\":null,\"evidence\":\"graduate/professional standing\",\"id\":\"n2\",\"kind\":\"condition\"}],\"notes\":[\"Course reference 'CIV ENGR/ENVIR ST/GEOG 377' maps to linked course 'CIVENGR/ENVIRST/GEOG 377'.\"],\"root\":\"n0\",\"status\":\"parsed\"}","candidate_json":null,"error":null,"model":"nvidia/Qwen3.6-35B-A3B-NVFP4","model_revision":"1355db6a052410cfd62085d94b58866fd0f2c3c5","selected_for_release":true},{"run_id":"20260907T155543-ce3781c4","observed_at":"2026-09-07 15:55:43.033547+00:00","course_uid":"course_6b09a761a0eeeecdbbd88dc8","course_id":"GEOG 378","catalog_version_id":"c6f72d1e12909746dcddee0b45390ff2dc4829a8696b32ea103cf14b702208ae","record_version_id":"e6e0ec22a8e69fbea26b4284e0bd8cde8d754c7768d5dfc8dbee0da35699cd2c","job_id":"enrich-8b774950c2b6adfdc46d1b82","output_id":"cd42dbf6c93de8264c6ee20dbeea0dbd6a3c5d9fb31479ee7e7b7c6d25551a6c","section":"search_profile","status":"valid","value_json":"{\"assumed_background\":[{\"evidence\":[{\"course_id\":\"CIVENGR/ENVIRST/GEOG 377\",\"field\":\"description\",\"quote\":\"Design, implementation and use of automated procedures for storage, analysis and display of spatial information. Covers data bases, information manipulation and display techniques, software systems and management issues.\"}],\"text\":\"Foundational knowledge of Geographic Information Systems (GIS) concepts, data storage, and spatial analysis.\"}],\"search_phrases\":[\"GEOG 378 Python scripting\",\"Geoprocessing ArcGIS\",\"Geocomputing introduction\",\"GIS utilities scripting\"],\"skills_taught\":[{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Introduction to scripting for Geographic Information Science.\"}],\"text\":\"Scripting for Geographic Information Science\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Geoprocessing with open-source GIS utilities.\"}],\"text\":\"Geoprocessing with open-source GIS utilities\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Python scripting with ArcGIS and open-source libraries.\"}],\"text\":\"Python scripting with ArcGIS and open-source libraries\"}],\"summary\":{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"title\",\"quote\":\"INTRODUCTION TO GEOCOMPUTING\"},{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Introduction to scripting for Geographic Information Science. Geoprocessing with open-source GIS utilities. Python scripting with ArcGIS and open-source libraries.\"}],\"text\":\"Introduction to Geocomputing focusing on Python scripting for geoprocessing using ArcGIS and open-source libraries.\"},\"topics\":[{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Geographic Information Science\"}],\"text\":\"Geographic Information Science\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Geoprocessing\"}],\"text\":\"Geoprocessing\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Python scripting\"}],\"text\":\"Python scripting\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"ArcGIS\"}],\"text\":\"ArcGIS\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"open-source libraries\"}],\"text\":\"Open-source libraries\"}]}","candidate_json":null,"error":null,"model":"nvidia/Qwen3.6-35B-A3B-NVFP4","model_revision":"1355db6a052410cfd62085d94b58866fd0f2c3c5","selected_for_release":true},{"run_id":"20260907T155543-ce3781c4","observed_at":"2026-09-07 15:55:43.033547+00:00","course_uid":"course_6b09a761a0eeeecdbbd88dc8","course_id":"GEOG 378","catalog_version_id":"c6f72d1e12909746dcddee0b45390ff2dc4829a8696b32ea103cf14b702208ae","record_version_id":"e6e0ec22a8e69fbea26b4284e0bd8cde8d754c7768d5dfc8dbee0da35699cd2c","job_id":"enrich-8b774950c2b6adfdc46d1b82","output_id":"cd42dbf6c93de8264c6ee20dbeea0dbd6a3c5d9fb31479ee7e7b7c6d25551a6c","section":"student_experience","status":"valid","value_json":"{\"status\":\"supported\",\"themes\":[{\"aspect\":\"teaching_clarity\",\"evidence\":[{\"comment\":\"We learn Python programming with geospatial computation examples in his class. It is not easy for a beginner, but he takes great efforts to make the lecture slides are friendly to us and set appropriate discussion sections to help us have a better understanding of the content. His lectures are not boring at all but are helpful for our learning.\",\"course_id\":\"GEOG 378\",\"date\":\"2017-12-06 22:47:42 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"41d8ec3632e2dce44662da8b\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTI5MDczNTU4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"His presentations rocked. Very concise and to the point. In addition, they were very relevant to labs and core concepts behind the coding language.\",\"course_id\":\"GEOG 378\",\"date\":\"2019-01-10 16:04:19 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"2b52655090b7e34989f3373b\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTMxMjM3NzM4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"He is very understanding and cares about students\",\"course_id\":\"GEOG 378\",\"date\":\"2020-11-24 16:39:46 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"61e220cb79e147c7d0c86fdf\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTMzODgxNDk5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"Professor Gao is really cool. I love his instruction mode. We have a lot of examples on class to help understand the programming knowledge and how it relates to GIS fi eld. I learned a lot in this class. The TA also works well with Prof Gao with effective response of emails and the ability to solve problems. I'm very happy in this class.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-01-18 14:04:00 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"c09afdc4cafe506c5ce6a244\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM1NzY1NjY5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-23 23:21:28 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"a7474b22f0828e880050761e\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM2ODg3MDky\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":5,\"review_ids\":[\"41d8ec3632e2dce44662da8b\",\"2b52655090b7e34989f3373b\",\"61e220cb79e147c7d0c86fdf\",\"c09afdc4cafe506c5ce6a244\",\"a7474b22f0828e880050761e\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2017\"},\"sentiment\":\"positive\",\"summary\":\"Professors are described as concise, relevant, and caring, with effective communication and support for students.\"},{\"aspect\":\"workload\",\"evidence\":[{\"comment\":\"We learn Python programming with geospatial computation examples in his class. It is not easy for a beginner, but he takes great efforts to make the lecture slides are friendly to us and set appropriate discussion sections to help us have a better understanding of the content. His lectures are not boring at all but are helpful for our learning.\",\"course_id\":\"GEOG 378\",\"date\":\"2017-12-06 22:47:42 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"41d8ec3632e2dce44662da8b\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTI5MDczNTU4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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. \",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-23 02:59:57 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"656d5f85cbd672738aa509dc\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM2ODg0MDc2\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-12-28 15:57:46 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"f3afcb1f0056bd7ef6072909\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM3MjU0OTQ1\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"I found this course extremely challenging because I did not have any prior coding experience. However, the professor and TA were always available to help with materials I was struggling with; they went above and beyond to help students learn the material.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-01-18 14:07:50 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"09f8ecd0f80de98ae084f8e7\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM1NzY1Njc3\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":4,\"review_ids\":[\"41d8ec3632e2dce44662da8b\",\"656d5f85cbd672738aa509dc\",\"f3afcb1f0056bd7ef6072909\",\"09f8ecd0f80de98ae084f8e7\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2017\"},\"sentiment\":\"mixed\",\"summary\":\"The course is considered challenging and requires significant effort, particularly for those without coding background, but labs are seen as effective learning tools.\"},{\"aspect\":\"assessment\",\"evidence\":[{\"comment\":\"Prof. Gao is nice, &amp; good to connect with if you want to work in his lab. If you want a fairly easy A, take this class. But if you want to learn geospatial coding, don't take his class. Code is taught off slides and uses outdated, non-open-source methods. I promise you will learn Python mapping in a much easier, deeper way by taking CS220 &amp; CS320.\",\"course_id\":\"GEOG 378\",\"date\":\"2021-11-16 22:43:17 +0000 UTC\",\"difficulty_rating\":1,\"id\":\"132db2dd165901131a122f36\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":2,\"source_review_id\":\"UmF0aW5nLTM1MjUxMzI5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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. \",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-16 21:21:26 +0000 UTC\",\"difficulty_rating\":5,\"id\":\"6602ae768a950787eea26ba3\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":1,\"source_review_id\":\"UmF0aW5nLTM2ODQ4MjMz\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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. \",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-23 02:59:57 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"656d5f85cbd672738aa509dc\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM2ODg0MDc2\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":3,\"review_ids\":[\"132db2dd165901131a122f36\",\"6602ae768a950787eea26ba3\",\"656d5f85cbd672738aa509dc\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2021\"},\"sentiment\":\"mixed\",\"summary\":\"Grades can be achieved with effort, but the difficulty varies significantly based on prior experience; some find labs astoundingly difficult.\"},{\"aspect\":\"organization\",\"evidence\":[{\"comment\":\"Professor Gao is really cool. I love his instruction mode. We have a lot of examples on class to help understand the programming knowledge and how it relates to GIS fi eld. I learned a lot in this class. The TA also works well with Prof Gao with effective response of emails and the ability to solve problems. I'm very happy in this class.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-01-18 14:04:00 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"c09afdc4cafe506c5ce6a244\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM1NzY1NjY5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-12-28 15:57:46 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"f3afcb1f0056bd7ef6072909\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM3MjU0OTQ1\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"I think this class would be better if we had more labs or homeworkmore chances to actually write Python codeand fewer lectures.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-01-18 14:05:28 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"cc072c290ceb3bc9c1b42704\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":4,\"source_review_id\":\"UmF0aW5nLTM1NzY1Njcy\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":3,\"review_ids\":[\"c09afdc4cafe506c5ce6a244\",\"f3afcb1f0056bd7ef6072909\",\"cc072c290ceb3bc9c1b42704\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2022\"},\"sentiment\":\"positive\",\"summary\":\"The course is well-organized with relevant examples and connections to GIS knowledge, though some suggest more labs and fewer lectures.\"},{\"aspect\":\"projects\",\"evidence\":[{\"comment\":\"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.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-12-28 15:57:46 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"f3afcb1f0056bd7ef6072909\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM3MjU0OTQ1\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"Professor Gao is really cool. I love his instruction mode. We have a lot of examples on class to help understand the programming knowledge and how it relates to GIS fi eld. I learned a lot in this class. The TA also works well with Prof Gao with effective response of emails and the ability to solve problems. I'm very happy in this class.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-01-18 14:04:00 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"c09afdc4cafe506c5ce6a244\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM1NzY1NjY5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":2,\"review_ids\":[\"f3afcb1f0056bd7ef6072909\",\"c09afdc4cafe506c5ce6a244\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2022\"},\"sentiment\":\"positive\",\"summary\":\"Labs are successful tools for learning, providing real-life examples and practical application of geocomputing concepts.\"},{\"aspect\":\"overall\",\"evidence\":[{\"comment\":\"We learn Python programming with geospatial computation examples in his class. It is not easy for a beginner, but he takes great efforts to make the lecture slides are friendly to us and set appropriate discussion sections to help us have a better understanding of the content. His lectures are not boring at all but are helpful for our learning.\",\"course_id\":\"GEOG 378\",\"date\":\"2017-12-06 22:47:42 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"41d8ec3632e2dce44662da8b\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTI5MDczNTU4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"Prof. Gao demonstrated how to solve geocomputing problems with Python programming. It is practical and very helpful for my individual studies. Ready to learn much cool stuff!\",\"course_id\":\"GEOG 378\",\"date\":\"2017-12-14 11:53:33 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"3562ea2666fe6fff38ab0794\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTI5MTk2ODIy\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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. \",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-23 02:59:57 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"656d5f85cbd672738aa509dc\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM2ODg0MDc2\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-23 23:21:28 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"a7474b22f0828e880050761e\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM2ODg3MDky\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":4,\"review_ids\":[\"41d8ec3632e2dce44662da8b\",\"3562ea2666fe6fff38ab0794\",\"656d5f85cbd672738aa509dc\",\"a7474b22f0828e880050761e\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2017\"},\"sentiment\":\"positive\",\"summary\":\"Students generally appreciate the professor's expertise and the practical nature of the course, despite the steep learning curve for beginners.\"}]}","candidate_json":null,"error":null,"model":"nvidia/Qwen3.6-35B-A3B-NVFP4","model_revision":"1355db6a052410cfd62085d94b58866fd0f2c3c5","selected_for_release":true},{"run_id":"20260907T155543-ce3781c4","observed_at":"2026-09-07 15:55:43.033547+00:00","course_uid":"course_6b09a761a0eeeecdbbd88dc8","course_id":"GEOG 378","catalog_version_id":"c6f72d1e12909746dcddee0b45390ff2dc4829a8696b32ea103cf14b702208ae","record_version_id":"e6e0ec22a8e69fbea26b4284e0bd8cde8d754c7768d5dfc8dbee0da35699cd2c","job_id":"enrich-8b774950c2b6adfdc46d1b82","output_id":"cd42dbf6c93de8264c6ee20dbeea0dbd6a3c5d9fb31479ee7e7b7c6d25551a6c","section":"student_summary","status":"invalid","value_json":"{\"context_hash\":\"bfea03b92ff4bcab617c27be5649e152b26f5126f3527679bea45f10927c5af2\",\"course_id\":\"GEOG 378\",\"current_instructors\":[{\"instructor_uid\":\"instructor_8fc28205696bc440a5eeb097\",\"message\":\"Summary generation failed\",\"name\":\"Song Gao\",\"review_status\":\"generation_failed\",\"rmp_instructor_id\":\"rmp:2313819\",\"summary\":[{\"citations\":[{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1222\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1232\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1262\",\"type\":\"grade\"}],\"text\":\"Recent recorded grades — Fall 2021: 3.66 GPA, 84.4% A/AB (n=32 letter grades); Fall 2022: 3.72 GPA, 86.2% A/AB (n=29 letter grades); Fall 2025: 3.71 GPA, 81.0% A/AB (n=42 letter grades).\"}]}],\"difficulty_workload\":[],\"errors\":[{\"error\":\"ModelAPIError: Connection error.\",\"instructor_uid\":\"instructor_8fc28205696bc440a5eeb097\",\"mode\":\"professor\"},{\"error\":\"ModelAPIError: Connection error.\",\"instructor_uid\":null,\"mode\":\"overview\"}],\"historical_context\":[],\"message\":null,\"offered\":true,\"profile_hash\":\"5cb4dabf887cdbcd8c00d5a1312e10828b95c63f30bc3ea76aea199565390d02\",\"quick_take\":[{\"citations\":[{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"grades_latest\",\"term_id\":\"1252\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"grades_latest\",\"term_id\":\"1254\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"grades_latest\",\"term_id\":\"1262\",\"type\":\"grade\"}],\"text\":\"Recent recorded grades — Fall 2024: 3.56 GPA, 80.7% A/AB (n=57 letter grades); Spring 2025: 3.23 GPA, 76.9% A/AB (n=13 letter grades); Fall 2025: 3.71 GPA, 81.0% A/AB (n=42 letter grades).\"}],\"student_experience\":[],\"task_hash\":\"74fb0997943e888960bbc9e47db8c4fd12e4292d55c20509d8d89db6a9910f68\",\"teaching_history\":[{\"citations\":[{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1182\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1192\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1202\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1212\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1222\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1232\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1262\",\"type\":\"grade\"}],\"text\":\"SONG GAO is recorded teaching in Fall 2017, Fall 2018, Fall 2019, Fall 2020, Fall 2021, Fall 2022, Fall 2025. Recorded history may be incomplete and does not establish a future schedule.\"}],\"term_id\":\"1272\",\"term_name\":\"2026 Fall\",\"version\":2}","candidate_json":null,"error":"[{\"mode\": \"professor\", \"instructor_uid\": \"instructor_8fc28205696bc440a5eeb097\", \"error\": \"ModelAPIError: Connection error.\"}, {\"mode\": \"overview\", \"instructor_uid\": null, \"error\": \"ModelAPIError: Connection error.\"}]","model":"nvidia/Qwen3.6-35B-A3B-NVFP4","model_revision":"1355db6a052410cfd62085d94b58866fd0f2c3c5","selected_for_release":true},{"run_id":"20260907T155543-ce3781c4","observed_at":"2026-09-07 15:55:43.033547+00:00","course_uid":"course_6b09a761a0eeeecdbbd88dc8","course_id":"GEOG 378","catalog_version_id":"c6f72d1e12909746dcddee0b45390ff2dc4829a8696b32ea103cf14b702208ae","record_version_id":"e6e0ec22a8e69fbea26b4284e0bd8cde8d754c7768d5dfc8dbee0da35699cd2c","job_id":"enrich-f516c4d3e82cfe326b4f5f54","output_id":"b77ff9e3e98dc75cc430a526a2b81b6134d3ebeb7257fc2c7112d639a0f07ee6","section":"requirements","status":"valid","value_json":"{\"nodes\":[{\"children\":[\"n1\",\"n2\"],\"condition\":null,\"course\":null,\"evidence\":\"CIV ENGR/ENVIR ST/GEOG 377or concurrent enrollment, or graduate/professional standing\",\"id\":\"n0\",\"kind\":\"any\"},{\"children\":[],\"condition\":null,\"course\":{\"course_number\":377,\"minimum_grade\":null,\"subjects\":[\"CIVENGR\",\"ENVIRST\",\"GEOG\"],\"timing\":\"prior_or_concurrent\"},\"evidence\":\"CIV ENGR/ENVIR ST/GEOG 377or concurrent enrollment\",\"id\":\"n1\",\"kind\":\"course\"},{\"children\":[],\"condition\":\"graduate/professional standing\",\"course\":null,\"evidence\":\"graduate/professional standing\",\"id\":\"n2\",\"kind\":\"condition\"}],\"notes\":[\"Course reference 'CIV ENGR/ENVIR ST/GEOG 377' maps to linked course 'CIVENGR/ENVIRST/GEOG 377'.\"],\"root\":\"n0\",\"status\":\"parsed\"}","candidate_json":null,"error":null,"model":"nvidia/Qwen3.6-35B-A3B-NVFP4","model_revision":"1355db6a052410cfd62085d94b58866fd0f2c3c5","selected_for_release":true},{"run_id":"20260907T155543-ce3781c4","observed_at":"2026-09-07 15:55:43.033547+00:00","course_uid":"course_6b09a761a0eeeecdbbd88dc8","course_id":"GEOG 378","catalog_version_id":"c6f72d1e12909746dcddee0b45390ff2dc4829a8696b32ea103cf14b702208ae","record_version_id":"e6e0ec22a8e69fbea26b4284e0bd8cde8d754c7768d5dfc8dbee0da35699cd2c","job_id":"enrich-f516c4d3e82cfe326b4f5f54","output_id":"b77ff9e3e98dc75cc430a526a2b81b6134d3ebeb7257fc2c7112d639a0f07ee6","section":"search_profile","status":"valid","value_json":"{\"assumed_background\":[{\"evidence\":[{\"course_id\":\"CIVENGR/ENVIRST/GEOG 377\",\"field\":\"description\",\"quote\":\"Design, implementation and use of automated procedures for storage, analysis and display of spatial information. Covers data bases, information manipulation and display techniques, software systems and management issues.\"}],\"text\":\"Foundational knowledge of Geographic Information Systems (GIS) concepts, data storage, and spatial analysis.\"}],\"search_phrases\":[\"GEOG 378 Python scripting\",\"Geoprocessing ArcGIS\",\"Geocomputing introduction\",\"GIS utilities scripting\"],\"skills_taught\":[{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Introduction to scripting for Geographic Information Science.\"}],\"text\":\"Scripting for Geographic Information Science\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Geoprocessing with open-source GIS utilities.\"}],\"text\":\"Geoprocessing with open-source GIS utilities\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Python scripting with ArcGIS and open-source libraries.\"}],\"text\":\"Python scripting with ArcGIS and open-source libraries\"}],\"summary\":{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"title\",\"quote\":\"INTRODUCTION TO GEOCOMPUTING\"},{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Introduction to scripting for Geographic Information Science. Geoprocessing with open-source GIS utilities. Python scripting with ArcGIS and open-source libraries.\"}],\"text\":\"Introduction to Geocomputing focusing on Python scripting for geoprocessing using ArcGIS and open-source libraries.\"},\"topics\":[{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Geographic Information Science\"}],\"text\":\"Geographic Information Science\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Geoprocessing\"}],\"text\":\"Geoprocessing\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"Python scripting\"}],\"text\":\"Python scripting\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"ArcGIS\"}],\"text\":\"ArcGIS\"},{\"evidence\":[{\"course_id\":\"GEOG 378\",\"field\":\"description\",\"quote\":\"open-source libraries\"}],\"text\":\"Open-source libraries\"}]}","candidate_json":null,"error":null,"model":"nvidia/Qwen3.6-35B-A3B-NVFP4","model_revision":"1355db6a052410cfd62085d94b58866fd0f2c3c5","selected_for_release":true},{"run_id":"20260907T155543-ce3781c4","observed_at":"2026-09-07 15:55:43.033547+00:00","course_uid":"course_6b09a761a0eeeecdbbd88dc8","course_id":"GEOG 378","catalog_version_id":"c6f72d1e12909746dcddee0b45390ff2dc4829a8696b32ea103cf14b702208ae","record_version_id":"e6e0ec22a8e69fbea26b4284e0bd8cde8d754c7768d5dfc8dbee0da35699cd2c","job_id":"enrich-f516c4d3e82cfe326b4f5f54","output_id":"b77ff9e3e98dc75cc430a526a2b81b6134d3ebeb7257fc2c7112d639a0f07ee6","section":"student_experience","status":"valid","value_json":"{\"status\":\"supported\",\"themes\":[{\"aspect\":\"teaching_clarity\",\"evidence\":[{\"comment\":\"We learn Python programming with geospatial computation examples in his class. It is not easy for a beginner, but he takes great efforts to make the lecture slides are friendly to us and set appropriate discussion sections to help us have a better understanding of the content. His lectures are not boring at all but are helpful for our learning.\",\"course_id\":\"GEOG 378\",\"date\":\"2017-12-06 22:47:42 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"41d8ec3632e2dce44662da8b\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTI5MDczNTU4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"His presentations rocked. Very concise and to the point. In addition, they were very relevant to labs and core concepts behind the coding language.\",\"course_id\":\"GEOG 378\",\"date\":\"2019-01-10 16:04:19 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"2b52655090b7e34989f3373b\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTMxMjM3NzM4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"He is very understanding and cares about students\",\"course_id\":\"GEOG 378\",\"date\":\"2020-11-24 16:39:46 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"61e220cb79e147c7d0c86fdf\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTMzODgxNDk5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"Professor Gao is really cool. I love his instruction mode. We have a lot of examples on class to help understand the programming knowledge and how it relates to GIS fi eld. I learned a lot in this class. The TA also works well with Prof Gao with effective response of emails and the ability to solve problems. I'm very happy in this class.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-01-18 14:04:00 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"c09afdc4cafe506c5ce6a244\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM1NzY1NjY5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-23 23:21:28 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"a7474b22f0828e880050761e\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM2ODg3MDky\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":5,\"review_ids\":[\"41d8ec3632e2dce44662da8b\",\"2b52655090b7e34989f3373b\",\"61e220cb79e147c7d0c86fdf\",\"c09afdc4cafe506c5ce6a244\",\"a7474b22f0828e880050761e\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2017\"},\"sentiment\":\"positive\",\"summary\":\"Professors are described as concise, relevant, and caring, with effective communication and support for students.\"},{\"aspect\":\"workload\",\"evidence\":[{\"comment\":\"We learn Python programming with geospatial computation examples in his class. It is not easy for a beginner, but he takes great efforts to make the lecture slides are friendly to us and set appropriate discussion sections to help us have a better understanding of the content. His lectures are not boring at all but are helpful for our learning.\",\"course_id\":\"GEOG 378\",\"date\":\"2017-12-06 22:47:42 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"41d8ec3632e2dce44662da8b\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTI5MDczNTU4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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. \",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-23 02:59:57 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"656d5f85cbd672738aa509dc\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM2ODg0MDc2\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-12-28 15:57:46 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"f3afcb1f0056bd7ef6072909\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM3MjU0OTQ1\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"I found this course extremely challenging because I did not have any prior coding experience. However, the professor and TA were always available to help with materials I was struggling with; they went above and beyond to help students learn the material.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-01-18 14:07:50 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"09f8ecd0f80de98ae084f8e7\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM1NzY1Njc3\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":4,\"review_ids\":[\"41d8ec3632e2dce44662da8b\",\"656d5f85cbd672738aa509dc\",\"f3afcb1f0056bd7ef6072909\",\"09f8ecd0f80de98ae084f8e7\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2017\"},\"sentiment\":\"mixed\",\"summary\":\"The course is considered challenging and requires significant effort, particularly for those without coding background, but labs are seen as effective learning tools.\"},{\"aspect\":\"assessment\",\"evidence\":[{\"comment\":\"Prof. Gao is nice, &amp; good to connect with if you want to work in his lab. If you want a fairly easy A, take this class. But if you want to learn geospatial coding, don't take his class. Code is taught off slides and uses outdated, non-open-source methods. I promise you will learn Python mapping in a much easier, deeper way by taking CS220 &amp; CS320.\",\"course_id\":\"GEOG 378\",\"date\":\"2021-11-16 22:43:17 +0000 UTC\",\"difficulty_rating\":1,\"id\":\"132db2dd165901131a122f36\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":2,\"source_review_id\":\"UmF0aW5nLTM1MjUxMzI5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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. \",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-16 21:21:26 +0000 UTC\",\"difficulty_rating\":5,\"id\":\"6602ae768a950787eea26ba3\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":1,\"source_review_id\":\"UmF0aW5nLTM2ODQ4MjMz\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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. \",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-23 02:59:57 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"656d5f85cbd672738aa509dc\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM2ODg0MDc2\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":3,\"review_ids\":[\"132db2dd165901131a122f36\",\"6602ae768a950787eea26ba3\",\"656d5f85cbd672738aa509dc\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2021\"},\"sentiment\":\"mixed\",\"summary\":\"Grades can be achieved with effort, but the difficulty varies significantly based on prior experience; some find labs astoundingly difficult.\"},{\"aspect\":\"organization\",\"evidence\":[{\"comment\":\"Professor Gao is really cool. I love his instruction mode. We have a lot of examples on class to help understand the programming knowledge and how it relates to GIS fi eld. I learned a lot in this class. The TA also works well with Prof Gao with effective response of emails and the ability to solve problems. I'm very happy in this class.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-01-18 14:04:00 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"c09afdc4cafe506c5ce6a244\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM1NzY1NjY5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-12-28 15:57:46 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"f3afcb1f0056bd7ef6072909\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM3MjU0OTQ1\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"I think this class would be better if we had more labs or homeworkmore chances to actually write Python codeand fewer lectures.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-01-18 14:05:28 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"cc072c290ceb3bc9c1b42704\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":4,\"source_review_id\":\"UmF0aW5nLTM1NzY1Njcy\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":3,\"review_ids\":[\"c09afdc4cafe506c5ce6a244\",\"f3afcb1f0056bd7ef6072909\",\"cc072c290ceb3bc9c1b42704\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2022\"},\"sentiment\":\"positive\",\"summary\":\"The course is well-organized with relevant examples and connections to GIS knowledge, though some suggest more labs and fewer lectures.\"},{\"aspect\":\"projects\",\"evidence\":[{\"comment\":\"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.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-12-28 15:57:46 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"f3afcb1f0056bd7ef6072909\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM3MjU0OTQ1\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"Professor Gao is really cool. I love his instruction mode. We have a lot of examples on class to help understand the programming knowledge and how it relates to GIS fi eld. I learned a lot in this class. The TA also works well with Prof Gao with effective response of emails and the ability to solve problems. I'm very happy in this class.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-01-18 14:04:00 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"c09afdc4cafe506c5ce6a244\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM1NzY1NjY5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":2,\"review_ids\":[\"f3afcb1f0056bd7ef6072909\",\"c09afdc4cafe506c5ce6a244\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2022\"},\"sentiment\":\"positive\",\"summary\":\"Labs are successful tools for learning, providing real-life examples and practical application of geocomputing concepts.\"},{\"aspect\":\"overall\",\"evidence\":[{\"comment\":\"We learn Python programming with geospatial computation examples in his class. It is not easy for a beginner, but he takes great efforts to make the lecture slides are friendly to us and set appropriate discussion sections to help us have a better understanding of the content. His lectures are not boring at all but are helpful for our learning.\",\"course_id\":\"GEOG 378\",\"date\":\"2017-12-06 22:47:42 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"41d8ec3632e2dce44662da8b\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTI5MDczNTU4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"Prof. Gao demonstrated how to solve geocomputing problems with Python programming. It is practical and very helpful for my individual studies. Ready to learn much cool stuff!\",\"course_id\":\"GEOG 378\",\"date\":\"2017-12-14 11:53:33 +0000 UTC\",\"difficulty_rating\":3,\"id\":\"3562ea2666fe6fff38ab0794\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTI5MTk2ODIy\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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. \",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-23 02:59:57 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"656d5f85cbd672738aa509dc\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM2ODg0MDc2\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"},{\"comment\":\"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.\",\"course_id\":\"GEOG 378\",\"date\":\"2022-11-23 23:21:28 +0000 UTC\",\"difficulty_rating\":4,\"id\":\"a7474b22f0828e880050761e\",\"instructor_id\":\"rmp:2313819\",\"instructor_name\":\"Song Gao\",\"quality_rating\":5,\"source_review_id\":\"UmF0aW5nLTM2ODg3MDky\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\"}],\"evidence_count\":4,\"review_ids\":[\"41d8ec3632e2dce44662da8b\",\"3562ea2666fe6fff38ab0794\",\"656d5f85cbd672738aa509dc\",\"a7474b22f0828e880050761e\"],\"scope\":{\"historical\":true,\"instructors\":[{\"id\":\"rmp:2313819\",\"name\":\"Song Gao\"}],\"review_year_end\":\"2022\",\"review_year_start\":\"2017\"},\"sentiment\":\"positive\",\"summary\":\"Students generally appreciate the professor's expertise and the practical nature of the course, despite the steep learning curve for beginners.\"}]}","candidate_json":null,"error":null,"model":"nvidia/Qwen3.6-35B-A3B-NVFP4","model_revision":"1355db6a052410cfd62085d94b58866fd0f2c3c5","selected_for_release":true},{"run_id":"20260907T155543-ce3781c4","observed_at":"2026-09-07 15:55:43.033547+00:00","course_uid":"course_6b09a761a0eeeecdbbd88dc8","course_id":"GEOG 378","catalog_version_id":"c6f72d1e12909746dcddee0b45390ff2dc4829a8696b32ea103cf14b702208ae","record_version_id":"e6e0ec22a8e69fbea26b4284e0bd8cde8d754c7768d5dfc8dbee0da35699cd2c","job_id":"enrich-f516c4d3e82cfe326b4f5f54","output_id":"b77ff9e3e98dc75cc430a526a2b81b6134d3ebeb7257fc2c7112d639a0f07ee6","section":"student_summary","status":"valid","value_json":"{\"context_hash\":\"bfea03b92ff4bcab617c27be5649e152b26f5126f3527679bea45f10927c5af2\",\"course_id\":\"GEOG 378\",\"current_instructors\":[{\"instructor_uid\":\"instructor_8fc28205696bc440a5eeb097\",\"message\":null,\"name\":\"Song Gao\",\"review_status\":\"supported\",\"rmp_instructor_id\":\"rmp:2313819\",\"summary\":[{\"citations\":[{\"instructor_name\":\"Song Gao\",\"review_date\":\"2017-12-06 22:47:42 +0000 UTC\",\"review_id\":\"41d8ec3632e2dce44662da8b\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTI5MDczNTU4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2017-12-14 11:53:33 +0000 UTC\",\"review_id\":\"3562ea2666fe6fff38ab0794\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTI5MTk2ODIy\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2019-01-10 16:04:19 +0000 UTC\",\"review_id\":\"2b52655090b7e34989f3373b\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTMxMjM3NzM4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2022-01-18 14:04:00 +0000 UTC\",\"review_id\":\"c09afdc4cafe506c5ce6a244\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTM1NzY1NjY5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2022-11-23 02:59:57 +0000 UTC\",\"review_id\":\"656d5f85cbd672738aa509dc\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTM2ODg0MDc2\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2022-12-28 15:57:46 +0000 UTC\",\"review_id\":\"f3afcb1f0056bd7ef6072909\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTM3MjU0OTQ1\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"}],\"text\":\"Song Gao teaches Python programming with geospatial applications, using practical examples and concise lectures that many students find helpful and engaging. Reviewers appreciate his industry knowledge and the relevance of course material to GIS topics.\"},{\"citations\":[{\"instructor_name\":\"Song Gao\",\"review_date\":\"2021-11-16 22:43:17 +0000 UTC\",\"review_id\":\"132db2dd165901131a122f36\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTM1MjUxMzI5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2022-11-16 21:21:26 +0000 UTC\",\"review_id\":\"6602ae768a950787eea26ba3\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTM2ODQ4MjMz\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"}],\"text\":\"Some students criticize the course for using outdated methods and lacking depth in geospatial coding instruction. One reviewer found the lectures ineffective and the labs excessively difficult without prior computer science experience.\"},{\"citations\":[{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1222\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1232\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1262\",\"type\":\"grade\"}],\"text\":\"Recent recorded grades — Fall 2021: 3.66 GPA, 84.4% A/AB (n=32 letter grades); Fall 2022: 3.72 GPA, 86.2% A/AB (n=29 letter grades); Fall 2025: 3.71 GPA, 81.0% A/AB (n=42 letter grades).\"}]}],\"difficulty_workload\":[{\"citations\":[{\"instructor_name\":\"Song Gao\",\"review_date\":\"2017-12-06 22:47:42 +0000 UTC\",\"review_id\":\"41d8ec3632e2dce44662da8b\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTI5MDczNTU4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2022-01-18 14:07:50 +0000 UTC\",\"review_id\":\"09f8ecd0f80de98ae084f8e7\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTM1NzY1Njc3\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2022-11-16 21:21:26 +0000 UTC\",\"review_id\":\"6602ae768a950787eea26ba3\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTM2ODQ4MjMz\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2022-11-23 02:59:57 +0000 UTC\",\"review_id\":\"656d5f85cbd672738aa509dc\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTM2ODg0MDc2\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"}],\"text\":\"The course is challenging for beginners without coding experience, featuring heavy labs and difficult assignments that require significant effort and practice.\"}],\"errors\":[],\"historical_context\":[],\"message\":null,\"offered\":true,\"profile_hash\":\"e59ddc7389015d0035b68cd195c939d475bf72b959b29cf12eab59b454ccaef1\",\"quick_take\":[{\"citations\":[{\"instructor_name\":\"Song Gao\",\"review_date\":\"2017-12-06 22:47:42 +0000 UTC\",\"review_id\":\"41d8ec3632e2dce44662da8b\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTI5MDczNTU4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2017-12-14 11:53:33 +0000 UTC\",\"review_id\":\"3562ea2666fe6fff38ab0794\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTI5MTk2ODIy\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2019-01-10 16:04:19 +0000 UTC\",\"review_id\":\"2b52655090b7e34989f3373b\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTMxMjM3NzM4\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2022-01-18 14:04:00 +0000 UTC\",\"review_id\":\"c09afdc4cafe506c5ce6a244\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTM1NzY1NjY5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2022-11-23 02:59:57 +0000 UTC\",\"review_id\":\"656d5f85cbd672738aa509dc\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTM2ODg0MDc2\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2022-12-28 15:57:46 +0000 UTC\",\"review_id\":\"f3afcb1f0056bd7ef6072909\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTM3MjU0OTQ1\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"}],\"text\":\"Song Gao teaches Python programming for geospatial computation, with many students finding his lectures helpful, concise, and relevant to GIS applications.\"},{\"citations\":[{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"grades_latest\",\"term_id\":\"1252\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"grades_latest\",\"term_id\":\"1254\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"grades_latest\",\"term_id\":\"1262\",\"type\":\"grade\"}],\"text\":\"Recent recorded grades — Fall 2024: 3.56 GPA, 80.7% A/AB (n=57 letter grades); Spring 2025: 3.23 GPA, 76.9% A/AB (n=13 letter grades); Fall 2025: 3.71 GPA, 81.0% A/AB (n=42 letter grades).\"}],\"student_experience\":[{\"citations\":[{\"instructor_name\":\"Song Gao\",\"review_date\":\"2021-11-16 22:43:17 +0000 UTC\",\"review_id\":\"132db2dd165901131a122f36\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTM1MjUxMzI5\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2022-01-18 14:00:55 +0000 UTC\",\"review_id\":\"8557943844dea00f60033ee7\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTM1NzY1NjYz\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"},{\"instructor_name\":\"Song Gao\",\"review_date\":\"2022-11-16 21:21:26 +0000 UTC\",\"review_id\":\"6602ae768a950787eea26ba3\",\"run_id\":\"20260907T155543-ce3781c4\",\"source_instructor_id\":\"rmp:2313819\",\"source_review_id\":\"UmF0aW5nLTM2ODQ4MjMz\",\"source_url\":\"https://www.ratemyprofessors.com/professor/2313819\",\"type\":\"review\"}],\"text\":\"Some students find the content outdated or the teaching ineffective, while others suggest the course structure could better separate programming basics from geocomputing.\"}],\"task_hash\":\"74fb0997943e888960bbc9e47db8c4fd12e4292d55c20509d8d89db6a9910f68\",\"teaching_history\":[{\"citations\":[{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1182\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1192\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1202\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1212\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1222\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1232\",\"type\":\"grade\"},{\"course_id\":\"GEOG 378\",\"run_id\":\"20260907T155543-ce3781c4\",\"section_number\":1,\"source_course_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"source_record\":{\"entity_id\":\"58cf29bc-0083-32d2-bd0c-a62e9ce965b7\",\"file\":\"tables/observations.parquet\",\"kind\":\"grades\",\"source\":\"madgrades\"},\"table\":\"section_grades_latest\",\"term_id\":\"1262\",\"type\":\"grade\"}],\"text\":\"SONG GAO is recorded teaching in Fall 2017, Fall 2018, Fall 2019, Fall 2020, Fall 2021, Fall 2022, Fall 2025. Recorded history may be incomplete and does not establish a future schedule.\"}],\"term_id\":\"1272\",\"term_name\":\"2026 Fall\",\"version\":2}","candidate_json":null,"error":null,"model":"nvidia/Qwen3.6-35B-A3B-NVFP4","model_revision":"1355db6a052410cfd62085d94b58866fd0f2c3c5","selected_for_release":true}]