Ah, Joseph Johns. I can never say his name without smiling. You see, Joseph Johns was a terrible terrible teacher. He *tried* hard, but he couldn't teach for the life of him. He would stand in front of the class with photocopied pages out of the book and just redo the examples therein on the board. He would also, usually, get them wrong. Sometimes someone in the class would point out his mistake, and he would fix it and move on. When that didn't happen, and he arrived at an answer that differed from the book, he would stand in front of the class silently for however long it took him to discover his mistake. Then he would vaguely wave at the part of the board where the error was (if he had not already erased it) and say something like "oh, well, I wrote this part wrong, but you all get what I meant". This was all well and good for the beginning of class where the concepts were just re-hashed older ideas (extending integration into 3 and higher dimensions) but it made learning new concepts like grad+div+curl and the like very difficult. Few people attended his lectures -- I went to almost every one, but learned most of the material from the book (which is very good, for the most part). The end of the year involved imaginary numbers taught from these confusing PDFs scanned from another book -- that was by far the worst part of the semester, when we had a teacher that couldn't teach AND a "book" that made no sense whatsoever.
Frankly, I don't think this review is going to matter because I doubt Joseph Johns will be teaching again -- from talking to fellow classmates, he did not get a single good end-of-year evaluation, and this was his first year teaching here so those evaluations actually have an effect. But writing this review has been cathartic. So there you go.