Java is fast becoming the language of choice in CS 1, but we have yet to figure out how to take full advantage of it's special features. The conservatives teach the old course in Java syntax. The radicals restructure the course to include Graphical User Interfaces (GUIse and concurrency. I prefer a "conservatively radical" middle ground where I use modem GUI programs to teach the old course concepts. I write GUI/concurrent code and ask my students to complete the program by supplying a particular class or two. Thus, they work on interesting problems without having to understand the details of how my code works. And in the process, they get a practical introduction to the modem programming experience of writing a small piece of a much larger program, allowing me to emphasize abstraction early.