Sunday, May 3, 2009

ICS 499: The ICS 414 Experience

Introduction
The semester is coming to a close and Devcathlon is in beta-testing mode. Devcathlon is not the subject of this week's blog but what was learned while developing the system. The experience of putting together a medium size system like Devcathlon was both fruitful and frustrating.

Web Design
Prior to ICS 414 my web design skills were limited to modifying html script for a page. With Devcathlon I had to tackle html, css, and Wicket to design the Scoreboard. The process of developing the Scoreboard page was a lot of trial and error. My main source of information for coding the board was the internet w3 schools provided a lot of help with css scripting. For the future I plan on taking a graphic design or art class to improve my design skills. I think the Scoreboard is rather plain and could use a little more flair.

Wicket
The more I work with Wicket the more I find it to be a frustrating framework. I am having trouble wrapping my brain around the concepts in Wicket. Much of my annoyance is with the structure of Wicket, the nesting methods and too much going on in the constructor. However, Wicket does its job in making dynamic webpages. Wicket is not a widely accepted framework, yet. I think over time more developers will find Wicket to be more powerful than Javascript to make webpages dynamic.

Teamwork
While developing Devcathlon I learned something interesting about teamwork in the software engineering world. The lack of team cohesion can kill a project. Not communicating can kill a project. Not working daily will definitely kill a project. The team should feel fortunate Professor Johnson understands the perils of developing a project with 8 individuals. A real client would be intolerant of teamwork issues. The real trick for a project lead or manager is unifying the team. I admit, I was playing the "lone ranger" with the Scoreboard. I was frustrated with how the team was devolving and consumed with the board design. In the future, instead of shutting myself off from everyone else because no one else wants to play together figure out a way to get people to play nicely together.

Conclusion
ICS 414 is a tremendous learning experience and I will encourage all Computer Science students to take the plunge. Despite my frustrations with teamwork I can say my coding skills have improved plus I learned a little web design using html and css. I hope I can parlay the skills I learned in ICS 413 and 414 into a career. Oh, yeah I plan on going for my SCJP over the summer.