Date |
Summary |
2017.4.15 |
pre-test (due 4/16 before class; email: d00922011@ntu.edu.tw), quick review on OOP (class, object, encapsulation, constructor, static, this, super, inheritance, interface), Object class;
|
2017.4.16 |
review on pre-test (see code/), analysis of algorithms, reflection (see more in Java Reflection Tutorial by Jakob Jenkov; also see off. ref.), Class class, generics (see covariance and contravariance rule; see Java generics and type erasure for array types and generics), annotation;
|
2017.4.22 |
assertion, JUnit, lambda expressions, array list, linked list, stack, queue;
|
2017.4.23 |
priority queue (+ heaps and heap sort);
|
2017.4.29 |
symbol tables, binary search tree;
|
2017.4.30 |
hash table, undirected graph;
|
2017.5.6 |
graph traversal (DFS, BFS), directed graph, greedy algorithms (see more examples: greedy algorithms ii), dynamic programming (see more examples: dynamic programming ii); feedback;
|
2017.5.7 |
multithreading, synchronization (mutex, critical section, atomic operations, synchronized methods/statements, producer-consumer problem, race condition, semaphore, deadlock, dining philosopher);
|
2017.5.13 |
multithreaded server (see Java Socket Programming Examples), database tutorial, JDBC tutorial (also see Java JDBC, A step by step guide to using JDBC with Eclipse, databases and tomcat, Creating a Simple Web Application Using a MySQL Database), access methods of databases (CREATION OF B-TREE, B-tree, m-way tree);
|
2017.5.14 |
design patterns (see design_pattern_tutorial.pdf, Design Patterns by OODESIGN, java-design-patterns-example-tutorial), dependency injection (see An Absolute Beginner's Tutorial on Dependency Inversion Principle, Inversion of Control and Dependency Injection); feedback sheet; FYR: song_lecture.zip;
|