The course meets twice a week (Tuesday/Thursday). All course meetings will be interactive, including discussion, activities, quizzes, etc. As such, it is important to be prepared by completing the pre-lecture activities before coming to class.
Index Date Pre-lecture Activity Topic & Slides
1 8/23 Learn Java Introduction & Assessment
2 8/25 Code Complete: Ch. 31 Code Layout/Formatting
3 8/30 Code Complete: Ch. 22 Testing
4 9/1 Code Complete: Ch. 32 Documenting Code & JSON
5 9/6 Code Complete: Ch. 10 Variable Declarations, HTTP & Exceptions
6 9/8 Code Complete: Ch. 8 Defensive Programming
7 9/13 Code Complete: Ch. 11, 12, 13.1, 13.3 Variable Data Types and Naming
8 9/15 Code Complete: Ch. 14, 15, 16, 17.1, 17.2 Program Structures
9 9/20 Code Complete: Ch. 19, 24 Control Issue and Refactoring
  9/22   Craig was sick
10 9/27 Code Complete: Ch. 5 Design in Construction
11 9/29 Code Complete: Ch. 6 Designing Objects
12 10/4 Code Complete: Ch. 7 High-Quality Routines
13 10/6 None. (gasp!) Design Patterns
14 10/11 None. Internationalization and Localization
15 10/13 None. Android Prerequisites 1
16 10/18 None. Android Prerequisites 2
17 10/20 Lesson 1 of Android MOOC GUI design principles
18 10/25 None. Android Logging, Testing, and Constraint Layout
19 10/27 Lesson 2 of Android MOOC Model - View - Controller
20 11/1 None. REST
21 11/3 Lesson 3 of Android MOOC Object-oriented Framework Extensions
22 11/8 Lesson 8 of Android MOOC User Experience Design Firebase
23 11/10 None. SQL
23 11/15 None. Paper Prototyping
23 11/17 Paper Prototyping  UI/UX Design and Prototyping