CS1 using Java: Tom cares about students. I recommend his class. Tom is a decent teacher who takes getting used to. Often hard to understand since he thinks differently from most people, you must ask questions for clarification or you will struggle. Reasonable exams and homework (harder in last few weeks). No final project. Takes a lot of time.