This course for any individual who need to be Java software engineer without any preparation, We will begin by disk all Java basics that you have to begin programming Android, Java web or Java Desktop applications. We will begin first by introduce the development condition then you will run your first Java application, and see how program stream works in Java. At that point we will discuss factors and Math operation and proirites. At that point we will take about rationale and settling on choice, then we will discuss circles. at that point we will discuss capacities and OOP idea that you have to utilize when you program applications with Java, then we will discuss multi-handling and how you could run multi-prepare in same time and how to keep away from Deadlock, then we will discuss Databases, then we will discuss accumulations and which sort gathering you need to use for better execution rely on upon your application. At that point we will discuss Java 8 new components, then we will discuss build desktop GUI application with JavaFx.