Tuesday, September 11, 2007

What should we aim for?

There has been renewed discussion of another round of curriculum review. If we are to review the PSD degree what should we change? What should the aims of the degree be?

I think we need to build good basic software development skills, but focus more on generic skills like the ability to learn independently, investigate/research topics etc.

Any ideas?

Monday, September 10, 2007

How important is being open?

I've been so busy since I got back from leave that I haven't had ten minutes to put any of my thoughts down in writing. Today I've finally got some time to spare so I thought I would write a quick blog entry.

Over the last two years we have been planning, developing, and delivering the new Bachelor of Science (Professional Software Development) or PSD for short. This is a new degree program aimed at teaching students about modern software development, agile processes, etc. This semester I have been teaching the new Database Programming subject, the last of their programming subjects, and so I've been looking back to see how the program has turned out.

I think in general that the new degree has been quite a bit of an improvement over previous degrees, in that very few of the students "hate" programming. However I think we can improve further in some areas. The one the has surprised me the most is how fixed in their ways some of the students are. Anything that offers a slight challenge is a major obstacle, and the tool is always seems to be to blame. Its not that they are not capable of using the tools, its their attitude that I am finding intriguing. The old saying "A poor worker blames his tools" keeps popping into my mind... Having said all of this, there are also students who are doing well, and are handling the challenges in an admirable fashion. I just want to improve the odds...

I think its really important to be open to new ideas, and to be prepared to spend time to understand how a tool works. As software developers these students are going to be constantly faced with configuration/installation/integration types of problems. They will need to be able to work out how other software works in order to be able to work effectively with it.

Anyone have any ideas for how we can encourage these students to be more open in their thinking?

I want them to be inquisitive about technology, prepared to explore the potential of various solutions.

I think what shocked me most (and got me wanting to write this) was one conversation I overheard... it went something like this:

"My notebook is running too slow. I think I will install Linux and Beryl like X did."
"Really! You dont want to do that. He will have spent ages tweaking it... do you really want to do that... etc. etc."
"Yeah your right, installing Linux is too difficult... etc. etc."

This really isn't what you want to hear. Playing around with another OS is a really good learning experience, and a good working knowledge of Linux is a real advantage. Not installing it because you may have to learn how to configure it is a really lame excuse. My suggestion, install Linux. Play with Beryl. What have you lost if you end up going back to Windows? Setup a dual boot, then you can play with Windows and Linux. Learning should be fun.