I am learning Scheme, a dialect of Lisp. Functional programming is amazing and very different from imperative programming. Currently I am able to write some simple programs in Scheme, including stacks and queues implementations. I have a book called Structure and Interpretation of Computer Programs (MIT, Second Edition), but I think it is not the best choice for Scheme newbies, although it is not so difficult. Only two last chapters (Metalinguistic Abstraction and Computing with Register Machines) seem to be quite tricky. Anyway, I have also found a nice on-line tutorial, called Teach Yourself Scheme in Fixnum Days, and at last I recommend... the R5RS document, the most comprehensive material :).
I also got interested in C# programming language, after I installed Mono.