Algorithms/data structures are solid grounding for whatever you want to do; from that point, it pretty much depends what kind of programming you want to do. If you're planning on doing graphical applications, try to learn about GUI programming (if you're definitely sticking with Java, learn its swing/awt graphics API). If you want to make a web-based Java applet, learn the workings of HTTP and setting up Java to interact with a browser. Basically, from this point (after the algorithms and stuff) learn project-specific concepts, and perhaps a broader range of languages (once you know one, it's a lot easier to learn others - the concepts are pretty much the same).