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
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! 🙂
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
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