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, Jan 11 Introduction
Fri, Jan 14 Variables / Assignments I
Week 2
Tue, Jan 18 Variables / Assignments II
Fri, Jan 21 Branches and Selection
Week 3
Tue, Jan 25 Strings / Loops
Fri, Jan 28 Loops II
Week 4
Tue, Feb 01 Arrays
Fri, Feb 04 Methods
Week 5
Tue, Feb 08 Midterm Exam I
Fri, Feb 11 Methods II
Week 6
Tue, Feb 15 Objects and Classes I
Fri, Feb 18 Objects and Classes II
Week 7
Tue, Feb 22 Inheritance and Polymorphism
Fri, Feb 25 Exception Handling and Text I/O
Week 8
Tue, Mar 1 Abstract Classes and Interfaces
Fri, Mar 4 Recursion
Week 9
Tue, Mar 8 No class - Spring break
Fri, Mar 11 No class - Spring break
Week 10
Tue, Mar 15 Java FX I
Fri, Mar 18 Midterm Exam II
Week 11
Tue, Mar 22 Java FX II
Fri, Mar 25 Java FX III
Week 12
Tue, Mar 29 Generics
Fri, Apr 01 Developing Efficient Algorithms
Week 13
Tue, Apr 05 Developing Efficient Algorithms II
Fri, Apr 08 Searching and Sorting I
Week 14
Tue, Apr 12 Searching and Sorting II
Fri, Apr 15 Lists, Queues, Stacks
Week 15
Tue, Apr 19 Binary Search Trees
Fri, Apr 22 Sets, Maps, Hashing
Week 16
Tue, Apr 26 No Class: Spring study days
Week 17
Fri, Apr 29 Section 1 (09:45-11:00)
Final Exam: 08:10AM-10:40AM
Tue, May 3 Section 2 (11:20-12:35)
Final Exam: 11:20AM-01:50PM