Categories
Random

C Programming language

Over the summer break I wanted to get a better grounding in the C programming language. I was looking for a decent text book (preferably free) which was suitable for someone new to C but with an understanding of other languages and programming in general. After perusing a few I settled on:

http://publications.gbdirect.co.uk/c_book/

Working through the book was moderately interesting. Getting bogged down in memory allocation and array stepping did not really seem worthwhile though. Considering the C++ does not require in depth knowledge of these concepts meant that spending time on them was for interest sake only with little chance of use in the future.  Below are some links to some of the simple exercises I did for reference:

http://70.40.214.44/sourcecode/CLearning/

Some definite reasons for doing more learning in the C language are:

C

Categories
Grid Computing Uni notes

FIT5164: Summary

FIT5164 Grid Computing was the most complex subject I have taken thus far. It was also the most interesting due to the broad range of applications that were discussed for this technology. The subject was particularly good because of the instant grid on VMware which enabled us to practically apply the complex theoretical concepts discussed in the lectures.

Dr Asad Khan presented the lectures with the assumption that students were reading up on concepts and understanding all of the tutorial work. This was necessary due to the complexity and number of topics covered. I found the challenging lecture structure as good motivation to learn as much as possible thus was very happy with it.

The first 7 weeks of the course comprised of the examinable material. This material included introductions to grid and their applications then drilling into the key concepts and components of grids. The final 3 weeks introduced some very interesting topics which were not examinable, including Wireless Sensor Networks and distributed pattern recognition. In particular, distributed pattern recognition appears to be a very interesting application for grid computing which I felt topped the course of perfectly. I would recommend this subject to anyone in the MIT/MAIT streams, however the prerequisites should include data communications and a UNIX based subject.

Categories
Internet Application Development Uni notes

FIT5032: Summary

FIT5032, Internet Application Development was on of my favorite subjects this semester. It was structured very well for a programming subject, enabling students to get introductions to topics in lectures, learn more details in their own time and then come into tutorials if they need further clarification. Janet Fraser was a great lecturer, keeping students engaged with entertaining lectures.

The assignments for the subjects were very good. Forcing students to apply the topics covered in lectures.

The only thing I would change about the course is the introductory lectures to XML. Establishing the uses for XML and why it is better than other technologies for those specific applications would have been ideal. The exam with 40% of the grade being based on XML is also a bit odd as it definitely did not account for 40% of the topics covered in the subject.

I would recommend this subject to anyone who has or is planning to do any type of web development. I came into the subject thinking that ASP.NET was an inferior Microsoft option to the LAMP stack. I came out of the subject with an understanding of why 55% of fortune 1000 companies use IIS webservers.

webservermarketshare
2007 stats, source: http://www.port80software.com/surveys/top1000webservers/
Categories
Case Study Uni notes

FIT4037: Summary

FIT4037 Case Study was on of the most difficult subjects I have done. Not because of the complexity of the material but because of the high volume of work which required all 4 group members to contribute to a project which needed skills that were not prerequisites for the subject. This provided great practical experience as most work places are comprised of a few experienced team members and a number of inexperienced members. The delegation of tasks and provision of time for team member training are items that derail many projects. In Case Study we experienced these issues and learnt ways to overcome them.

I think that the lectures could include more technical training for students to help them complete the required tasks. The existing content was informing and though provoking but there was definitely room for more technical teaching in the lectures.

This subject is compulsory for MAIT students and I recommend for any students taking this subject to be conservative in the skills listing exercise done in the first tutorial. It will determine the group that you are placed into. On that topic I believe that the subject can be improved by allowing student to choose their own group members. Understandably, this does not occur in the workplace but neither does the hiring of employees for a job that they have no experience or knowledge of. Students know each others abilities with more accuracy than the self assessment activity can yield and would enable for better groups to be formed.

Thanks to Sue Foster and Enjoo Lim for running the subject.

Categories
Data Communications Uni notes

FIT9020: Summary

FIT9020 Data Communications was a compulsory subject for students without comparable undergraduate credit. It did however turn out to be well worth the time. Some of the best parts about this subject were:

  • Tutorials
    • Learning how to use applications such as Wireshark, Kistmet, inSSIDer
    • Learning about the array of network tools included in both windows and *unix systems (netstat, tracert etc)
  • Lectures
    • Much more detailed understanding of how computer networks send and receive data
    • How network routing works

Of course the subject was not perfect, some of the points that I did not enjoy so much were:

  • Excessive time spent on physical communication
  • Heavy lectures which focused on technical details rather than discussion of concepts

I would definitely recommend this subject to anyone who wants a greater understanding of how networks and the internet work. You will get a very detailed practical knowledge base and learn how to use a number of invaluable tools for getting more information about the underlying network communications that make the internet work. Thanks to Andrew Paplinski for running a great subject with very interactive tutorials.

Links to tools:

Wireshark

inSSIDer

kismet

nmap

Categories
Internet Application Development

FIT5032: Week 10

Week 10 of Internet Application Development was unfortunately a missed class for me. The lecture moved from data stores to web services.

The obvious place to start is with a definition of web service (source week 10 lecture notes):

A web service is a component of programmable application logic that can be accessed using standard web protocols.

XML comes unto its own in the web services field and ASP.NET does not deviate from the industry gravitation to XML.

Keeping with the practical flavor of the unit,  we go straight into some examples:


<%@ WebService Language="c#"%>
using System.Web.Services;
public class Greetings
{
 [WebMethod] public string Hello(string strName)
 {
  return "Hello, " + strName + ". Welcome to my web service";
 }
}
source: Week 10 lecture notes

The client options of GET and POST were briefly explored, but SOAP (http://en.wikipedia.org/wiki/SOAP)

Categories
Case Study

FIT4037: Week 10

Case studies 10th week was a presentation from each group on the progress of their applications. Considering the career paths of most graduates from this course will not place a high value on presentation skills, I thought the standard was quite good. I am not 100% sure what the purpose of this assessment was but all the groups managed to ‘fake’ it pretty well.

Now all we have to do is submit the technical documentation on Thursday and then start preparing the final prototype. We have not received assessment criteria for either of these which is verging on irritating.

Categories
Data Communications

FIT9020: Week 9

Data Communications 9th week moved from Wireless networks back to the standard variety and now focused on Backbone networks.

The two major topics were:

  • Switched, Routed and Gateway Backbones
  • Virtual LANs

Routed backbones operate on the 3rd network layer, allowing for cross data link protocol communications. This is not possible for the faster but simpler switch backbones. Some Gateways work on the application layer and involve more processing than routed backbones. Gateways are most often used for networks connecting to mainframes.

Example of a VLAN architecture, source: Week 9 Lecture notes

Additionally, for our assignment we must analyze the differences between the IEEE 802.11 wireless protocols, information for this can be found here: http://en.wikipedia.org/wiki/IEEE_802.11

Categories
Grid Computing

FIT5164: Week 9

Grid computing hit its stride in week 9 😀 haha, had to happen sooner or later.
Distributed Pattern Recognition was put forth as a prime application for computing grids. Purposes could include data mining, medical research and an array of scientific and engineering pursuits. Asad Khan proposed the use of the Distributed Pattern Recognition Architecture in conjunction with distributed pattern recognition algorithms to enable recognition computation on scales far greater than current solutions permit.
In the modern world where data held by the human race is growing exponentially, the ability to draw valuable information from the mass of data is quite exciting.

Distributed hierarchical graph neuron architecture
Categories
Internet Application Development

FIT5032: Week 9

Internet Application Development’s 9th week expanded on the previous lectures introduction to dynamic ASP.NET pages and moved into DataControls, specifically the GridView.

Grid views have a number of column types:

  • BoundField – (default)
  • ButtonField – Enables Add and Delete buttons
  • CheckBox Field – good for booleans
  • CommandField – Predefined command buttons (Select, Edit, Delete)
  • HyperLinkField – self explanatory
  • ImageField – self explanatory
  • TemplateField – Custom data views

See how simple dynamic pages in ASP.NET are