Date |
Summary |
2017.8.21 |
20170813.pdf, Object class (equals, compare, clone), generics 1, generics 2 (see covariance and contravariance rule and Java generics and type erasure for array types and generics);
|
2017.8.22 |
(review on generics: Two Lectures on Constructive Type Theory, CIS 500: Software Foundations with the book Types and Programming Languages by Benjamin C. Pierce; also see Programming Language Theory), reflection (see more in Java Reflection Tutorial by Jakob Jenkov; also see off. ref., Class class; also read metaprogramming), Java annotations (see java annotation design, annotations, javadoc), multithreading;
|
2017.8.23 |
synchronization, multithreaded server (see Java Socket Programming Examples);
|
2017.8.24 |
Java 8 Lambda Expressions & Streams (see lambda expressions and functional programming, Implementing lambda expressions in Java , 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, reduce: identity, accumulator; collect: supplier, accumulator, combiner, more examples in practice: Java 8 No More Loop), JUnit (also see unit testing), JVM; the keyword null (see 補救null的策略); filters in the stream (see examples in Java 8 Streams filter examples);
|
2017.8.28 |
analysis of algorithms, array list, linked list, stack, queue;
|
2017.8.29 |
priority queue (+ heaps and heap sort), symbol tables, binary search tree, hash table (for the reason of ``one of a billion bug'', see integer overflow);
|
2017.8.30 |
undirected graph, graph traversal (DFS, BFS), event-driven programming: Java graphics and GUIs, Java event handling, Java 2D games tutorial (see events, listeners, callbacks and JavaFX tutorial, also see snake game), class design, design patterns 1; Anderson's OOAD lectures (Design Patterns, Facade & Adapter, Expanding Our Horizons, Strategy, Bridge & Factory, Principles of Design Patterns), MVC patterns, Java 8 Stream API and RxJava Comparison and ReactFX, android architecture;
|
2017.8.31 |
final exam (sol);
|