To solve this problem, we can use the concept of generating functions.
First, let's represent the possible scores for each problem as a polynomial. Since the student can score 0, 1, 2, or 3 points for each problem, the polynomial would be:
P(x) = 1 + x + x^2 + x^3
This polynomial represents the possible scores for a single problem.
Now, let's find the generating function G(x) for the total score of all six problems. We can do this by multiplying the polynomial P(x) six times, since there are six problems:
G(x) = P(x) * P(x) * P(x) * P(x) * P(x) * P(x)
= [1 + x + x^2 + x^3] * [1 + x + x^2 + x^3] * [1 + x + x^2 + x^3] * [1 + x + x^2 + x^3] * [1 + x + x^2 + x^3] * [1 + x + x^2 + x^3]
Next, we need to find the coefficient of the term x^15 in the expansion of G(x). This will give us the number of ways to score a total of 15 points.
Expanding G(x) is a lengthy process, but we can use algebraic software such as Mathematica or Wolfram Alpha to find the answer. Alternatively, we can use the method of partial fractions to simplify G(x) before expanding.
After expanding G(x), we can look at the term with the coefficient of x^15 and find its coefficient. This coefficient will give us the number of ways to score a total of 15 points for the six problems.