I mentioned this to my D and her recent experience (Purdue) is the same as mine (CMU in ye olden days). All of the courses have been taught be Professors, and pretty much all of them were very good. But most grad student TAs in recitation sessions, study groups, etc., were equally good, with some being exceptional.
I think the fact that they’re new to teaching and want to do well (and get their degree), and were in the students’ shoes not long ago, contributes to this.
Fwiw, the only courses where she felt the instructor wasn’t good were two elective business classes, taught by Professors in the business school.
I would think this is very rare. Generally a Master’s is required to teach college courses. So even if they are graduate students, they will likely have already earned a Master’s before being given full responsibility for a course.
There might be some exceptions, but I also find it hard to believe engineering schools would hire grad students to actually teach (other than as an TA). PhD students in engineering (or applied sciences) are typically offered a RA (research assistant) or TA position to help them earn a living while doing their research. In engineering (or applied sciences), RA is preferrable from a student’s point of view and more common. Some students are initially offered TA positions for the first year (or two) and then they will switch to become RA as they start their research. Consequently, these first-year (or in some cases, second-year) grad students only function as TAs and don’t really teach (certainly not by OP’s definition).
Years ago, Stanford’s CS department made a deliberate effort to hire lecturers to teach classes. Lecturers are educators that specialize in teaching, not research. And Stanford does not require them to have a PhD or any specific degree in order to teach.
^But that’s very common in CS departments across the country. Every CS department has problem filling their faculty positions with the explosive growth in the number of CS students. They all hire dedicated lecturers to teach basic CS courses (often part of the college’s CS “core”). These CS courses tend to be the most basic and generic (often related to programming or computer systems).
Students on a PhD track don’t necessarily get a Master’s degree along the way, since it’s not their terminal degree, but they would likely have reached the level at which they would qualify for one before teaching courses.
When I was doing my PhD I was hired as an adjunct one semester to teach a course in the department, but I had been teaching as an adjunct for some years by that time so I was kind of non-traditional. I do think, though, that grad students who were teaching courses were classified as adjuncts as such rather than as “grad students”.