This is how I have been learning. That, and some good devs that help out if I am to really mess something up(luckily hasn't happened yet)
Write a lot of code to learn how to write good code. Make mistakes and solve problems.
This ^^... Think i must first try this and do & practice some coding examples and see if i like doing it, and get to grips with whole problem solving thinking and writing code for it.
Thanks for all the advice / replies / support guys, really appreciate it. From all the feedback it seems majority for "no regrets later " goes to go and a Bsc CS.
And that something like the ND from CPUT on it's own wont be sufficient enough, minimum Btech..and that just going to do C# and knowing one language won't really be sufficient enough.
I will have to go think long and hard about Bsc. CS since it is incredibly challenging(especially the maths) and expensive as well at UCT.
My maths aint bad, but not 75 - 80% either.