For what you want a java tutorial is the simplest thing. Then all you have to do is translate the syntax, eg System.currentTimeMillis() becomes (System/currentTimeMillis). And of course the briefest tutorial of lisp/clojure, just enough to learn to define a function.<p>Why? First because both GUI and serial manipulations are java things, not clojure. You'd have to learn the java parts anyways.<p>Then why stick to clojure? Actually, there is a great benefit to this: the REPL. For what you want, it will be much easier to just type things in the console and see if they work. I'd go as far as to say you should learn clojure syntax first, and then go through the java tutorials tying the examples in clojure. For both GUI and serial comm it'll be easier to learn this way.<p>edit: Holloway's is an excellent book, but I think in this case it's a bit of an overkill. It's worth buying anyways, just to have it for reference.