-
Java fundamentals – Stack and Heap (quick review), Literals, assignments and variables, Scope, Garbage collection, Handling exceptions, Common exceptions and errors – 4 h
-
OOP principles – Encapsulation, Inheritance and Polymorphism, Overriding / Overloading – 4 h
-
String Processing, Data Formatting, Resource Bundles, Regular Expressions – java.util and java.math, StringTokenizer, Date/Calendar, Locale, Random, Optional, Observable, Observable interface, BigDecimal – 6 h
-
Generics and Collections – toString(), hashCode(), and equals(), Collections Overview, Collection interfaces, Sorted collections, Comparators, Using Collections, Generic Types – 6 h
-
Java I/O (Files, Streams) – I/O basics, AutoCloseable, Closeable and Flushable interfaces, I/O exceptions, Serialization, java.io. and nio – 8 h
-
Threads & Concurrency – Defining, Instantiating, and Starting Threads, Synchronizing Code, Thread Problems, Immutable classes – 8 h
-
Functional programming and lambda expressions – Fundamentals, Functional interfaces, Method references, Constructor references – 4 h
-
The Stream API – Stream basics, reduction operations, mapping, collecting, iterators – 4 h
-
Build tools (basics) – Ant vs Maven vs Gradle, practical examples – 4 h
-
WWW – WWW introduction (IP addresses, Ports, DNS, Proxy, Hosts file), Cookies, HTTP, Ajax – 4 h
-
Servlet container, Servlets, JSPs – Intro, web.xml, Servlets, Session management and Object scope, Filters, Listeners, JSPs & Expression Language (EL), Tags (JSTL) – 8 h
-
Serialization & deserialization (JAXB) – 4 h
-
Web Services (Soap, Rest, XML, JSON) – Popular Java libraries (Axis2, Jackson…) – 14 h
-
Introduction to Spring. DI, AOP and MVC – 14 h
-
Popular Patterns – Singleton, Adapter, Proxy, Builder, Factory, Command, Strategy, Observer, Decorator, SOLID principles: https://en.wikipedia.org/wiki/SOLID_(object-oriented_design) – 4 h
-
Relational databases – Fundamentals (ACID), relations, transactions, indexes, triggers, views, relational algebra and SQL queries – 8 h
-
Unit testing with JUnit. Object mocking. – 8 h
- TIJ4: Thinking in Java - 4th edition, Bruce Eckel - [https://archive.org/details/TIJ4CcR1]
- TIJ4: Thinking in Java - 4th edition - Code Examples, Bruce Eckel - [https://github.com/BruceEckel/TIJ4-code]
- IPJ: Въведение в програмирането с Java, С. Наков и колектив - [http://www.introprogramming.info/intro-java-book/]
- ODS: Open Data Structures (in Java), Pat Morin - [http://opendatastructures.org/ods-java.pdf]
- JD: Java Data, Particle - [http://www.theparticle.com/javadata2.html]
- OJT: Oracle Java tutorials - [https://docs.oracle.com/javase/tutorial/index.html]