Thank you for all your responses. I read both the content list for the courses at UP and UCT. It seems to me that the UCT course does not have Software Development and Software Engineering. Why is this? Isn't it important? I have an interest in the software aspects of computers. Can I study this part-time separately after graduation?
So heres the thing.
UCT have recently done a huge revamp of its computer science courses, and it looks like my year (im in 3rd year) will be the last of the years to follow the previous course outline
So as I understand It
In first year you do Python, you learn the basics of programming (arrays, functions, recursion, event handling) . its the same as my first year but you arent doing it in Java anymore
In second year you use Java but you learn the more advanced aspects of programming (datastructures, common algorithms etc) you learn about concurrent programming (threads) and mobile application development (new module) . theres an optional module in C++ (not optional for games students) and a module in Information Systems which covers software engineering (and some .NET stuff, im not sure though). your other compulsory modules/courses will include EE basics, simple circuit analysis, ac circuits, digital systems, microprocessors, analogue electronics.
In third year you will have a choice of doing two or three of embedded systems, digital systems II, fuzzy logic/sets and evolving/adaptive systems. You will do this ontop of your computer science courses which at this point im not sure of what it entails but it may include a module on computer architecture.
Im not sure if the science faculty handbook has been updated to reflect these changes but yeah you get the jist of it. you will do Software Eng and Software Dev, your practicals are basically mini Software Dev excersises untill you get to 3rd year, they wont seem so "mini" any more.
good luck, and to answer your question, UCT all the way baby
