Tom Lewis
Really hard with no prior experience because he often assumes a base level of knowledge. Class was much more technical than I expected. He is a tough grader on projects and gives no little feedback while you work on it nor after when he grades it which makes it difficult to improve. Don't get the textbook.