I been asked to spec an ‘Advanced Java’ training course. The list (below) contains a couple of ideas of what should be on such a course but ‘Advanced Java’ means different things to different people. Over the many years you’ve spent with Java, you’ve specialised - partly out of what interests you, and partly out of the work that’s been available.
So the question is: What do you think an Advanced Java training course should contain?.
I’ll narrow it down it bit - it’s got to be stuff that’s mainstream or almost mainstream (however much I’d like to cover JavaSpaces). It’s not dogmatic - i.e. it’s not the ‘Enterprise Java and nothing else’ that was common a couple of years back. But it does have to be of interest / of a level for people coding Java for 3 years or more , and who want to push their skills to the next level. (I also suspect that I’m going to learn as much from them on this course).
Just as important, why do you think [insert topic here] should be included on the course? Leave a comment.
Current Menu of Topics (Full Course description here)
(this list is an early draft , so I’m prepared for some glaring omissions!)
- Aspect Orientated programming
- Spring Framework
- Ruby , JRuby and other scripting languages in the JVM
- Java and .Net (C# , VB.net) interoperability
- Struts 2 Web Toolkit
- Agile Programming , Junit and Fitnesse
- Java , Web and Ajax
- Business Rules and Rule Engines
- Workflow and Business Process Engineering Language (BPEL)
- Search in Java Applications - using Google and Apache Lucene
- Enterprise Service Bus
- Service Orientated Architecture.
- Eclipse Advanced features (also WSAD - IBM / JBoss IDE)
- JDeveloper Advanced Features
- JMS & Messaging
- Introduction to Architecture and design patterns
- JSF - Java Server Faces and Oracle ADF , Apache MyFaces
- Apache Tomcat and Jboss
- Google Web Toolkit
- Maintaining older systems
- Web Services
- What’s new in Java 5
- What’s new in EJB 3
- Key Java Open Source Projects
- Server side Java for Mobile Solutions
What am I missing? What should I delete? Let me know.