Hmm, I didn't mind the SD course that much, mainly because there were a lot of things there that interested me. But it still could, and should, be better. I liked the sorting etc. stuff and I reckon they should have involved more programming concepts in the course.
There were a lot of things that were ambiguous that took ages to figure out wtf VCAA wanted. I do like MJRomeo's idea of replacing U3O1 with something that focuses a bit more on the networks theory.
I don't really like the sound of only having one programming sac though, I think it's better to have more programming. Even though code-wise the exam will only test pseudocode and algorithms (which was another ambiguous concept in the study design, pretty much having to go through previous SD exams to piece together the standard that VCAA was using), for the other programming concepts: files, sorting, indexing, arrays etc. it really is useful having to actually code those kind of things and that being assessed as part of a larger programming project, where you get to see when and where you'd use something and how it all fits together. Given that the time is already pretty tight, I don't think you could practice all those things with just a single programming outcome.
I think I also lucked out by getting a fairly decent teacher too, so IT classes were always pretty fun and the programming/theory balance was maintained pretty well.