Friday, December 18, 2009

Taking ICS413

ICS 413 Software Engineering class was a quite of an experience. I got to brush up on my java skills, learned how to use numerous useful tools, and got to be involved in several group projects all in one semester. It may sound overwhelming at first, it might be at first, this class seemed to have gotten better and better as the semester went by.

The Robocode part of the class was rather challenging and quite interesting at the same time. Robocode was interesting because it gave us a good reason to perform well, that is to win the tournament. Even though I was disqualified for implementing a class I was not supposed to, it was still a good experience.

The group project aspect of this class is when the class starts to get really interesting. Dealing with teamates can be really fun or difficult, but you will certainly learn how to deal with tough situations that could arise in place like this. I would have to say, though, learning how to use the Wicket framework was not the most interesting part of the class. I remember that I can spend so many hours trying to figure out how to fix a bug, yet still I cannot find that one line that would magically solve the entire problem. Dealing with wicket was rather painful, but I would like to believe that it had given me a good life experience.

Finally, finishing up the version 2.1 of our wicket application was a satisfying experience. I certainly would not have been able to experience building such a complex application in any of the other classes offered in this department. Overall, I feel that I learned alot through this course. I would definitely like to take the next sequence of this course if I get the chance.

Eco-Depot 2.1

Here is my final release of EcoDepot project. This project I must say, was not easy. It required me to study the new framework wicket in about two months and be able to produce a quality application. It seemed like an impossible task at first, at least for me, though in the end it was a good experience.

The improvements I've made since our release of version 1.0 includes, the addition of google charts and traffic light functions. These two were the main functions of our wicket application and was quite possibly the most difficult to implement. I have learned throughout implementing the google chart and also for the most part of the project that it is extremely difficult to learn a completely new framework in a short period of time. Most of the tasts that were assigned to us takes a good amount of reaserch work before you even begin coding. Even though I thought some of the tasks were brutal, I believe in the end it taught me some good lessons.

I have also modified the google chart so that it can deal with hourly/daily/weekly datas. This did not take much of an effort, since most of the fucntions required to accomplish this task was already created previously. I also modified the chart so that it can also print Carbon Emitted values. This also was quite a easy task, for the same reason that I have mentioned above.

I have also made some modifications to the traffic light page. The first modifcation was to store cached information of the traffic light value inside the server so that when a next user access the same page, depending on the time access, he can reuse the value without having to recompute it. I also modified the code so that the traffic light is updated every 60 seconds automatically. This was done via the use of Ajax and this was a fairly straightforward task once you have understand how Ajax works.

Overall, I think that this version of EcoDepot came out to be pretty decent. EcoDepot 2.1 can be downloaded here.