The maths of Hardy-Weinberg is pretty straightforward; the reason people have problems with it is conceptual - it's sometimes hard to figure out what problem it's trying to solve. Genotype frequencies and allele frequencies: what's that all about?
Korf and Irons have an excellent account in chapter 7 (page 127) of their book, which is aimed at medical students.
At this stage refresh your memory of the Hardy-Weinberg equation in my previous post for nomenclature. Insertion in square brackets below are mine. Korf and Irons say:
"Consider the recessive condition cystic fibrosis In this case the A allele is the wild one [i.e. the healthy variant] and a is the cystic fibrosis mutation.This tells us that the (symptomless) heterozygous carrier frequency in the Northern European white population is one in twenty five. Hardy-Weinberg is giving us some genuinely new - and perhaps surprising - information here. And, of course, the basic model described here can be used with other single gene diseases.
"The frequency of genotype aa - that is, individuals affected by cystic fibrosis - is 1 in 2,500 in Northern European whites. Thus q2 = 1/2,500 and q = 1/50.
"Because p + q = 1, p = 49/50 so 2pq = 2 x (49/50) x (1/50) = approx 1/25."