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."

5 of 35 comments (clear)

  1. Book recommendation by desNotes · · Score: 2, Interesting

    I recommend Fundamentals of OOP and Data Structures in Java published by Cambridge Unviersity Press. It is used in an introductory course on classial data structures used in Java. This book was (and may still be) used in OOP introductory classes utilizing Java instead of the historical use of Pascal.

    I found it to be a good learning tool. While I have met one of the authors, I am in no way affliated with him or the book. This is just my pesonal opinion.

    --
    "Saying that Linux is inferior to Windows because more people use Windows is like saying that all restaurants are inferi
  2. The way I learned by Parham · · Score: 2, Interesting

    Assuming that the students already have a somewhat firm knowledge of Java, then all they need to be taught is how to set up a Tomcat server and how a tomcat server works (paths and such). Then simply refer them to the HttpServlet class. I think learning how the server runs and how it handles files is a lot more difficult than writing the actual code.

  3. Suggestion by metamatic · · Score: 2, Interesting

    Personally, I thought Java for the Web with Servlets, JSP, and EJB by Budi Kurniawan, New Riders publishing, was really good.

    It goes through J2EE systematically, is clear, and has good examples.

    I wouldn't introduce frameworks of any kind until you've done the basics of J2EE. Otherwise, you're introducing people to a solution before they know what the problem is.

    Also, most frameworks seem to me to be not worth (a) the pain of learning them and (b) the added dependency risks. They do things which simply aren't that hard to do.

    Struts is my favorite example. Visit the web site and they throw a ton of complex crap at you, without ever answering the simple question "What compelling problems does this solve?"

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  4. Re:Two things: by An+Onerous+Coward · · Score: 2, Interesting

    You should be able to do the entire course in open source tools. Apache Tomcat for the web server, Eclipse for the dev environment, SubClipse to get everyone on the source control bandwagon. The only thing missing is Open Source Java.

    Having said that, I wonder what the target audience is for this class. EJB strikes me as massive overkill for all but a tiny handful of projects. 90% of the time (at least), I would guess that all the conceptual complexities it brings don't really provide any long-term benefits. Same goes for JSP: while it's interesting to have created a programming language that validates as XML, it feels clunky and I don't see the real benefit.

    I recently started with a new employer, primarily on the strength of a Rails project I did for them for my senior project. I'm still convinced that Rails is highly suited for the stuff they're doing right now, whereas the EJB tech they're using seems highly suited for deploying to the enormous server farms that they hope to need in the future.

    I'm not looking to start a flame war here. Everyone has some emotional investment in the technology they've already learned, me included. I'm just looking for feedback on the relative strengths and weaknesses of the two approaches to creating web sites and services.

    --

    You want the truthiness? You can't handle the truthiness!

  5. 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.