Schedule (Subject to Change)

General Information

Lecture Videos

We use Panopto to record lecture videos. Course videos (e.g., lectures videos) can be found by logging on to ELMS. In the entry for the course, you will find videos under Course→Panopto Recordings. We will create Panopto video folders within the Labs and Lectures folders you will find in Panopto.  If you look at a folder in Panopto you may see the message "This folder contains no videos.", but you could have folders with videos (e.g., Week01 folder under the Lectures folder). It takes about an hour for a video recorded in lecture to be available in Panopto.

Other

Semester Schedule

Week   Topics Slides (for videos see info at the top) Work  
Week #1
(Jan 24)
Course Intro, Classes Review, Abstraction/Encapsulation, Enumerated Types
Comparable, Memory Maps (lab)
CourseIntro.pdf (Mon) OOPAbstraction.pdf OOPAbstractionCode.zip JavaConstructsI.pdf JavaConstructsICode.zip
Eclipse installation
P1 Out (Thu)
Week #2
(Jan 31)
Inheritance, Recursive Algorithnms, Debugger, Memory Maps (lab) InheritanceI.pdf InheritanceICode.zip InheritanceII.pdf InheritanceIICode.zip RecursiveAlgorithms.pdf RecursiveAlgorithmsCode.zip P1 Due (Wed)
P2 Out (Wed)
Week #3
(Feb 7)
Recursion, Abstract Classes, Testing, Correctness, Exceptions AbstractClassesInheritance.pdf AbstractClassesInheritanceCode.zip Exceptions.pdf ExceptionsCode.zip TestingCorrectness.pdf TestingCorrectnessCode.zip Debugging Quiz (Wed)
P2 Due (Fri)
P3 Out (Fri)
Week #4
(Feb 14)
Comparator Interface (Lab), Cloning, Constructor/Destructor, Initialization Blocks, Levels of Copying, OO Design Intro, Nested Types, UML (lab) JavaConstructsII.pdf JavaConstructsIICode.zip UMLIntro.pdf OODesign.pdf NestedTypes.pdf NestedTypesCode.zip P3a Due (Tue)
P3 Due (Fri)
Week #5
(Feb 21)
Algorithmic Complexity I, Lambda Expressions, Event-Driven Programming, JavaFX AlgorithmicComplexityI.pdf AlgorithmicComplexityICode.zip LambdaExpressions.pdf LambdaExpressionsCode.zip GUIJavaFX.pdf
GUIJavaFX Code available at JavaFX
ReviewQuestionsCopyingNestedClassesDesign.pdf
Exam #1 (Wed)
P4 Out (Thu)
Week #6
(Feb 28)
Generic Programming, Collections, Linear Data Structures
Generics.pdf GenericsCode.zip Collections.pdf CollectionsCode.zip LinearDataStructures.pdf LinearDataStructuresCode.zip P4 Due (Sun)
Week #7
(Mar 7)
Generic Programming II, Restricted Abstractions, Hashing RestrictedAbstractions.pdf Hashing.pdf HashingCode.zip P5 Out (Mon)
Quiz (Mon)
Week #8
(Mar 14)
Hashing, File I/O JavaIO.pdf JavaIOCode.zip P5a Due (Mon), P5 Due (Thu), Mid-Term Grades Due (Fri)
Spring Break 2022 (Mar 20 → Mar 27)
Week #9
(Mar 28)
Hashing, Sets/Maps, Algorithmic Complexity II SetsMaps.pdf SetsMapsCode.zip AlgorithmicComplexityII.pdf Exam #2 (Wed)
P6 Out (Wed)
Week #10
(Apr 4)
Trees, Linked-lists (Dummy node), Heaps, Priority Queues, Threads Trees.pdf LectureBinaryTreeCode.zip SimplifiedListImplementation.pdf HeapsPriorityQueues.pdf ThreadsI.pdf ThreadsICode.zip P7 Out (Fri)
P6 Due (Sun)
Week #11
(Apr 11)
Threads, Synchronization I ThreadsII.pdf ThreadsIICode.zip SynchronizationI.pdf SynchronizationICode.zip Quiz (Wed)
P7a Due (Thu)
Week #12
(Apr 18)
Synchronization II, Graphs Intro/Graph Traversals SynchronizationII.pdf SynchronizationIICode.zip GraphsTraversal.pdf GraphImplementation.pdf P7 Due (Mon)
P8 Out (Mon)
Week #13
(Apr 25)
Dijkstra's Alg., Graph Implementation, Sorting DijkstrasAlgorithm.pdf DijkstrasExample.pdf PriorityQueueCode.zip Sorting.pdf P8a Due (Mon)
P8 Due (Wed)
P9 Out (Wed)
Week #14
(May 2)
Algorithm Strategies, More on Threads, Design Patterns, Effective Java
AlgorithmStrategies.pdf MoreOnThreads.pdf MoreOnThreadsCode.zip DesignPatterns.pdf EffectiveJava.pdf
Quiz (Mon)
P9a Due (Wed)
P9 Due (Fri)
Week #15
(May 9)
Software Development Overview, Final Exam Review SoftwareDevelopment.pdf
MiscReview.pdf
MiscReviewCode.zip
Semester Slides/Examples
For lecture videos see note at the top of this page
Last Day of Classes
(Tue, May 10)

Final Exam
(Fri, May 13,
4:00-6:00pm)
Web Accessibility