Topics Covered | Slides | Lecture Examples | Lab Examples | |
---|---|---|---|---|
Week 01 01/27 |
Course intro, Eclipse intro, review Java interfaces, polymorphism, encapsulation, autoboxing/unboxing, Java collections overview, basic generic notation (ArrayList), for-each loops, Collections class, enumerated types, Iterator interface, Iterable interface |
Lecture01.pdf Lecture02.pdf Lecture03.pdf |
Lec01Examples.zip Lec02Examples.zip Lec03Examples.zip |
|
Week 02 02/03 |
Privacy leaks, equals method, Comparable interface, Inheritance, super, constructors of subclasses, overriding, early vs. late binding, protected visibility, Object class, casting |
Lecture04.pdf Lecture05.pdf Lecture06.pdf |
Lec04Examples.zip Lec05Examples.zip |
Lab03Examples.zip |
Week 03 02/10 |
More about casting, abstract classes, instanceof, "final", Comparators, testing, programming errors, exception handling, checked vs. unchecked exceptions, throws, inner classes, nested classes, deep vs. shallow copy |
Lecture07.pdf Lecture08.pdf Lecture09.pdf |
Lec07Examples.zip Lec08Examples.zip Lec09Examples.zip |
Lab04Examples.zip Lab05Examples.zip |
Week 04 02/17 |
clone, Cloneable, initialization blocks, static initialization blocks, anonymous inner classes, Intro to event driven programming and GUIs, Intro to Asymptotic Complexity |
Lecture10.pdf Lecture11.pdf Lecture12.pdf |
Lec10Examples.zip Lec11Examples.zip Lec12Examples.zip |
Week 05 02/24 |
More Asymptotic complexity, big-O notation, best/average/expected/worst cases, analyzing code fragments, classes with parameterized types, ? extends, overview of linear data structures and data types |
Lecture13.pdf Lecture14.pdf Lecture15.pdf |
Lec15Examples.zip |
Lab09Examples.zip Lab10Examples.zip |
Week 06 03/02 |
Implementing linked lists, doubly-linked lists, stacks and queues, Java ArrayList, Java LinkedList; review for midterm |
Lecture16.pdf Lecture17.pdf Lecture18.pdf |
Lec16Examples.zip Lec17Examples.zip |
|
Week 07 03/09 |
Set (ADT), hash tables, hashing with buckets, Java hashCode method. (Class canceled on Friday due to Corona virus.) |
Lecture19.pdf Lecture20.pdf |
Lec20Examples.zip | Lab14Examples.zip |
Week 08 03/16 |
Spring Break | |||
Week 09 03/23 |
Extended Spring Break (due to Corona virus) | |||
Week 10 03/30 |
Java Set interface, HashSet, LinkedHashSet, TreeSet, Maps, HashMap, LinkedHashMap, TreeMap, Recursion (review and advanced example) |
03TechnicalitiesWithHashCodes.pdf 04SetsInJava.pdf 05SetExamples.pdf 06Maps.pdf 07MapExample.pdf 08RecursionReview.pdf 09RecursiveLinkedList.pdf |
Lec21OverflowExample.zip Lec21SetExamples.zip Lec22MapExample.zip Lec23RecursionReview.zip Lec23RecursiveLinkedList.zip |
Lab15Examples.zip |
Week 11 04/06 |
Trees, binary search trees, BST traversals, heaps, Priority queue |
10IntroToTrees.pdf 11BinaryTrees.pdf 12BinarySearchTrees.pdf 13BSTPerformanceAndExample.pdf 14Heaps.pdf 15HeapsAsArrays.pdf |
Lec24BinaryTreeExamples.zip Lec25BinarySearchTree.zip |
Lab16Examples.zip Lab17Examples.zip |
Week 12 04/13 |
Polymorphic Linked List example; graphs, graph implementations, depth-first search, depth-first search, Djikstra's algorithm |
16PolymorphicLinkedLists.pdf 17Graphs.pdf 18GraphImplementations.pdf 19GraphTraversals.pdf 20DjikstrasAlgorithm.pdf |
Lec27PolymorphicLinkedList.zip Lec28GraphImplementations.zip |
Lab18Examples.zip Lab19Examples.zip |
Week 13 04/20 |
Concurrent programming, threads, Runnable, Thread class, join, data races, monitor locks and synchronization, deadlock |
21IntroToThreads.pdf 22DataRaces.pdf 23LocksAndSynchronization.pdf 24SynchronizationWithCollections.pdf 25Deadlock.pdf |
Lec30ThreadIntro.zip Lec30DataRaces.zip Lec31LocksAndSynchronization.zip Lec31SynchronizingCollections.zip Lec32Deadlock.zip |
|
Week 14 04/27 |
More data race examples; wait() and notifyAll(); Java I/O streams |
26ConcurrentQueue.pdf 27WaitAndNotifyAll.pdf 28InputAndOutputStreams.pdf |
Lec33ConcurrentQueue.zip Lec33WaitAndNotifyAll.zip Lec34InputAndOutputStreams.zip |
|
Week15 05/04 |
Intro to Networking; threaded web server example, overview of algorithm strategies |
29IntroToNetworking.pdf 30NetworkingExamples.pdf 31AlgorithmStrategies.pdf |
Lec35WebScraper.zip Lec36NetworkExamples.zip Lec37AlgorithmStrategiesPart1.zip |
|
Week16 05/11 |
Review (Tuesday is the last day of classes) |
32AlgorithmStrategies2.pdf |