Java Professional Developer Course by Tushar Joshi, Nagpur
- 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
- Registration Fees Rs. 1000 + Course fees Rs. 35,000 only (mail me for discount request)
- Next batch starts from 10th January 2008
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