As I understand it, the question is: What is the probability that a class of 10 students with variable credit between 1 and 9 credits will accumulate at least 30 credits total.
As with any model, it ends up with some free parameters that can be estimated from previous experience. This model is a Markov chain model with 5 parameters.
h.probs <- c(fa.ft.3=p.fa * p.ft.fa * p.3.ft.fa,
fa.ft.6=p.fa * p.ft.fa * p.6.ft.fa,
fa.ft.9=p.fa * p.ft.fa * (1 - (p.3.ft.fa + p.6.ft.fa)),
fa.pt.3=p.fa * (1-p.ft.fa) * p.2.pt.fa,
fa.pt.5=p.fa * (1-p.ft.fa) * (1-p.2.pt.fa),
no.fa=1-p.fa)
h.probs
## fa.ft.3 fa.ft.6 fa.ft.9 fa.pt.3 fa.pt.5 no.fa
## 0.042 0.063 0.315 0.070 0.210 0.300
The simulation samples 10 students with each of the above probabilities and sums their credits. It does this repeatedly to determine the long-term proportion of times the total ends up being greater than or equal to 30 credits.
tot.cred <- replicate(10000, sum(sample(c(3, 6, 9, 2, 5, 1), size = 10, replace=TRUE, prob=h.probs)))
hist(tot.cred)
abline(v=30, col="red")
sum(tot.cred >= 30) / length(tot.cred)
## [1] 0.9684