(map ( function entire-list)) (foldr (function base-retval list)) function ( first-element value-so-far) ; the function's second parameter is the value so far
(map ( function entire-list)) (foldr (function base-retval list)) function ( first-element value-so-far) ; the function's second parameter is the value so far
If you know your tools and you understand the problem, you will more clearly see how those tools will help you solve the problem at hand. For example, if you were handed a tool you did not know how to use, you would end up either a) not using it, b) using it inefficiently or c) make mistakes from which you would have to learn from. You don't have to figure it out on your own. Others in the field have documented their experiences. The key is to learn from their experiences whether it be through reading, asking them questions, listening in a lecture, a workshop or on a video. Take a step back from the project and sharpen your saw for a while and then try and see if it can "cut it" if not sharpen your saw again.
Now you want to be able to sharpen your own saw. Until you learn how to sharpen your own saw by doing all that's in your power to learn how to sharpen your saw or how to assimulate knowledge or to learn. If you learn what works well for you, you'll be successful in the field of computer science.
Ask yourself, "What works in helping you learn?"
From my experience, I found the following approaches helpful:
This will help solidfy the concepts in your mind because it focuses on the approach you took to solve the problem instead of the solution.