We do something [that I consider] interesting here to staff TAs for courses, which is hire undergraduate teaching assistants. Generally, a course will have one head TA who is a grad student, and multiple undergraduate TAs. I've TA'd for a while as an undergraduate, and it's been a really great experience for my career.
Especially in the intro courses and lower level courses, I don't think that it's necessary to hire computer science gurus -- it's actually easier to find undergraduates who are capable and passionate for teaching than it is to find graduate students (partly because there are more undergraduates).
Some documents produced by one of the lecturers who I work for as a TA.
http://www.cs.washington.edu/public_files/publications/msb/h...
ftp://ftp.awl.com/cseng/authors/roberts/cs1-c/documents/ugradtas.txt