I have just uploaded my thesis and source code for my honours research project to the site. You can find them in the Research section.
Earlier today I received my final grades for my research project and three papers from Semester Two. I scored an A+ grade in all three papers and the project. I am absolutely delighted with the marks and my overall performance this year. In total, for both semesters, I scored 7 A+ grades and 1 A grade. This is by far my best ever set of marks and as a result I have been accepted into a PhD programme at The University of New South Wales, Sydney, Australia beginning early next year.
In time I will blog about some of the challenges I have faced this year (it has not been all plain sailing), as well as this I am working on uploading some of my past assignments to the site (some with and without source code – and minor modifications). I never imagined I would progress so far in academia and now I feel like the journey has only just begun.
One of my papers this semester is focused on Google Android Mobile Operating System.
The brief for my final assignment is:
Your task is to write any application you like. The are no restrictions on what your application can do but it should show of the capabilities of the platform and be well written.
Marks will be awarded for interesting applications that make good use of the Android platform.
Make sure your application works on the emulator but I will also test it on a real device.
For this assignment I decided to create a Blog Reader that reads the RSS XML feeds off blogs to display them in a Android Application.
I have spent around three days coding this assignment. I will not release the code until after the assignment has been marked, however here are some screen shots of the work
My Application Sitting in the Android Application Menu on my phone
This one shows changes that have been made to the intersection controllers within the Traffic Simulator.
The give-way controller makes all the cars give way to all the other roads connected into the intersection with a minimum of 2.5 seconds between vehicles.
The traffic lights controller makes all the cars on the green road go at 2 second intervals and makes the others queue with a minimum wait time of 16 seconds.
The round-a-bout controller makes each car give way to the right and then go with a minimum of 3.9 seconds between each car on a road, but multiple cars from multiple roads can cross the intersection at the same time… hence the chaos on the video.
This morning I had my first lecture for the new semester.
159.734 Intelligent Systems.
The lecturer enters the room and announces that he is taking the paper because the lecturer who was meant to be taking it had moved to a different uni in Singapore and then announces how much he does not like the paper and how we know just about everything in it already.
Therefore he will be renaming the paper to 159.736 Studies in Operating Systems and we will be doing an in depth study of one operating system in particular: Google Android OS.
I just about fell off my chair when he said this. Not only do I have a brand new cellphone, one of only a handful in the world running Android, I am now doing a whole paper on it at uni. How cool is that.
At the moment there are going to be two assignments for the paper one on building a device driver under Android say something to run bluetooth. And the second assignment will be building some awesome app for the OS.
I now wonder if I can claim my new cellphone back as a course related cost. ROFLOL.
Okay, the traffic simulator project has been slow going over the past few weeks, just not been very focussed and playing with DLA and other assignments too much.
This morning/arvo I changed some of the code and layout of how cars were being generated. Now instead of a car know what road it is on it has been reversed, so each road has its own collection of cars to manage. With some changes to how the graphics are produced this now means that cars are now rendered at the same time as each road. A that allows perfect placement of cars onto roads rather than having to do a mathematically approximation. Clear as mud?
To construct a real time three dimensional simulation of congested traffic flows in Java and to test various ideas surrounding the build up of congestion.
Such tests may include but are not limited to:
Testing various algorithms for effectively navigating already congested traffic in the shortest amount of time
Testing algorithms to determine the best approach to reduce the build up of congestion
Investigating the impact of various events such as an accident, construction of a new road or lane on the amount of congestion in the model.
Expected Outcomes:
Project constructed in object orientated and model-view-controller code in Java
Use of Open GL or other three dimensional rendering tools
Interactive GUI allowing end user to construct traffic model
Ability to import satellite images in standard JPEG format to be used as ground textures.
Road network data structure to be based on Graph Theory
Cars implemented as artificial intelligence agents with real world physical control models, collision detection and awareness, environmental awareness.
Ability to perform controlled tests on simulation, including testing of algorithms for avoiding congestion once built up, algorithms for avoiding congestion build up, and impacts on varying road network design and events on traffic flows.
Ability to extract data and results from the model.
Planned Project Timeline:
February
Project planning
Initial prototyping and skeleton of code class layouts.
Skelton of thesis written in Latex.
March
Research into existing traffic simulation, causes of congestion, real life techniques for reducing congestion, and other relevant topics.
Coding of basic 3D GUI controls and viewers.
Thesis introduction written
April
Research and design of various tests to be performed on traffic simulator.
Coding of road network design controls.
Results of research written into thesis.
May
Review of possible tests and design of artificial intelligence controls to implement tests.
Coding of simulator controls and agents/cars on network.
Testing ideas written into thesis.
June
Correct realistic implementation of cars and interactions with road network within simulator.
GUI ideas written into thesis.
July
Implementation of initial tests on simulator.
Simulation controls written into thesis.
August
Review of results of simulator with expected outcomes and possible real world examples for validity, recoding of artificial intelligence controls if mistakes are discovered.
Summary of initial tests written into thesis.
September
Second set of tests on simulator, either the corrected versions of the initial tests or new tests developed as a result of initial tests.
Summary of second round of tests written into thesis.