• Post category:StudyBullet-5
  • Reading time:29 mins read


What you will learn

Automation Testing

Learn the Java basics, including syntax and primitive data types

Selenium Webdriver from Basics to Advanced Level

Object-oriented programming

Advanced software engineering techniques

Learn best practices from true programmers

Learn how to write scalable, readable and maintainable clean code

You will learn source code of the tutor. All homework is completed with the Trainer

Learn how to use integrated development environments to create Java programs (Eclipse and Idea)

Debugging tools

Eclipse IDE

Intellij Idea

SOLID principles

Git

Java Collections Framework

Implementations of the List interface

Map Interface and Implementations

Set Interface and Implementations

Best practices of using collections in Java

Performance comparision of different collections

Functional programming in Java

Lambda functions

Method references

Clean Architecture Design

GoF Patterns (Creational, Structural and Behavioral)

Test-driven development

BDD and ATTD

Integration Testing

JUnit 5

Mockito

Powermock

Reflection API

Optional class

How to work with date and time in Java

Modules in Java

Migration to a modular application

I18N & L10N (Internationalization and Localization with Java)

Selenium basics

Selenium in Java

Selenium Waits

Page Object concept

Web Component concept

Data Transfer Object concept

Gradle basics

Description

From this course you can learn how to become Software Development Engineer in Test and get all necessary practical skill.

There are a lot of other courses in this topic. So, why would you choose exactly this course?  Here just a few reasons:

– Coding examples

To learn programming it is not enough just watching videos and reading books. You also need to have a lot of practice. In this training course you will review multiple practical tasks and coding examples which will help you learn and understand Java better.

– Open source code

We hide nothing from our students! Including the source code for the hometask solutions and source code of examples which were shared during the lesson. Having the source code you can just copy and paste it to run it on your local computer to understand how things work better.

You are allowed to use all source code examples for learning purposes. This helps significantly to configure environment and make tests work, especially in case student didn’t work with any testing framework in the past.

– Q&A support 

The significant difference between online and offline learning process is instructor’s availability. If you are in the one room with tutor he always can help you to get understanding specific concept or to help fix your code on your computer.
In this course, we are supporting students with answers to any questions flagged in Q&A section. In case there will be recurring questions – separate video lessons will be created to show how to address issue.

So with this course you are not just getting video materials, code exercises, source code, access to free mobile application without limits (which is still pretty cool, huh? 🙂 ) , but you also get tutor support and answers to your questions along with this course.

– Relevant knowledge

After our team investigated other Java courses on Udemy we realized that most of them has nothing in common with real life. Information which is shared there is very old and significantly out of date. For example, instructor teaches framework which is not used already for 15 years. Or instructor do a stress on the programming design which is not used anymore at all!

Instructor of this course is consultant in the top-rated IT outsourcing company and helps to bring cutting-edge solutions in IT for all his clients. Feel free to check LinkedIn page of instructor and check skills endorsement. More than 19 thousand people acrooss all over the world (BTW most of them are from top 100 companies of the world) evaluated skills of Andrii Piatakha.

With this course you can be sure that you will spend your time learning the right things from the one of the best IT consultants in the world.

– Free mobile App without limits for our students

Knowing Java is one skill. Be able to pass interview in company – that is another skill 🙂 Nowadays a lot of companies use tests to select candidates on the first level of interview. We developed application to practice skills specifically for such purposes.

In this course we will provide you link to download our FREE mobile app for android. (soon it will be also available for iOS platforms)


Get Instant Notification of New Courses on our Telegram channel.


Instructor of this course come up with hundreds tests which are used to test knowledge of candidates. With this application you will be well-prepared for the interview.

Also, only for our students – there is no limit on attempts to pass certification. In the course we will tell you how to set up special bonus code which will remove restrictions for our students inside the app.

– High concentration of useful material in each lesson

Sometimes you can notice that watching of 5 minutes of our lesson is equivalent to watching of other 30 minutes lesson.

This is because time spent for preparation for the lesson (script for the lesson, lesson structure) and video editing (to cut boring pieces of the lesson, or time when program loads) sometimes 10 times as much (sometimes even 20) as final lesson duration after video editing.

Also each topic is separated from another. In case some concept will be explained in the next lesson and you don’t need to worry about understanding this in scope of this lesson – instructor will make announcement when specific topic will be covered.

Go and try it yourself! We will appreciate your feedback.

 

So don’t wait! Take a look at lessons’ preview if you still have doubts!

Buy this course today, and you will get all updates for FREE!

For those who successfully passed this training course, or for students who was recognized for asking amazing questions, there is a special offer from IT-Bulls company! The creator of this course is IT-Bulls company CEO and Founder. We always in search of talents to run our amazing startups together with you. Probably you always dreamed about running your own startup? In this course you will be able to find the team who will teach you how to do that and (in particular cases) will be glad to help with implementation!

Hope you enjoy this course! And remember, we appreciate all your feedbacks! Your feedbacks will help us to become even more better! Your feedbacks will help us to create to best Java course ever!

See you on the lessons! 🙂

English
language

Content

Introduction

Communication plan
Unlimited access to ‘Learn IT’ application for students
Tips to Improve Your Course Taking Experience
Why Java and why this course? What is JDK, JRE and JVM?

Java Basics

JDK Installation
First application: Hello World App
Homework Solution: .bat file creation
Integrated Development Environment, Eclipse Overview
Comments in Java source code

Primitive Data Types, Variables and Arrays

Primitive types and variablesa
Number Systems
Arrays

Eclipse: Tips and Tricks

Packages: creation and package presentation in eclipse
Plugins: how to install free plugins, eclipse marketplace, workspace styles
Code Refactoring in Eclipse

Operators and Operations with primitive types

Operators in Java
Operations with integers and floating-point numbers, BigDecimal type
Math class, NaN, Infinity
Type of the expression in Java
Compare primitive and reference types & Java Memory Model
Read user input from console
Simple console integer calculator
Calculate Area of Triangle
Calculate Circle Circumference
Homework review: Operators and Operations

Strings in Java

String: object creation and main methods overview
String comparison: How to compare Strings and what is String Pool
Escape Sequences in Java
String Formatting
Regular expressions in Java
Format floating-point number
Split Words
Homework review: String

Control Statements

‘if – else’ construction
Admin and Guest mode for application
Simple Number Calculator
Homework review: ‘if’ statement
‘switch’ construction
User Activity Selector
Homework review: ‘switch’ statement

Miscellaneous

Random numbers generation

Iteration Statements (Loops) in Java

‘while’ loop
‘do-while’ loop
‘for’ with condition loop
‘for each’ loop
Nested loops
Jump Statements – Break and Continue
Labels in Java
Print digits from new line
Pyramid in console
Print matrix to console
Homework review: Iteration Statements (Loops)

Methods in Java

Methods in Java: Overview
Parameter Passing Mechanism in Java
Recursive methods
Variable Length Arguments
Find max int in array
Draw empty rectangle
Calculate Amount of Words
Filter String array
Rotate Matrix
Extend Array
Greatest Common Divisor
Sum all digits in number
String Processor
Turn each first letter in a word to capital
Convert decimal to Roman numbers and vice versa
Homework review: Methods

Enumerations in Java

Enumerations in Java
Message type priority

Debugging Tools

How to debug Java programs

Object-oriented programming

Object-oriented programming: Basics
Classes & Objects
Different types of Classes, Abstract keyword and Abstract classes
Interfaces
Inheritance
Polymorphism and ‘final’ keyword
‘static’ keyword
Encapsulation
Object, JNI and Object class overview
SOLID principles overview & Single Responsibility Principle
Open / Closed Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle

===== EXAM: OOP & Object Oriented e-Commerce console applications =====

Exam and homework for OOP topic
Payments and Transacations processing

Excpetion Handling

Exception Handling in Java

Java Collections Framework

Java Collections Framework: Overview
Collection Interface
Interfaces List, Set and Queue: Overview
List implementations – ArrayList, Vector, CopyOnWriteArrayList & Stack
LinkedList VS ArrayList, Big O Notation & Homework
LinkedList VS ArrayList – Performance Comparison
MyList implementation
Comparator and Comparable
Write your Custom Product Comparator
Iterable, Iterator & ListIterator
Implement custom Iterator
Queue and Deque
Map Hierarchy
Hash Tables & HashMap
LinkedHashMap
LRU Cache
SortedMap, NavigableMap & TreeMap
Set Implementations (HashSet practice) & java.util.Colelctions class

Generics

Generics in Java

Functional Programming in Java

Functional Programming in Java: Overview
Functional Interface, Lambda Functions & Method References
Function & BiFunction: Theory & Practice
Consumer, BiConsumer, Predicate & BiPredicate
Sort words in array with anonymous function

Stream API

Stream API with Practical Exercises

Input and Output Streams in Java

Input and Output Streams in Java
Get values from Config Maps
Find files with the specific extension
Console Text Editor
Serialization and Cloning

Multithreading

Multithreading Overview
First Multithreading Program: Thread & Runnable
Thread Scheduler, Race Condition, Daemon Threads & Thread Groups
Synchronization Basics
Memory Management in Multithreading Programs
Deadlock & Livelock
Executor Services, Callable & Future
Executor Service Implementations & ThreadFactory
Fork/Join Framework
CompletableFuture
Lock API – Lock, ReadWriteLock, ReentrantLock, ReentrantReadWriteLock, StampedLo
Synchronizers – CyclicBarrier, CountDownLatch, Semaphore, Exchanger & Phaser
Homework: Multithreading

Date and Time in JDK

Time Standards (GMT, UTC), Date and Calendar from java.util
java.time Package (Instant, LocalDateTime, ZonedDateTime etc)

Java Reflection API & Annotations

Java Reflection API
Annotations

JDK API

StringBuilder & StringBuffer
java.util.Optional – Optional in Java

Modules in Java & Migration of Java Apps

Modules in Java: Modular Application Example
Migration of Java Apps: Example of migration to a modular application

Testing for Software Engineers

Testing for software engineers: Overview

Unit Testing & JUnit 5

Unit Testing & JUnit Overview
JUnit 5 examples VS JUnit 4 + Equivalence class partitioning
JUnit 5 API (Advanced) & Test Code Coverage
JUnit 5 API (Advanced p. 2) & Hamcrest Library

Integration testing & Mockito

Integration Testing in Java
Mockito: Part 1
Mockito: Part 2

PowerMockito

PowerMock

TDD, BDD & ATTD

Test-driven development: Theory
BDD & ATTD
TDD, BDD & ATTD – Practice

I18N & L10N

[Part 1] Localization and Internationalization
[Part 2] Localization and Internationalization

API Basics

API and Web Service
API Types Overview
REST API Overview
HTTP methods
HTTP Status Codes

Postman Test Environment Setup

Postman Introduction
Postman Installation
Trello Account Creation
Authorization Token Creation in Trello

HTTP Method GET – Postman

GET Method Overview
GET Method in Postman
GET Method in Postman – Hometask
JSON Schema Validation
JSON Schema Validation – Hometask
GET Method Validation in Postman
GET Metod Validation in Postman – Hometask

HTTP Method POST – Postman

POST Method Overview
POST Method in Postman
POST Method in Postman – Hometask
POST Method Validation in Postman
POST Method Validation in Postman – Hometask

HTTP Method PUT – Postman

PUT Method Overview
PUT Method in Postman
PUT Method in Postman – Hometask
PUT Method Validation in Postman
PUT Method Validation in Postman – Hometask

HTTP Method DELETE – Postman

DELETE method overview
DELETE Method in Postman
DELETE Method in Postman – Hometask
DELETE Method Validation in Postman
DELETE Method Validation in Postman – Hometask

Postman Tips

Variables in Postman

Automated Test in Postman

First Test in Postman

Test Automation Development Environment Setup

JDK Installation
Gradle Installation
IntelliJ IDEA Installation

Selenium simple application

Setup simple application
Setup simple application – Home Task

First Selenium test with JUnit

JUnit 4 Assertions
JUnit 4 Assertions – Home Task
First test in JUnit 5
First test in JUnit 5 – Home Task

Waits in Selenium – overview

Implicit waits – overview
Explicit waits – overview

Test Automation Patterns – overview

Page Object
Page Object – Home Task
Web Component
Web Component – Home Task
Data Transfer Object
Data Transfer Object – Home Task

Run tests via Command Line

Run tests via Command Line
Run tests via Command Line – Home Task

CSS and XPath Selectors

CSS selectors basics
XPath selectors basics

Object-oriented Architecture, Clean Code Design (Advanced)

Clean Code Architecture, Coupling & Cohesion
Tell, Don’t Ask Pricniple & Data Structures
Law of Demeter
Packaging Pricniples p.1: Cohesion Principles
Packaging Pricniples p.2: Coupling Principles and Others

GoF Design Patterns of Software Architecture in OOP

GoF Patterns: Overview
Creational Patterns
Structural Patterns, p.1
Structural Patterns, p.2
Behevioral Patterns, p.1
Behevioral Patterns, p.2
Behevioral Patterns, p.3

EXTRA: GIT

Version Control Systems & Git – Overview
How to Install Git and Basic Git Configuration
How to set WIndows notepad as a default text editor in git
Git repo init, First commit and main bracnh
Git ignoring & Git log
Git undoing things & Vi text editor
Git remote repositories
SSH Connection
Git Branching
Pull Requests & Merge Requests
Updating local repository (fetch, merge, pull) & Team development demo
Merge Conflicts
Git Rebasing & Force Update of remote repository
Git Interactive Rebase
Git reset
Git stash
Restoring lost snapshots in Git: git reflog
Git cherry-pick: moving commits between branches
Cloning remote repository: git clone
Git and Eclipse integration

Bonus section

Bonus lesson