Skip to main content


Extreme Blue  >  
   
Extreme Blue

All Extreme Blue™ interns are expected to have a solid understanding of either (C, C++ or Java™). Understanding the language means more than just knowing the language's syntax. It means you understand how the language works and the implications of how the language's constructs are used to solve problems.

The road map below can help you come up to speed in the technologies used in many Extreme Blue projects. This information is intended to show someone (who is just starting out with Java) how to get a strong foundation in current Java technologies they may need for an Extreme Blue project. If you already have a strong foundation in part of these materials, feel free to "jump" into the road map at the point it starts to cover materials that are new to you.

Reading the road map and doing the example exercises is a good start on becoming comfortable with these technologies. However, you need to try applying them yourself to solve a problem on your own. At the end of the road map, we've listed some projects that could be interesting problems to solve with these technologies. Feel free to do one of these projects yourself, or go out and "Start something Big" by solving a problem that you've found on your own.

Road map FAQ:

Does mastering the materials in the Road map guarantee that I'll be accepted to an Extreme Blue project?
No, but you will have a good foundation in the technologies that might be used by many Extreme Blue projects.

Are these the only technologies used by Extreme Blue projects?
There is no such thing as a typical Extreme Blue project; however. Many Extreme Blue projects use one or more of these technologies. We may add road maps for more languages or technologies in the future, but we have started with the most common subset.

How did you come up with the list of materials in the road map?
Where possible, we've referenced materials that do a good job of covering their subject and are available for free via the Web. In many cases, these are materials that former interns cited as being useful in building the skills they used in their Extreme Blue projects.

I'm a fast learner. Can't I just learn all this stuff as I go while working on an Extreme Blue project?
Each Extreme Blue project will have its own set of new technologies and background that you'll have to learn in 2 weeks or less. There's no way you can work through all the new material--that is unique to each project--without starting out with a strong foundation.

Do I have to complete the whole road map to have a shot at being accepted to an Extreme Blue project?
No. Some projects do not use all the technologies covered in the road map. For example, some projects may have some positions that only require you be a very strong Java™ programmer. However, the more skills you have, the more attractive you will be as a candidate for any given project.

Is the order of the road map important?
Yes. Each of these technologies builds on the other. You might be able to skip ahead some, without completing all of a section, but be prepared to have to come back to the skipped section if needed.

Road map for Java:

  • Thinking In Java , by Bruce Eckel, is a free book that helps give a beginner a solid understanding of Java.

    In Chapter 15, Bruce Eckel mentions how much easier it is to write and debug Java code in Eclipse, which has been donated by IBM to the open source community eclipse.org. After you feel comfortable with the javac and Java command line tools in the Java JDK, you might want to look into Eclipse and WebSphere® Application Developer.

  • Eclipse
    • Eclipse is an open extensible Integrated Development Environment (IDE) platform where a person can use multiple tool packages (called plug-ins) to help them build their software project. Eclipse comes with the JDT (Java Development Tools) plug-in that provides all the support you would need for writing and debugging Java™ 2 Standard Edition (J2SE) code.
    • You can download a free copy of Eclipse at: http://www.eclipse.org/downloads/index.php. Install directly from the downloaded archive by expanding the archive where you want to install it.
    • When you start Eclipse for the first time it will display a link to a tutorial section in the Welcome View. In the tutorial section, there will be link to a tutorial that will walk you through creating your first Java project with a "Hello World" Java program.
      • If you ever want to return to the Welcome view, go to Help->Welcome on the topmost tool bar.
    • To become proficient with eclipse, you will want to:
      • First read the "Basic Tutorial" section of the "Workbench User Guide". It can be reached by going to Help->Contents on the topmost tool bar, then clicking on Workbench User. Guide->Getting Started->Basic Tutorial
      • Then read the "Basic Tutorial" section of the "Java Development User Guide". It can be reached by going to Help->Contents on the topmost tool bar, then clicking on Java Development User Guide->Getting Started->Basic Tutorial.
    • You can get a quick overview of the general design of Eclipse in the Eclipse white paper.
    • There are also many other plug-ins available or under development for Eclipse, including CDT (c/c++ Development Tools) and VE (Visual Editor...includes a visual GUI builder for Swing/JFC).

    WebSphere® Application Developer
  • The J2EE™ 1.4 Tutorial is a large and fairly extensive introduction to J2EE and XML. The following notes apply to the "J2EE 1.4 Tutorial Update 2 (for Sun Java System Application Server Platform Edition 8 Update 1) June 22, 2004", they may not be applicable to other versions.
    • First review "About this Tutorial" to choose your paths through the tutorial. The tutorial prerequisites the JDBC and Security tutorials, but if you are not familiar with this material, you might want to delay pursuing these prerequisites until you need them. That way the information will be fresh when you need it.
    • The XML path involves reading Chapters 2 (Understanding XML) and 4-7 (JAXP). It does not attempt to address XML schema, so be sure to follow the reference to: http://www.w3.org/XML/Schema if you are unfamiliar with this technology.
    • The Web Services path (chapters 8-10) is not as strong as the materials we discuss later, so they can be skipped.
    • If you want to use WebSphere Application Developer with JSF, you should check out the Developing JSF Applications using WebSphere Studio V5.1.1 tutorial series on DeveloperWorks.

  • WebSphere Version 5.1 Application Developer 5.1.1 Web Services Handbook (SG24-6891-01) is a review of Web Services technologies with examples using WebSphere Application Developer. Web Services is still evolving rapidly, but you should at least make sure you have a firm grasp of SOAP, UDDI and WSDL, which are the foundations of Web Services
    • Chapters 1-6 give you an overview of Web Services foundations.
    • Chapters 7-9 contain some of the newer extensions to Web Services: WSIF, WSIL, WSFL and BPEL. BPEL surpasses WSFL.
    • Chapter 10 (optional) is an overview of the IBM Web Services Gateway.
    • Chapter 11 is a quick overview of Web Services Security
    • Chapter 12 (optional) offers a quick overview of the WebSphere product family
    • Chapters 13-16 provides some useful examples.
    • Chapter 17 (optional) is an overview of WebSphere Application Developer Integration Edition
    • Chapter 18 (optional) is an overview of the IBM Web services tool kits. The Emerging Technologies Toolkit (ETTK) is the vehicle that IBM uses to expose and support new Web Service concepts.
    • Chapter 19 offers a more involved example.
    • Chapter 20 (optional) takes you through Web Services under WebSphere Application Server 5.0.2 and 5.1

The following is a list of potential projects to help you solidify the skills you have covered through the road map. Feel free to do one of these projects yourself, or go out and "Start something Big" by solving a problem that you have found on your own.

  • Create an automated process to check your cell phone minutes and send you an email or text message when you are approaching your plan limits.
  • Create an automated process to do automated bidding on an auction site.
  • Create an automated process to monitor selling prices for items sold on an auction site.
  • Find a publicly available Web service on http://www.xmethods.com that interests you and find a way to integrate it into an automated process.

If you choose to work with sending transactions to a Web site or service that is owned by someone other than yourself, you will need to make sure that your activity does not violate the usage terms of the Web site or service. Many commercial sites and services have developer programs to allow programmers to work with test versions of their site or service in a way that will not impact the production version of the site or service.


More information
Recommended Best Practices for Programmers
rul_150
Extreme Blue