Work on solving problems using declarative languages and functional languages.
So, either Prolog, or Lisp.
Structure and Interpretation of Computer Programs is a good jumping off point for Lisp while also providing fundamental insights.
Prolog.. honestly, just google "basic" array problems and try and do them in prolog. It takes a mental shift, which is hard at first, and you feel silly not being able to count to 10. But learning how to think in this paradigm is useful - e.g. SQL is declarative.
So, either Prolog, or Lisp.
Structure and Interpretation of Computer Programs is a good jumping off point for Lisp while also providing fundamental insights.
Prolog.. honestly, just google "basic" array problems and try and do them in prolog. It takes a mental shift, which is hard at first, and you feel silly not being able to count to 10. But learning how to think in this paradigm is useful - e.g. SQL is declarative.