Villafane is fantastic, I took App 1 with him this past fall and his lectures were hilarious. He did a really great job of explaining the concepts we learned in class and he provided plenty of sample code for us to use when figuring out the homework assignments. The tests were challenging, however they are open book, so I didn't feel too lost.