Being easily convinced is not a virtue.
Archive for November, 2009
The PSD from the other side
Nov 12th
So it’s been 4 years since I entered the PSD. I’ve got lots to talk about. I picked the Bachelor of Science (Professional Software Development) at the end of 2005 because it seemed like the most hardcore programming course I could find. On open day the convenors of the course explained that the PSD course had been created because graduates coming out of computer science degrees couldn’t actually DO anything. They didn’t know what versioning was, they couldn’t communciate, they couldn’t self-teach, and more. As far as I remember the PSD was supposed to address this.
And I think it was pretty successful.
I think it’s easiest to bullet-point the good things and the bad, so here goes:
The good things:
- Entry level. I had done relatively little programming before entering the PSD course. A fair bit of Visual Basic 6.0 actually, but I hadn’t done much past the point of forms. Students start out learning the basics of programming with Pascal in Algorithmic Problem Solving. This language was really nice to learn with. The subject also taught us how to read a language definition which further enabled us to teach ourselves other languages when we needed to. This came in very useful when we had to learn C# and Java on our own in preparation for Object Oriented Programming.
- The lecturers. Most of the subjects in the PSD, particularly the programming subjects, are taken by lecturers who have something to do with the course. They are a stakeholder if you will. They put in a huge amount of effort to maket the content accessible to the students no matter how complex it might be (within the bounds of the pre-requisites of course). These same lecturers also seem to be the ones with an uncanny nack for making lectures entertaining, too.
- Well structured. Students are given a good sense of direction from the moment they begin the course. The streams are well described and it took very little effort to figure out exactly how this course works. I know of students in other courses who aren’t really sure what their options are when it comes to majors and minors etc.
- Industry Based Learning. This was without a doubt the most benificial part of the course. Obviously this isn’t a PSD-specific feature but it’s pretty awesome. I was able to gain a year’s experience in a commercial environment writing enterprise applications in .NET and secure a job for the future. This was thanks to a pretty decent ‘careers in the curriculum’ subject which at first glance seemed a waste of time but lead to me writing a pretty good resume resulting in the aforementioned job.
- Andrew Cain. It’s one thing to know a lot about a subject. It’s another to actually care about the way you deliver that knowledge to a collection of students. I have really enjoyed Andrew’s new take on assessment of students using his Portfolio concept which entails a student to present their learnings at the end of the unit rather than sit an exam. This requires a significant level of pro-active learning on the student’s behalf, but Andrew’s view is that lecturers are mistaken in assuming students aren’t capable of this level of pro-active learning. I’ve only done two units in the portfolio method (actually I’m still not finished with the second), but I think the portfolio method is significantly more appropriate to the 21st century and I hope other lecturers take an interest in adopting it in their own subjects.
- Exposure to a wide variety of software development topics. The course subjects vary from way over on the management side to the code-monkey subjects like object-oriented programming and other programming-intensive electives that are available.
- Big-team project experience. In final year I worked on a team of ten in a competitive project to produce a complex piece of software for a real-world, multinational corporation. This provides loads of necessary experience for those who need to work on their communication skills. It also forces the student to use tools they might not have previously been familiar with, further preparing them for industry. The feeling of handing in a finished product that solves a problem for a big company is a really good feeling.
- Interested course convenors and lecturers. The key players behind the PSD are all very keen about the course and are often organising ways to bring members of the course together to talk about any issues with the course or just to catch up and get to know each other better. I don’t know of any other course which receives this kind of interest.
The bad things:
- Work load. Yeah, another student complaining about too much work. But seriously, there needs to be someone overlooking the amount of work students are given as a result of each of the concurrent subjects in the course. It gets to the point where even the course’s most studious scholar has no way to get HDs in all their subjects purely because of a time constraint. I could understand a student not getting all HDs because of a lack in motivation, or skill, or something naturally binding them from that outcome. But the restriction should never be purely chronological. That is an indication that there really is too much work. Re-writing limewire with our own protocol layer was indeed fun, but something which took so many ridiculous hours for an assignment which was only worth 10% is not my idea of smart.
- Maths. We do some maths and logic work in Computer & Logic Essentials which is definitely an awesome subject. But we need something which covers plain ol’ mathematics. The entry requirements for the PSD only specify two units of general maths. As a result, you end up with students which are undoubtedly competent programmers but which lack the mathematical capacity to turn mathematical problems into code. This became a problem in our final year project when our architect had to go back and teach himself quite a bit of mathematics in order to solve a problem. This was the course’s absolute most elite student. I doubt any of the other members would’ve been capable of this. So this begs the question, what happens when graduates get out into the real world and the first thing they need to do is solve a mathematical problem? You can’t just stare at your desk until the problem goes away.
- Honours. Oh boy, I really think the ball was dropped on this one. The way the honours year was portrayed at the beginning of the course was that it would basically be honours but without the ‘crapness’ usually associated with it (crapness being loads of research data and thesis papers etc). It was presented to us in a way that we believed we would be able to work on a big project (of which we got to come up with the idea of what that project is) and just go full steam at it all year. I’m told this actually could’ve happened, but they did not have enough student interest toward the end of the final year. But I think the decision was made prematurely. I don’t think interested students were given enough time to express interest and as a result, the idea of what the honours year was changed, and students were then even less likely to express interest. If they’d just gone full-steam at the original idea, I’m quite confident enough students would’ve participated.
- The course is new. This means I had to endure subjects like Professional Issues in Information Technology, an absolute SHAME of a subject, aswell as Business Information Systems. These subjects contain content that students who even have INTEREST in the PSD course are already going to know. This is not so much an issue for future students of the course, because our feedback generally leads to the replacement of these subjects. However, it’s possible some bad subjects still exist, as the course is still being evolved.
Overall, while there might be quite a few negative points there, the course is pretty awesome. One has to be proud of themselves for making it (though maybe I’m speaking too soon, not quite done yet!) through such a gauntlet of a course that is the PSD. One thing is for sure, with the kinds of developers I’m seeing come out of the PSD, the industry had better get ready because there’s some seriously talented developers graduating this year.
If there’s anything I should have mentioned in this blog and you think I should talk about it, let me know!