How many unique ways are there to make change of VALUE with a set of COINS?
CoinChangeProblem.java uses recursion, CoinChangeProblemDP.java uses Dynamic Programming based off of CoinChangeProblem.
The javadocs on the top of both files have detailed Barney-style explanations. Read CoinChangeProblem's javadocs before you read CoinChangeProblemDP's javadocs