Foundations of Programming

FIT9017: Week 1

A two hour lecture and two hour tut for what I expect to be my favorite subject this semester. Four hours straight from 6pm-10pm is a little tough after 4 hours of straight classes prior. The lecture was presented by Judy Sheard who was a change from the male dominated IT lecturing staff. I was a little disappointed in the opening lecture as it was very remedial, at what I would consider a high school difficulty. I must do this subject as I have had no previous ‘Official’ programming classes.  I would say however that most programmers learn 90% of what they know from self learning and if that doesn’t count as credit then nothing should. Furthermore, I am the one paying for my subjects, if I want to do something more challenging then I should at least have the opportunity to do so. Judy did make a good counter to this however mentioning that the beginning of the subject may seem simple but pay attention as thing become more difficult very quickly, so lets hope she’s right.

The lecture contained administrative start (4th and final time I have to hear it :D) moved onto brief history of computing (again), brief history of programming languages and then an introduction to Java and the Object Oriented Paradigm. It was good revision but honestly, anyone who is doing postgraduate IT studies and had not already learned these basics in their preparation studies is simply not preparing sufficiently.

Luckily I found the tutorial, taken by Michael Smith to allow more independent learning at our own pace. I appreciated Michael’s frankness and self learning teaching style, he seems to take the attitude of facilitating learning for those who want to rather than dictating to the class. Look forward to more tuts in this subject.

Started using BlueJ in the tutorial which at first I thought would be far inferior to netbeans which I currently use (see link on left). I immediately found the benefits of BlueJ when creating an abstract class and a depended class, the visual layout assists with the code writing rather than interrupting it and I am sure this tool will help me fully grasp the concepts and practical implementation of Object Oriented coding.

Pearl of the week:

When writing in Java, the this.attribute notation was always a source of confusion for me… why would anyone use it? I had never needed it. The reason is specifically for when parameter names are the same as attribute names, (something I learned not to do) but a logical explanation for something that seemed quite the opposite to me previously. Thanks Michael.