Java Professional Developer Course by Tushar Joshi, Nagpur

UPDATE: This was the course I use to conduct some years ago. Now due to my schedule I am not able to conduct this course in person, hence I have come up with three web sites where I will be uploading video tutorials for the learning. Do visit them and learn with me.

Those sites are:

The content below is kept for reference purposes

  • 6 Months (Minimum)
  • 5 days a week
  • 2 Hours daily training (Morning 7:00 AM to 9:00 AM)
  • 4 hours hands-on practice
  • Individual PC per student

This course will make you a Professional J2EE Developer. Software industry requires Java Developers who are conversant with other aspects like version control, logging, testing, profiling, coding standards, frameworks and many aspects like these. This course aims at teaching all these alied technologies with the Java language.


This will make you a professional Java Developer who can directly start developing softwares after joining a company and be productive from the first day. Companies want resources who can be billed from the first day. If you can provide all the skills required to be billable from the first day you will be preferred over others.


Infrastructure provided for this course

  • Independant PC will be provided for each student. Each PC will be dual boot PC with Linux as well as Windows operating systems. The exercises will include developing Java programs, configuring application servers, executing and debugging Java programs on both the operating systems.
  • Subversion server and access for each student to this server. Subversion will act as a source version control system for this course.
  • Local Mail address will be provided to each student to receive Subversion mails. Students will use the web access to the mail so it becomes available on both the platforms in the same way. Students will submit the assignments through this mail address and receive feedback in reply.

Topic covered in the course as as given below:

Core Java 1.5

  • Java basics: platform independance, file structure, java tools, jdk, jre, interpreter, compiler, CLASSPATH and PATH settings, editing and compiling java files. Downloading, installing Java.
  • Language Fundamentals: control structures, variables, arrays, programming basics, object oriented programming concepts, packages, classes, inner classes, threading, serialization, inheritance, polymorphism, interfaces, String and StringBuffer class, Wrapper classes, generics, annotations
  • Data Structures: collections and other data structures in Java, util package, date time aspects, arrays, lists, maps, dictionaries
  • AWT and Swing: abstract windowing toolkit and swing package, general UI design basics, events, event handling
  • IO packages: reading and writing files from disk, using files and folders, streams , stream filters, serialization, object versioning
  • Networking: sockets, lient server programs, network fundamentals, TCP/IP explained, socket programming with multithreaded applications
  • RMI: talking to other java processes. RMI standards, stubs and skeletons,

Design Patterns in Java

  • This course will teach you common design patterns in Java. This will provide decision power for what to use in a particular situation. Patterns like Singleton, Facade, Adopter, and many more will be learnt in a project scenerio.
  • Common programming patterns like thread pools, object hierarchy

JDBC - Java Database Connectivity

  • Database Fundamentals: table design, normlization, writing SQL queries
  • Types of Drivers: thin drivers, native drivers, odbc drivers, connectivity basics.
  • Data Management and Manipulations: classes used in the JDBC package, ResultSets, Connection, statements, prepared statements

Integrated Development Environments Included

IntelliJ IDEA

IntelliJ IDEA is an intelligent Java IDE intensely focused on developer productivity that provides a robust combination of enhanced development tools.

Netbeans

The NetBeans IDE is a free, open-source Integrated Development Environment for software developers. The IDE runs on many platforms including Windows, Linux, Solaris, and the MacOS. It is easy to install and use straight out of the box. The NetBeans IDE provides developers with all the tools they need to create professional cross-platform desktop, enterprise, web and mobile applications.

Eclipse

  • Java Projects: basic settings, JDK setting, source formatting, refactoring, TODO lists, problems, debugging java programs, break points, bookmarks
  • Features: source features like generating getter and setters, overriding methods, generating javadoc comments
  • Plugins: eclipse update sites, installing plugins form update site, installing plugins from local disc.

TDD - Test Driven Development

  • JUnit: unit testing frameworks, extreme programming concept, test fixtures, test suites, arranging source and test files.

J2EE - Advanced Enterprise Java

  • Internet Basics: working of internet through request response cycles, servers, ports, domain names, web servers, static pages, dynamic pages
  • JNDI - java naming and directory interface, using JNDI resources, publishing JNDI resources, naming basics.
  • Servlets: writing servlets, servlet methods, session management, url rewriting, navigation, redirection
  • JSP - Java Server Pages JSP basics, precompilation, tags, JSTL library
  • EJB - Enterprise Java Beans session beans, entity beans, container managed persistence, bean managed persistence, activation, passivation, remote interface, homr interface, bean class techniques

J2ME

  • J2ME basics, CLDC- connected limited device configuration, MIDP - mobile information device profile, emulators and development environments, midlets and display, event handling, high level user interface, low level user interface, display manager, RMS - record management system, scheduling tasks, generic connection frameworks

Web Servers

This course includes installing and configuring the following web servers.

  • Apache Tomcat
  • JBoss
  • Websphere
  • Weblogic

Apache Struts2 - MVC Framework

  • Struts Basics folder structure, deployment scenerios, web.xml, struts-config.xml , struts-tags basics
  • Writing Struts Classes action classes, action forms, dynaforms, writing JSP views

Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. The framework is designed to streamline the full development cycle, from building, to deploying, to maintaining applications over time. Apache Struts 2 was originally known as WebWork 2. After working independently for several years, the WebWork and Struts communities joined forces to create Struts2. This new version of Struts is simpler to use and closer to how Struts was always meant to be.

Hibernate - persistence framework

  • Hibernate is a object data persistence framework. Learn how to use hibernate in different scenerios

Hibernate is a powerful, high performance object/relational persistence and query service. Hibernate lets you develop persistent classes following object-oriented idiom - including association, inheritance, polymorphism, composition, and collections. Hibernate allows you to express queries in its own portable SQL extension (HQL), as well as in native SQL, or with an object-oriented Criteria and Example API.

Configuration and Building of Java Projects

  • Apache Ant: Apache Ant is a build tool used commonly in Java projects, using Ant through Eclipse, writing build.xml files, targets, tasks, writing custom tasks
  • Apache Maven: Apache Maven is a build tool more closely tied with project management and dependency management. Understanding POM, making folder hierarchies, public and local repositories, multiple projects
  • Cruise Control: Cruise Control is a continuous integration tool, configuring cruise control for automated builds.

Logging Frameworks

  • Java Logging
  • Apache Commons Logging
  • Log4J

Spring - IOC - Framework

  • Inversion of Control / Dependency Injection, Beans, BeanFactory and the ApplicationContext, Abstracting Access to Low-Level Resources, PropertyEditors, data binding, validation and the BeanWrapper, Spring AOP: Aspect Oriented Programming with Spring, AspectJ Integration, Transaction management, Source Level Metadata Support, DAO support, Data Access using JDBC, Data Access using O/R Mappers, Web MVC framework, Integrating view technologies, Integrating with other web frameworks, Remoting and web services using Spring, Accessing and implementing EJBs, JMS, JMX Support, JCA CCI, Sending Email with Spring mail abstraction layer, Scheduling jobs using Quartz or Timer

Optional Topics

AJAX

Apache Tapestry

Tacos for Apache Tapestry

XDoclet


Site Navigation