Course materials are dense Emacs notes that are hard to read/annotate. Lec lacks visual structure, and vague explanations with frequent fillers make new topics difficult to follow. It often feels like review for prepared students rather than teaching beginners in low level coding, especially with the fast pace and biweekly quizzes.Rate My Professors ↗
Historical instructor
GARY DAHL
What students say
Original student reviews · all captured dates
Quality 1/5Difficulty 3/5
Quality 4/5Difficulty 3/5
I learned a lot from Gary and felt that the projects really helped me learn the class well. The lectures felt confusing at times but felt that I was able to freely ask him questions.Rate My Professors ↗
Quality 1/5Difficulty 3/5
Gary is a monotone professor. He simply reads off the slides. He does not seem at all passionate about the topic.Rate My Professors ↗
Quality 1/5Difficulty 3/5
Professor Dahl seems like a nice guy but is incredibly boring. They are structured in a way that is hard to follow and will make you fall asleep. Overall, the class isn't too hard but it has been my least favorite CS course I have taken so far.Rate My Professors ↗
Quality 1/5Difficulty 5/5
Gary stalks this page and reporting every negative comment to put it down. Btw all the positive comments are written by himself. He complained about it on the lecture, that there are so many negative comments that he had to write a couple of positive ones. This guy is hilarious.Rate My Professors ↗
Quality 1/5Difficulty 5/5
The course structure and instruction are so poor and confusing that you will not learn anything. There is no point in attending the lectures, as you will leave feeling perplexed. Gary then complains about students not showing up for lectures.Rate My Professors ↗
Personal experiences, not a representative survey. Profile matching and captured coverage are shown in the source details.
Classes with GARY DAHL
COMPSCI/ECE 354 introduces computer system structures and C programming, covering memory, assembly, and compilation.
No offering record · Spring 2026
with this instructor · course overall, matching historical terms
historical GPA · grades
Fall 2021–Spring 2026Recorded teaching history
Distinct courses recorded per term
Explore courses taught by this instructor →Browse recorded courses
| Term | Course | Title |
|---|---|---|
| Spring 2026 | COMPSCI/ECE 354 | Machine Organization and Programming |
| Fall 2025 | COMPSCI/ECE 354 | Machine Organization and Programming |
| Spring 2025 | COMPSCI 400 | Programming III |
| Fall 2024 | COMPSCI 400 | Programming III |
| Spring 2024 | COMPSCI 400 | Programming III |
| Fall 2023 | COMPSCI 400 | Programming III |
| Spring 2023 | COMPSCI 400 | Programming III |
| Fall 2022 | COMPSCI 400 | Programming III |
| Spring 2022 | COMPSCI 400 | Programming III |
| Fall 2021 | COMPSCI 400 | Programming III |
| Fall 2020 | COMPSCI 400 | Programming III |
| Spring 2020 | COMPSCI 300 | Programming II |
| Fall 2019 | COMPSCI 300 | Programming II |
| Spring 2019 | COMPSCI 300 | Programming II |
| Fall 2018 | COMPSCI 300 | Programming II |
| Spring 2018 | COMPSCI 300 | Programming II |
| Fall 2017 | COMPSCI 300 | Programming II |
| Fall 2015 | COMPSCI 540 | Introduction to Artificial Intelligence |
Teaching history may be incomplete. Course pages contain course-specific feedback and citations.
Instructor identity & provenance
{
"instructor_uid": "instructor_ae6d3e38bcec5ad6b4559f22",
"source": "madgrades",
"source_instructor_id": "5629595",
"identity_basis": "source_id",
"identity_status": "source_identified",
"name": "GARY DAHL",
"email": null,
"first_observed_at": "2026-09-06 23:14:58.172943+00:00",
"last_observed_at": "2026-09-07 15:55:43.033547+00:00",
"ratings": {
"review_count": 155,
"quality": 3.16,
"difficulty": 3.48,
"quality_count": 155,
"difficulty_count": 155,
"profile_id": "rmp:2770358",
"source_url": "https://www.ratemyprofessors.com/professor/2770358",
"match_basis": "exact_name",
"observed_at": "2026-09-07 16:38:39.940872+00:00",
"courses": {
"course_6e524f2d6f14b4e14c7ac770": {
"review_count": 23,
"quality": 1.65,
"difficulty": 4.09,
"quality_count": 23,
"difficulty_count": 23
},
"course_583cd0f265d9f29704ca13ea": {
"review_count": 84,
"quality": 3.2,
"difficulty": 3.39,
"quality_count": 84,
"difficulty_count": 84
},
"course_28c3390ba944d49fd17f7c72": {
"review_count": 34,
"quality": 3.71,
"difficulty": 3.41,
"quality_count": 34,
"difficulty_count": 34
},
"course_e0f984e8747ee9ccaba16d75": {
"review_count": 1,
"quality": 1,
"difficulty": 5,
"quality_count": 1,
"difficulty_count": 1
}
},
"bayesian_quality": 3.2171069466910396,
"prior_mean": 3.6596857835465957,
"prior_weight": 20
},
"grade_statistics": {
"gpa": 3.24,
"graded": 6060,
"counts": [
1933,
1340,
1743,
510,
269,
170,
95
],
"sections": 34
},
"current": false,
"courses": [],
"revision": "e243353dcb7d79b7247ced91d69443ef4c2a6349",
"instructor_url": "/instructors/GARY_DAHL--instructor_ae6d3e38bcec5ad6b4559f22"
}