The spring constant is just a number assigned to an individual spring to indicate its relative 'stretchiness'. F = kx. So if the same force stretches twice the extension as another spring, it has a smaller spring constant (k) to indicate that it is stretched more (the extension is larger).
It makes the maths work so that you can predict how far a spring is stretched if you know the force applied and the constant. If you have a graph of different forces applied against extension, k is the slope (or the inverse of the slope depending on which way round the axes are). That's how you find k of an individual spring, generally (to ensure it hasn't passed the elastic limit).
Honestly, this is not a concept that needs to be understood at gcse, just applied by using the formula f=kx. I've never seen a question (hm maybe one at a level?) where you are required to compare spring constants.
To calculate the work done by extending a spring (which is the same as energy stored in a spring), work = f x d. Where f is the force applied and d is the distance this force causes the spring to extend. Oh wait! We also know that f = k x. So substitute this into the work equation gives you work = k x (squared). Hm so then that leaves is with the problem of the one half. And that actually relates back to the graph... work = force x extension is equal to the area under the 'curve', which makes a triangle shape on these graphs. The area of a triangle? 0.5 base x height. So that's where your 0.5 comes from. Work = 0.5 force x extension = 0.5 (kx) x = 0.5 k x(squared).
Again, this is NOT a proof you would normally see or need to 'understand' in any sense at gcse... you simply need to be able to apply the formula. I would generally only show this to a top top set, and expect maybe one or three 8/9 grade pupils to 'follow' it.
Gpe = mgh = weight height. Because don't forget work = force * distance and weight is a force!
I'm really sorry about the bold. I don't know how to undo it on the app and cvs typing it all out only for the same to happen. Hope that helps a little @Alsoplayspiccolo.