Last year a group of us at Swinburne proposed a new IT degree aimed at producing software developers. At the heart of this degree was a new programming stream aimed at teaching students the fundamentals of programming starting with procedural programming then moving to object oriented programming, but also including introductions to functional and stack based programming. We are now in the process of developing these subjects and are pondering (again) the choice of language and approach.
What are the choices? Well at the moment the real choices are between C and Delphi. We have decided to avoid Java, C#, or Visual Basic .NET as these languages provide a higher level of abstraction that will be better understood after having learnt procedural programming.
At the moment my preference is to go with Delphi. The language is far more readable than C, providing an environment that is a little further removed from low level concepts. If we go with Delphi the approach we will take is to introduce program comprehension first then move to basic development, data structures and memory management, and finally recursion and backtracking. Using Delphi we can still use call by reference (pass by reference) and call by value (pass by value), we have pointers, function pointers, and easy to use strings.
On the other hand C is the cheaper option. By using C we can eliminate one subject as this will be taught to the engineers as well. I believe that the approach to programming with C would need to be different to the above approach. The language is not as readable, and requires a better understanding of hardware and memory. Having said this the subject would be mostly taught to engineers who should be interested in this lower level of abstraction. I think therefore that the C approach could take a far more low level approach. You would probably start with a little hardware introduction followed by basic instructions and then move onto memory management. You could then go on to look at controlling hardware devices in C, possibly also looking at assembler. Basically keep the subject more on a hardware control level where C will work well.
I haven't had long to think on the C approach, so I'm not really sure about it still... Any comments will be appreciated.
Monday, January 16, 2006
A question of Language
Posted by Andrew Cain at 1:44 pm 0 comments
Friday, January 13, 2006
Where to blog?
With the tragic loss of my last blog, and a number of friends moving to new blog sites, I am starting to think about where I should blog...
What do I want?
1: Backups... I dont want to lose it all again!
2: Time... It would be good to know that I dont have to move again.
3: Price... I'm cheap :)
Are there any problems with this location? Well not really except for points 2 and 3. This site is run by Raj who is paying to have this hosted. Will it stay around? It will as long as we keep paying. So with this in mind I am asking you where do you blog? What is it like? Most importantly where should I blog?
Anyone?
Posted by Andrew Cain at 6:30 pm 1 comments
Wednesday, January 04, 2006
Java Schools
An interesting read on Joel's view of Java based schools.
Posted by Andrew Cain at 10:21 am 1 comments
Brains
I read an interesting article on Conference Presentations and our Brains... There was some interesting points that seem to fit well with the overall approach that I have been working with lately. The article was titled "Conference Presentation Mind Control" by Paul Fenwick and was presented at the OSDC in December (Melbourne).
One of the most interesting quotes from the presentation relates to people having trouble paying attention in technically interesting presentations - "Half our brain is bored, and suppressing it is hard work. Similar reasoning can be used to explain why many technical professionals are more effective if they listen to music while they work". Something that I immediately relate to.
Posted by Andrew Cain at 9:21 am 0 comments
Tuesday, January 03, 2006
SwinBrain
I have been working for a while on a new project called "SwinBrain". This is a wiki designed to provide subject content material for Swinburne student (well some of them anyway). The idea of the wiki is to allow Swinburne subjects to share knowledge, something that I have found frustrating in the past. In this way when you need to provide background material for students who may not have done something (like Database for example), you can reference to the appropriate section on the wiki. I hope that this will enhance the consistence of the message that we deliver.
The site is very much limited at the moment as there are only a few of us working on this. If you have any suggestions for material, or any comments on the idea let me know...
Posted by Andrew Cain at 4:11 pm 0 comments
New Year
Well the new year is upon us, and I am now back at work! This new year should see several new challenges as we start to introduce the new PSD degree at Swinburne.
The most tragic thing to happen to me last year was the loss of the blogs from Tyler, the byteclub server. My byteclub blog was my main blog for a long time and to lose this content really hurts! What also hurts is the loss of the other byte club blog that I have been actively reading. I will have to see what can be done to get something back up and running for the ByteClub, but I think I will keep this blog as my main blog for the moment anyway.
To anyone from ByteClub who lost their blog please post a comment and let me know where your new blog is if you have created one.
Posted by Andrew Cain at 9:36 am 0 comments