Slashdot Mirror


Java for Web Developers Courseware?

brentlaminack asks: "I've been asked by a local college continuing education department to put together a series of professional development courses on web programming in Java. Clearly, there are lots of books out there on Java, but what would you recommend for a professional development course? The material should have good examples, meaningful exercises, (an underrated and very difficult part of putting together courses) and not be 2000 pages or $500 per copy. The material should also cover some Object Oriented architecture and design patterns. As to which web framework... I'm open to suggestions on that as well. After all the smoke clears, I'll try to summarize the responses on my journal."

3 of 35 comments (clear)

  1. Re:*sigh* by aprilsound · · Score: 4, Informative
    This idea of specialized training in programming had got to go. If they know how to program and read standards, that's all they need to know in order to grasp the entire concept.

    I wouldn't say that this is necessarily the way for a "continuing education" course to be taught. Fundamentals can take a year or two to teach. The submitter didn't give a whole lot of context, but I'm guessing this is perhaps a course at a community college (low cost, outsider putting materials together, etc.)

    Since it must be in Java appropriate topics might include:

    • EJB3/ORM
    • The MVC Pattern
    • Component based frameworks (e.g. JSF)
    • AOP, IoC (i.e. Spring or Seam or some such), although its not just a web programming topic, you can't avoid it.

    While we're on the subject of JSF, I should plug Facelets, which vastly simplifies the view side of things.

    Your biggest concern will be having enough time for the students to get their head around whatever framework you do choose. Using Java for a small application is like sandblasting a soup cracker (to quote the bard). You could really spend a whole course on one part of the MVC.

  2. What you don't know that you know by kanly · · Score: 4, Interesting

    Having just been through this with a friend of mine, who has decades of OO experience in desktop programming, beware of prerequisites that you don't realize they need:

    • Sockets, Ports, Packets. Until you get across the idea that all internet applications communicate through bytestreams, and standard protocols, not much will make sense. Most programmers either haven't used RPC at all, or have used something like COM to do it, not TCP/IP.
    • Multithreading. The idea is still alien to a lot of folks, even people well-versed in Java. They just know that they have to be careful when they call Swing, but not why. Writing web apps, you must have at least an inkling of what thread safety is, and when to synchronize. A brief comment about deadlocks wouldn't be amiss.
    • Permissions. Some people have mentioned security - that only covers the basic part. Teach your students to always consider "What is this {class|person|request|application} allowed to do?" There are lots of things that you can do in a desktop application, including Java, that won't fly under tomcat running in Security Mode. "I just asked for the user's home directory, how come my app won't run anymore?"

    If you get any one of these wrong, your web app is doomed to failure. These are tough concepts for some, but they aren't optional.