The Factory Simulation is a cross-class project done in CSCI 200 and CSCI 201.
We're given the specs of a factory, and told to make a simulation that runs through the process of making the given product.

I, like everyone else, did the project twice; once in 200 (in Fall 2010) and once in 201 (Spring 2011).
In 200, we focus on UI and the visual representation of the factory.
In 201, we focus on the back end coding - using Agents to control respective parts of the factory.

In both classes, I had written libraries for my team to use. These libraries gave us base classes, tools, and APIs for us to work with.
I wanted to make the factory projects modular and organized.
We implemented the MVC (Model-View-Controller) pattern, so that we could replace any sections if necessary.
The libraries that I wrote gave us classes to use events (Observer/Pub-Sub design pattern).
The libraries were grounded on making each piece as simple as it could be.
By making every piece simple, we can have complex functionality at the macro level, but still have maintainability at the micro level.

I really liked working on these projects because it was my first experience with working with other programmers on a large team.
It also allowed us to make the project as elegant as we liked - as opposed to doing some step by step lab.
Last, but not least, I really like the classes because I made a lot of friends in those projects.
Friends that I still hang out with. It was a great experience.