During the last 6 semesters we developed a lot of nice projects, focusing also on team-work, something that isn't so easy to handle. I've seen a lot of good programmers unable to reach their goals once they have been assigned to a group. Team-work is something that should be in every bachelor curriculum.
We had courses about software principles and design, networking, math, artificial intelligence, theory of computation, computer architecture and so on. We covered different programming languages such as Scheme, C, Smalltalk, Java, Ruby etc.
Some of the projects
During the last year I developed 2 of the most complete and mature tools that I've ever coded: TrafficSim and X-Ray.
My kid, it's my bachelor project and thesis.
X-Ray is a software visualization plug-in for the Eclipse framework. Software is inherently intangible. Systems can be composed of a huge amount of software entities linked together by different kinds of dependencies. Software designers use visualization tools in order to raise the level of abstraction and reduce the amount of information to the one needed. Most of these tools are stand-alone programs, that force the user to switch between different windows and contexts. This context switch represents a problem, being time consuming and forcing the user to download, install and use, tools or systems external to his favorite code editor. Developing an open-source software visualization plug-in for the Eclipse framework represents a significant step towards bringing the visualization tools in the forward engineering process.
If you want more information or to give it a try, visit the dedicated section.
Sometimes the presence/absence of semaphores, their timing sensors and different urbanist approaches may improve our everyday (driving) life. Trying in practice different scenarios is time and money consuming or even impossible, the purpose of TrafficSim is a graphical and real-time simulation, a better way to model and try different approaches.
The user can create maps using basic blocks in a sim-city like environment, configuring various parameters of the workload. Different metrics that may adversely impact the drivers are plotted in realtime inside the map, this way is easy to spot points more prone to traffic jams and reorganize them.
During the 3rd and 4th semester we developed, in Java, DPF (Distributed Private Folder), a tool that, on top of a peer to peer network, allows users to upload their files, in encrypted form, and securely download them from remote locations. We also developed a dynamic website for HCCLab, with Ruby on Rails.
I'm still amazed by the fact that we did it. Only after some weeks of Scheme we were able to develop our first, good looking and attractive videogame. Me and a group of other 3 people created an interactive, virtual tamagotchi: Catter.
During the second semester we created a little calendar as web application with Seaside and Smalltalk, while as Java project we developed a learning tool, Ergolearn, that could be used by teachers and kids to teach and learn.