This class was tough.
Although the pace of the course is ridiculously fast (especially for students with no prior CS experience), it is a thorough introduction to the java language and programming logic. A student that has taken this course will know how to code and is virtually ready to learn any programming language.
Java syntax, programming logic, turing machines, computer architecture basics, algorithms, basic data structures, object-oriented programming.
Hours per week:
Advice for students:
Definitely look online and to the textbook for practice problems and questions. Know your definitions in technical terms for the tests. For programming problems and problem sets, try to envision every possible scenario or test case. Furthermore, since Cannon will not walk through the syntax of Java step by step, the best way to learn syntax is to look up the Java API online for different classes so that you can see all the methods and constructors of a particular class. As for any class, ask questions--be it at office hours or via email--because the first step toward understanding the material is understanding what you do not know.