JAVA Syllabus
JAVA Syllabus
hours
form block scope guidelines software syllabus remote
Test 2
- OOP: inheritance, composition, polymorphism, encapsulation, abstraction
- Abstract classes and methods, Interfaces, Inner Classes, Anonymous Classes - Java 8 SE
Java - Advanced - Enumerations - IntelliJ IDEA
35 remote - Use GIT
Features - Exceptions Community Edition
- Generic Types - Maven 3
- Collections
Test 3 - Annotations, Reflection
- IO, NIO
- Software
- Concurrent and Parallel Craftsmanship
programming: Thread,Manifesto
Runnable, Callable, Executors, - Exercises with
- Good Practices: SOLID, KISS, DRY, YAGNI, Demeter
Atomic, synchronized, immutability, Law, Clean Code
volatile usage of selected
Design Patterns & - (Optional) GRASPLambda Expressions design patterns with
14 remote - Functional programming: Optional,
Good Practices - Fluent Interface/Fluent API utilizing good
- Design Patterns: classification and types practices
- Gang of Four Patterns - Presenting example
- Examples of describes Patterns, f.e. Singleton, Factory Method, Builder, Visitor, implementations:
Decorator, Command, Strategy, Template Method Singleton (Lazy,
Eager, Double-
checked locking,
Enum) and Builder
- use GIT
no of
hours
form block scope guidelines software syllabus remote
Test 4
- Apps consisting of
- Exercises for Java - Advanced Features several classes (OOP)
Java - Advanced - Extending block: Java - Fundamentals: Coding - Writing Unit testing
21 remote
Features: Coding - Exercises in groups with using git, f.e. Gitflow - Debugging
- Using Logger
- Handling
- Relations configuration files
- Databases, Tables: Creating and Designing (properties, xml,
- MySQL 5.7.x+/8.x.y+
- Data types, indexes, limitations yaml)
21 remote Databases - SQL - MySQL Workbench
- SQL - Using external
5.x.y+/8.x.y+
- CRUD libraries: Guava,
- Complex queries with JOIN (INNER, OUTER, LEFT, RIGHT) Apache-Commons,
- having, group by, order by, limit
# JDBC Vavr
- Exercises for JDBC
- (Optional) triggers, procedures
- Architecture -(CRUD)
Use GIT - JDBC 4.2+
- Transactions ResultSet, executeQuery,
- Connection, Statement, PreparedStatement, - Exercises for - MySQL Connector 5.
21 remote JDBC & Hibernate
- ACID
executeUpdate creating entities, x.y+
relations - Hibernate 5.x.y+
# Hibernate - HQL exercises
Test 5 - Architecture - Use GIT
- Entity modeling
- Working
- Creating relations, in pairsand ownership
directions
- Creating simple CRUD - HQLapp using Hibernate
21 remote Practical Project - (Optional) strategies of inheritance, - CLI interface
composite keys, one entity in two tables
- (Optional) Interface in Java FX
- @Embeddable
- Unit testing have to be in place
- Use GIT
- Trainer should have some examples - Practical exercises
- Basics of HTTP, TCP/IP, DNS, URL, URI
with using
- Commands, Status Codes, Headers, Forwarding
mentioned tools
video Introduction to HTTP - Tools: curl, wget, ping, telnet, ssh, wireshark, postman, http live headers
- Use HTTP/1.1
- Request, Response
- (Optional) Mention
- REST, HATEOAS
HTTP/2
- HTML5
- Basics of HTML and CSS
- Creating simple - CSS3
HTML, CSS, - Basics of JavaScript
14 remote HTML pages with CSS - JavaScript 1.8.x+ /
JavaScript - (Optional) JQuery
and JavaScript ECMA 6+
- (Optional) Bootstrap
Test 6
- Basics of Angular
Frontend - Architecture
- Lifecycle - Creating simple
21 remote Technologies: Angular 7+
- Basics of Node.js and Angular CLI CRUD application
Angular
- Modules: @angular/core, @angular/forms, @angular/router
- TypeScript
- Application parts: modules, components, templates, directives, services, pipes
- Routing
no of
hours
form block scope guidelines software syllabus remote
Test 7
- Introduction to frameworks based on Spring: Framework vs Library - Spring 5+
- Basics of Spring - Do a lot of practical - IntelliJ IDEA
- Spring Core exercises with Ultimate Edition
42 remote Spring
- Spring MVC (JSP or Thymeleaf) students - (Optional) JHipster
- Spring Boot - Use GIT 5+
- Spring Data
Test 8 - Spring Security
- Introduction to WebServices
- Exercises covering
- Integration with Angular
- Parameterized tests above points
- JUnit 5
Software Testing - - Testing exceptions - Using Matchers
7 remote - mockito 2.x
Advanced Features - Mocking (Mockito) library
- AssertJ 3.8.x+
- (optionally) PowerMock - Use GIT
Test 9
- Agile Manifesto
- Scrum vs Kanban
video Agile & Scrum
- Agile vs Waterfall
- Extreme Programming
HR classes
- Creating Web Project, f.e: ToDo List, Twitter, Chat, Forum, Hospital
- Work in groups of 4
42 remote Final Project - Work in Scrum, do a Code Review
- Practical usage of skills and knowledge gathered during course
- Technology: Spring/SpringBoot
- (Optional) Use Thymeleaf
- (Optional) Use Angular
- Deploy project to Heroku
- At the end each group needs to demonstrate their project
327