For travel between two SWR stations like this (if you’re aged 16 or 17) it’s likely that a season ticket (which is only valid between those two stations), coupled with a 16-17 railcard (cost £30) will be the cheapest way to travel.
A TfL zonal season ticket will be way more expensive since they don’t come with zip card discounts (so you pay full adult fare) and they cover all stations in the zones across the city so are more pricey than a direct station to station ticket.
The 16-17 railcard gives a 50% discount on the train company standard fare pricing (which, from memory, makes it cheaper than the 16+ Oyster discount) and that applies to season tickets as well as any others for peak time trains as well as off-peak ones.
To make it cheaper still, I’d buy the season tickets for term time only unless you’re also going to travel that journey in the holiday weeks.
If you get the ticket on an SWR smartcard (free) then you can tap in and out just as you do with an Oyster card.
(If you can’t tell, I’ve been though all the maths of this for my 17 yr old daughter’s college runs and this worked out cheapest for her.)