http://www.cs.utexas.edu/users/novak/gclwin.html
check out a few Lisp tutorials on Youtube and you good to go. Dont try to apply fuctionnal principles to procedural languages , if you are a beginner.
Using Lisp will force you to do and understand functionnal programming. And frankly , Lisp is a lot of fun and easy to start with. Dont be afraid by all these nasty (()) and weird (+ 4 5) operations , it will make sense quite fast.
something like
(defun add(a b)
(+ a b))
(add 4 5)
is actually easy to understand , isnt it ?