John is super great! He is very easy to talk to outside of class, and clearly cares a lot for his students. Tests and homework are almost fully based off lectures, so you have to be in class every day but he is also accommodating if something comes up. He's also very passionate about what he teaches!