Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
24 views

JAVA Syllabus

This document outlines a training program covering Java fundamentals, advanced Java features, software testing, Git, design patterns, and good coding practices. The program includes 35 hours on Java fundamentals, 14 hours on software testing, 21 hours on coding exercises applying the fundamentals, and 35 hours on advanced Java topics. Testing is integrated throughout, and hands-on projects utilize tools like IntelliJ IDEA, Maven, JUnit, and Git.

Uploaded by

David Andrei
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

JAVA Syllabus

This document outlines a training program covering Java fundamentals, advanced Java features, software testing, Git, design patterns, and good coding practices. The program includes 35 hours on Java fundamentals, 14 hours on software testing, 21 hours on coding exercises applying the fundamentals, and 35 hours on advanced Java topics. Testing is integrated throughout, and hands-on projects utilize tools like IntelliJ IDEA, Maven, JUnit, and Git.

Uploaded by

David Andrei
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

no of

hours
form block scope guidelines software syllabus remote

- Introduction to Java: Brief history, language assumptions, basic concepts


Java Developer - - Working environment: keyboard shortcuts f.e. sout, psvm
5 remote
introduction - Data types
- Operators
- Conditional statements
- Data types, variables,-constants,
Loops operators, casting
OOP basics
- String class Use maven and - Java 8 SE
- Conditional statements, visibility IntelliJ; First project - IntelliJ IDEA
35 remote Java - Fundamentals
- Loops can be plain Java Community Edition
- Arrays project - Maven 3
- OOP (class, object, state, behaviour)
Test 1 - Fields, methods, constructors, packages, imports
- varargs
- Date, Time
- Basic CLI commands
- Regular expressions
- GIT Commands: init, add, commit, branch, merge - practical usage of
video Git - Static fields, methods and classes - GIT 2+
- Remote repositories: clone, push, pull GIT and CLI
- Tools to choose from: CLI and/or IntelliJ IDEA

- Simple apps helping


understanding and
Java - Fundamentals: - Exercises based on theory from Java - Fundamentals
21 remote developing skills for - GIT 2+
Coding - Exercises for GIT
Java - Fundamentals
- Use GIT

- Introduction to software testing


- Exercises for writing
- Good practices (FIRST principles etc.)
unit tests - JUnit 5
Software Testing - - JUnit: structure, lifecycle, assertions, custom assertions
7 remote - Practical usage of - AssertJ 3.8.x+
Fundamentals - Matchers library (AssertJ)
TDD
- Introduction to TDD
- Use GIT

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

You might also like