Date |
Summary |
2017.11.25 |
Object class (equals, compare, clone);
|
2017.11.26 |
generics 1, generics 2, reflection (also read metaprogramming);
|
2017.12.2 (3h30m) |
annotations (see javadoc), multithreading, synchronization;
|
2017.12.3 (3h30m) |
multithreaded server (see Java Socket Programming Examples), Java 8 Lambda Expressions & Streams (see lambda expressions and functional programming, parallel functional programming; the official document for Java Aggregate Operations, reduce: identity, accumulator; collect: supplier, accumulator, combiner, Lambdas and Streams in Java 8 Libraries; also read Lambdas & Streams In JDK 8: Beyond The Basics, JDK 8: Stream Style, more examples in practice: Java 8 No More Loop);
|
2017.12.9 (3h30m) |
JUnit (also see unit testing), JVM, analysis of algorithms, array list, linked list, stack, queue;
|
2017.12.10 (3h30m) |
priority queue, heaps and heap sort, symbol tables, binary search tree;
|
2017.12.16 (3h30m) |
hash table (for the reason of ``one of a billion bug'', see integer overflow), Bitcoin, undirected graph;
|
2017.12.17 (3h30m) |
directed graph, minimum spanning tree;
|
2017.12.23 |
(Lecture cancellation.)
|
2017.12.24 |
event-driven programming: Java graphics and GUIs, Java event handling (see more events, listeners, callbacks, Java 2D games tutorial, snake game), design patterns 1, design patterns 2, MVC patterns (also see Principles of Design Patterns, Java 8 Stream API and RxJava Comparison, and android architecture);
|