calendar Photo by Eric Rothermel on Unsplash

This schedule includes planned topics, exams, and semester breaks. For individual assignment deadlines, please refer to the Canvas site. The semester can be provisionally thought of as three major blocks:

  1. Review of the fundamental programming concepts from the previous course and translating those ideas from Python into Java. Weeks 1-4
  2. Introduce fundamentals of object-oriented design, inheritance, and efficient algorithms. Weeks 5-10
  3. Introduce event-driven programming, GUI design, and data structures. Weeks 11-15
Date Topic
Week 1
Tue Introduction
Fri Variables / Assignments I
Week 2
Tue Variables / Assignments II
Fri Branches and Selection
Week 3
Tue Strings / Loops
Fri Loops II
Week 4
Tue Arrays
Fri Methods
Week 5
Tue Midterm Exam I
Fri Methods II
Week 6
Tue Objects and Classes I
Fri Objects and Classes II
Week 7
Tue Inheritance and Polymorphism
Fri No Class: Fall Break
Week 8
Tue Abstract Classes and Interfaces
Fri Recursion I
Week 9
Tue Recursion II
Fri Midterm Exam II
Week 10
Tue Java FX I
Fri Java FX II
Week 11
Tue JavaFX III
Fri Generics
Week 12
Tue Developing Efficient Algorithms
Fri Searching and Sorting I
Week 13
Tue., Nov. 23 Searching and Sorting II
Fri., Nov. 26 No Class: Thanksgiving Break
Week 14
Tue., Nov. 30 Memory Management
Fri., Dec. 3 Lists, Queues, Stacks
Week 15
Tue., Dec. 7 Binary Search Trees
Fri., Dec. 10 Sets, Maps, Hashing
Week 16
Date TBD Final Exam