Java Power Tools Bootcamp in Sydney - 19-23 October
The Java Power Tools bootcamp is an intense 5-day hands-on workshop covering some of the best open source tools for Java development on the market. The course takes you on a in-depth guided tour of some of the best open source Java tools, showing how you can use them individually and together to write code better and faster, and have fun while your doing it!
The Java Power Tools Bootcamp is offered at a price of $3850, or $3565 before the end of July.
Java Power Tools Bootcamp in Canberra - 7-11 September
The Java Power Tools bootcamp is an intense 5-day hands-on workshop covering some of the best open source tools for Java development on the market. The course takes you on a in-depth guided tour of some of the best open source Java tools, showing how you can use them individually and together to write code better and faster, and have fun while your doing it!
The Java Power Tools Bootcamp is offered at a price of $3850 AUD, or $3565 AUD before the end of June.
Broaden your horizons! Learn how to optimize your builds with Maven 2, or just simplify your projects by using Maven's dependency management features, even from Ant.
Learn how to use Test-Driven Development and Behaviour-Driven Development practices to write better, more effective unit tests. Learn how to write fast, isolated unit tests using mock objects. And learn how to get the most out of unit testing tools like JUnit 4.5, EasyB, DBUnit, Selenium, and more. And learn how Groovy can kick your tests into high gear.
Learn how to encourage good development practices and coding standards with tools like Checkstyle, PMD, FindBugs and Sonar. Automate your documentation and generate UML class diagrams in your javadoc. See how you can use all these tools to hone your development team, and to make your code cleaner, more reliable and easier to maintain.
Learn how to get the most out of your version control system. Find out about best practices in release management, merging, branching and tagging, and get up close and intimate with Subversion 6.
And learn how to set up a Continuous Integration environment to ensure that your developers work together smoothly and efficiently. See how a CI tool like Hudson can boost your productivity, cut down on bugs, and make your end user happier!
Throughout the course, you will learn invaluable tips and tricks not only on the individual tools, but also on how they can work together to streamline your development process.
You can register online - but hurry - to ensure an optimal learning environment, places are strictly limited.
The Java Power Tools bootcamp is taught by John Ferguson Smart, author of Java Power Tools. In addition to being a prolific technical writer and recognized industry expert on open source Java technologies, John spends much of his time training and mentoring in Enterprise Java development, and helping governments and corporations to optimize their Java development practices and infrastructure.
Location and Logistics
The course is held in central Canbera, from the 7th to the 11th of September, 2009. The exact venue will be announced closer to the date.
All delegates are provided with a pre-configured lab PC. You may bring your own notebook PC if you wish, but it is not necessary.
The course runs from 9am to 5pm each day.
Price
The Java Power Tools Bootcamp is offered at a price of $3850 AUD. For registrations before the end of February, a special price of $3565 AUD is applicable. We also propose discounts for full-time government employees - please contact us for details. This includes individual computers (with Internet access), refreshments throughout each day, lunch, a detailed course workbook, a certificate of completion, plus all of the lab material used during the course.
Credit Card Payments
We are happy to accept payments by Visa, Mastercard, or American Express cards. Please select "Credit Card (Offline)" as the payment type, and we will provide you with a link enabling you to pay online using your credit card information.
Registration
Places are limited, so to avoid disappointment, Register Online Now! To register manually, or if you have any questions, please contact us.
The Java Power Tools Bootcamp is a comprehensive, innovative and hands-on workshop covering best-of-breed open source tools and techniques for Agile Development in Java. Learn how to optimize your development process, hone your programming skills and know-how, and ultimately produce better software. And have fun while you're doing it!
"Best development course I have been on in a very long time. Will seriously improve our development/build/test lifecycle."- Neil, Software Developer
"One of the best and most useful courses I have attended."- Jonathon, Developer
"Greatly enjoyed the course. Provided many useful insights on how to introduce improved ways of working and how to incorporate new technology with new and 'legacy' Java projects."- Derek, Technical Team Leader
The course is an intensive 5-day workshop, with a mixture of teaching and lab exercises. You will learn how to implement modern Agile best practices for Java development within your own organisation. Each day starts with a discussion of Agile development practices and covers what tools and techniques you can use to support these practices. The basic course program is outlined here:
Days 1 and 2 - Agile Development Principles and Practices and Maven 2
Agile Development principles and practices - how to improve your development process in the real world.
Introduction to Maven 2 - what is it, how can it help you, is it suitable for your project?
Creating a new project with Maven 2
The Maven development lifecycle - compiling, testing, building and deploying your application
Dependency management with Maven 2
Using Maven dependency management in Ant
Using Maven 2 in Eclipse
Using plugins to customize the build process
Setting up a local Maven Repository Manager with Nexus
Integrating Ant and Maven
Automating your deployment process with Maven
Deploying to a web application server
Using the assembly plugin
Automating the release process
Automated deployments with Cargo
Using Maven on legacy applications
What' new in Maven 3 - new features, migrating to Maven 3, the maven shell, polyglot Maven
Day 3 - Unit and Integration testing with JUnit 4, Selenium 2 and easyb
Advanced JUnit 4 - Using annotations, parameterized tests and JUnit Theories to simplify your tests
Writing clearer tests with the Hamcrest assertions
Using test coverage metrics to improve your testing process
Testing a web interface with Selenium 2/WebDriver and the Page Objects pattern
Testing your Java applications BDD-style with Groovy and easyb
Day 4 - Code quality and documentation
Agile best practices to improve code quality - pair programming, collective code reviews,...
Enforcing coding standards with Checkstyle
Enforcing best practices with PMD
Detecting potential defects with FindBugs
What is cyclometric complexity and how can it help you write better code?
Generating useful reports with a Maven site
Generate UML-based documentation with UMLGraph
Generate database schemas with SchemaSpy
Centralized code quality management with Sonar
Day 5 - SCM and Continuous Integration
Working in iterations and time-boxed releases
Modern SCM best practices
Organizing your repositories
Agile branching and merging strategies
Distributed and centralized SCM systems and strategies
Automating your build process with Continuous Integration
An introduction to Continuous Integration principles
Setting up a CI server with Hudson
Continuous Integration build strategies and best practices
Automated testing
Automated code quality audits
Automated reporting on project status and statistics
Automated deployment
Distributed builds
Course Objectives
Students will come away from this workshop with a solid understanding of how they can improve their development practices back in the real world, as well as an abundance of practical tips and tricks that they can use in their day-to-day work. Notably, after the course, students will:
Use Maven effectively to improve your development productivity and code quality, promote better software architecture, and improve team communication. And for experienced Maven users, there are plenty of advanced tips, tricks and insights, as well as the newest Maven 3 features.
Understand the issues around dependency management in Java development, and be able to implement declarative dependency management in a corporate environment.
Know how to write unit tests that kick butt, and understand how to use unit testing practices to write more reliable code faster. And learn all about the more advanced and less well-known JUnit 4 features.
Understand how to use Behaviour-Driven Development (BDD) to write better designed, more maintainable and more reliable code. Learn how to use BDD as a communication tool and write your own BDD DSL using easyb plugins.
Learn how to use Selenium 2/WebDriver to write powerful web application tests and testing DSLs.
Understand how to use code quality and test coverage metrics to improve your code, and understand what the various metrics can tell you, and also what they can't. And how to synchronize CI/build code quality metrics with your IDE.
Know how to set up a working Continuous Integration server, complete with automated builds, tests, code quality audits and reports, and automatic deployment to an integration server. If you are already familiar with Hudson, you will learn some great advanced Hudson features and Hudson tips and tricks.
*All prices are exclusive of any applicable GST or local taxes
General Information
Audience
This is a hands-on, practical course designed to teach specialised skills for real-world development situations. It is thus primarily aimed at a developer audience:
Java developers of all levels
Software architects
Technical project managers
Approach
The course is modular and flexible - depending on specific student needs and requests. Through our trainings, you benefit from the wide experience and architectural expertise of our team. We bring that experience to you in an highly interactive, intensely hands-on setting.
Assumptions
We assume participants have a reasonable understanding of Java development as well as a basic understanding of the Software Development Life Cycle.
Lab Work
The Java Power Tools Bootcamp is above all a practical, hands-on workshop. We believe that the best way to learn is by doing. So the course contains approximately 60% lab work. For scheduled public courses, we will provide a fully configured computer for your use during the labs.
Learning Resources
Each registrant will receive a copy of the student notes and lab solutions, a certificate of completion, and a CD containing all the tools covered in the course.
What students are saying about the course
"Best development course I have been on in a very long time. Will seriously improve our development/build/test lifecycle." - Neil, Software Developer
"One of the best and most useful courses I have attended. And they didn't even try to sell me anything!" - Jonathan, Developer
"Extremely beneficial for any Java developer - even the ones that know it all!" - Elsa, Technical Team Leader
"Greatly enjoyed the course. Provided many useful insights on how to introduce improved ways of working and how to incorporate new technology with new and 'legacy' Java projects." - Derek, Technical Team Leader
"A well organized course. A 'must' course for serious Java developers. It's not only about the tools to be used in day-to-day development, but also about best methodologies and practices." - Apparao, Software Developer
"Gives a very good overall view of the Java development environment. Not just how to write Java code but the 'business end' - how to build, test, deploy, manage and monitor." - Tom, Software Developer
"This was a great all round introduction to best practices for development process optimization. I found all of the content very helpful and easy to understand. Many of the techniques and technologies will improve our processes a great deal." - Linton, Developer
"John has given a very well-run course, with plenty of demonstrations on bleeding-edge Java tools, which spans over project management, development techniques, testing and the build process." - Wayne Ng, Software Developer
"This bootcamp gives a good breakdown of some tools to aid in Java development. I can definitely see their use coming in handy." - Wayne, Systems Programmer
"Probably the best training course I've been on...ranges from a good overview to a detailed coverage, depending on need or preference. Was an excellent course." - Peter, Analyst Programmer
This course can also be provided on-site, and tailored to your particular requirements. If you are open to commercial tools, we highly recommend the Atlassian products. For on-site courses, we have additional modules which also include tools Bamboo, FishEye/Crucible, and JIRA. If you would like our trainings delivered at your premises, or for any additional information please contact us.