“Our whole next generation of business applications, something we call the Fusion suite of applications, is built entirely on Java. We think it’s going to be very attractive to our customers and to the community” -- Larry Ellison

Dive into the world of Object Oriented Programming (OOP), using Java as the programming language. Understand the language level semantics and syntax. Learn to write structured and modular java applications. Model, real life scenarios in java. As we move along, learn more advanced concepts in java like multithreading, file IO and more.

Prerequisite : Basic knowledge of programming


No batch is available

What you'll learn?


This section will introduce you to the world of Java, the simple structure of Java program and compiling and running a Java program.

  • Simple structure of Java program
  • Java compiler and the JVM
  • JRE
  • Compiling and Running a Java program

Basics of Java

Primary data types along with the basics of variables, operators, methods, control statements and arrays will be discussed.

  • Primary data types provided at the language level
  • Secondary or reference data types
  • Various operators
  • How to define methods?
  • Selection statements
  • Looping statements
  • One dimensional and two dimensional array provided at the language level

Classes and Objects

You will learn the fundamentals of Object Oriented Programming (OOP) approach in this section.

  • What is a class?
  • Members of a class
  • Creating object of a class
  • Scope of local and instance variables
  • The keyword 'static'. Scope of static variables

Object Life- cycle

Introduction to constructors and properties related to objects will be taught in this section.

  • What is a constructor?
  • Various types of constructor
  • Where do objects live?
  • The Garbage collector
  • Communication between constructors of the same class


Important principles related to the Object Oriented Approach such as Polymorphism, Reusability and Inheritance will be studied.

What is inheritance?

  • Types of inheritance supported in Java
  • Constructor chaining
  • The Object class
  • Various access specifiers supported in Java
  • Method overriding and how is it different from method overloading
  • Abstract classes and abstract methods
  • The keyword 'final'
  • Interfaces

Java API

An application programming interface (API) is a set of routines, protocols, and tools for building software. String class, wrapper classes and all the important classes from java.util and java.io packages will be covered in this section.

  • String class
  • Wrapper classes
  • Classes from the java.util package
  • Classes from the java.io package


Package can be a group of classes or interfaces. This section will cover the introduction to packages and importing or creating your own package.

  • What are packages?
  • Defining a package
  • Access protection in packages
  • Importing from packages
  • Create your own package and import from it

Exception Handling

Exception Handling refers to dealing with errors in the program code. Learn the techniques of exception handling in this section.

  • The Throwable and Exception class
  • try-catch blocks to handle exceptions
  • Nested try-catch blocks
  • The keyword 'throws' and 'throw'
  • The finally block
  • Compiler checked and Runtime exceptions


Multithreading as the name suggests, makes multiple threads run in parallel. Learn the need for multithreading, lifecycle of a thread and important methods from the Thread class from this section.

  • A single threaded flow of execution
  • Need for multithreading
  • Create a java thread using Runnable or Thread
  • Lifecycle of a thread and the thread scheduler
  • Methods from the Thread class
  • The keyword 'synchronized'
  • wait() and notify() methods


Learn how Java runs on a web browser in this section. The applet lifecycle, the graphics class and animation in an applet will be covered in this section.

  • Understanding the Applet class
  • Applet lifecycle
  • Running an applet
  • Understanding the Graphics class
  • Animation in an applet
  • Passing parameters to an applet