Course Description
Java is everywhere and is arguably the single most important technology out there. This course in Java programming is for serious developers. It aims to teach Java in a manner which will allow the student to write not only the correct Java but optimized, efficient and elegant code. This course starts uniquely with an introduction to the Java Virtual Machine and Java memory model which aims to lay foundation of the Java syntax to follow. It will allow you to understand the concepts behind the syntax.
Introduction to JAVA
- What is JAVA
- History and Features of JAVA
- JAVA Virtual Machine (JVM)
- JAVA Running Enviromentn (JRE)
- Creating First Simple Java Program
- JAVA Platform Independency
- Fundamentals of JAVA
- Data Types, Varialbles and Operators
Object Oriented Programming in JAVA
- Overview of Object Oriented Programming
- Objects and Classes
- Defining your own class
- Creating object of a class
- Static Vs Instance members
- Understanding Access Controls
- Constructors in JAVA
- Constructor Overloading
- Method Overloading
- Inheritance Basics
- Types of Inheritance
- Concept of Polymorphism
- Method Overriding
- Final Variables, Methods and Classes
- Abstract Methods and Classes
- Nested and Inner Classes
- Defining Interfaces
- Implementing Interfaces
- Abstract Classes Vs Interface
- Creating Packages
- Importing a Package
Arrays and String
- Creating Array
- Array with functions
- Multi Dimensional Array
- Creating String
- String Constructors
- String Operations
- Methods of String Class
- Modifying a String
- StringBuffer Class
Exception Handling
- Understanding Exception
- Exception Vs Errors
- Using Try and Catch Block
- Multiple Catch Blocks
- Using Finally Block
- Throw and Throws Statement
- Creating Custom Exceptions
GUI Programming and Event Handling
- AWT
- Swing
- Event Handling
- Adapter Classes
Project Work
Java Data Base Connectivity (JDBC)
- Understanding JDBC and JDBC Architecture
- JDBC Drivers and Its Typess
- Performing Database Operations
- ResultSet Metadata
- Prepared Statement
- Batch Updates
- Transactions
Multithreading
- Concept of Multithreading
- Creating a Thread
- Thread methods
- Synchronization
- Interthread Communication
- Deadlock
Input/output(IO)
- What is I/O
- Byte and Character Streams
- Scanner Class
- File I/O
- Byte Streams Classes for File I/O
- Character Streams Classes for File I/O
- Serialization
- File Class
- Stream Tockenizer
- String Tockenizer
Networking
- Networking Basics
- Sockets
- TCP/IP Client and Server Sockets
- URLConnection and DatagramSocket
- InetAddress
Reflection
- Understanding the need of Reflection
- Creating an instance of a class using newInstance()
- Get Super Classes of Class/Inteface
- Get Class Fields
- Get Class Methods
- Get Class Constructors
- Get Access Modifiers of a Class
Collection Framework
- Collection Classes & Interfaces
- Accessing a Collection via an Iterator
- Accessing a Collection via an Enumeration
- Working with Maps
- The Legacy Classes and Interfaces
Internationalization (i18n)
- Properties files
- Locale Class
- Creating an Application using i18n
Project Work