I wouldn't study Computer Science to change the world with coding.

Programming is a unique profession in that you don't require a qualification to get a job in the industry. Should you get one anyway?

I'm writing this assuming that you do want to be a programmer, and are trying to decide if going the higher education path is right for you. As with any major decision it really depends, but I am a programmer who got a Masters degree in Pharmacy (at university) so I might have some insight here.

In general, so long as you don't have to take life changing loans to attend (I'm looking at you, America) I do recommend going to College/Uni ... in principle. Aside from the facilities and qualifications  it gives you a buffer between living at home and the 'real world' that is nice. If you've never moved from your home town going somewhere new can be a life changing adventure and it can allow you to meet diverse and interesting people. The parties are pretty great too.

The question here is about studying computer science specifically. Software engineering as a profession is quite unique in that most jobs do not require a degree to be considered - just some kind of proof of skill (e.g. portfolio or passing a technical interview). You can get this from the excess of learning material available for free online, you can just Google it. Some employers even see the fact you're self taught as proof of a deeper interest and not just being in it for the money.

So what do I recommend? I recommend you do a degree in something unrelated to Computer Science and learn to code in your free time. There are so many exciting opportunities in software to change the world are to take you knowledge from another field and apply your programming to revolutionise it. Just knowing how to code without somewhere to apply it and something build meaningful doesn't have that much use - you need specialised knowledge from an industry to apply the skills too. Knowing machine learning alone is less exciting than using your machine learning skills with your biology background to find new drug targets using novel techniques. Knowing web development matters less without realising that there needs to be a portal for look up known protein folding shapes. I use these examples because they're related to my own degree. They are the specialised knowledge I have that I can apply my skills too. I still get contacted by my old employer about data visualisation jobs in the pharmaceutical industry, and part of that is because I have this strong scientific background.

Another advantage is that you are automatically niched, which makes you automatically valuable. There are companies out there looking for people who can code their platforms but also require the specific knowledge not to be completely lost. With the proof you've learned to code (with examples you have made) and proof of specific knowledge (your degree) you are exactly the person people in that niche are looking for.

If you're applying for a job your CV stands out in the pile of computer science degrees. If you look at my CV its memorable 'he taught himself to code while working on a Masters in Pharmacy then applied that in all kinds of areas' compared to the mountain of CS graduates.

Learn to code on your own, go deep into some other area, become a niche multidiscipline expert and change the world.

But before that, check out my Twitter @SimonHarrisCo