Tuesday, August 17, 2010

Some lessons learned from students' projects

Spending some time in looking at the projects of the event processing course I have taught in the spring semester. I am going to teach again this course in the winter semester, starting in late October, the first course that will be based on the final version of the EPIA book.

First - it seems that understanding the model based on the seven building blocks - was quite easy for the students that none of them had any previous knowledge of event processing. It seems that the students could study the model in a relatively short time and represent an application using this model. Of course, getting to the next level of detail in contexts and patterns require some learning, but based on some internal courses we made, I believe that with three days course that includes hands-on lab, one can study the model.

However, the students task was not only to model an application but also to implement it, and they were given the freedom to chose how. Some of the students have used existing products and some of them implemented the application in Java. I guess that here is a micro-cosmos of life, and the world is partitioned among people who like to learn software products and use them, and people who prefer to do their own development.

I have asked the group of students who preferred to write their own why they chose to do it, and their answer was that they are very experienced Java programmers, and while it was quite a substantial project to write it in Java, they felt that the project is "in control" and they are not dependent on any third party (i.e. ability to learn and use a product, possible bug handling etc...) but stay on familiar ground; I guess that this type of consideration also reflects what happens in real life. There is indeed an overhead to study a product for a single project, but some teams thoughts it is cost-effective and succeeded to implement it using a product.

It seems that both type of teams thought that modeling the application first using the model has made their life much easier when they came to implementation since it imposed order. We'll try to have some more modeling efforts of event processing applications using this model to gain more experience (and evolve the model). There are already some ideas and activities around extending the model, but I'll leave it for other time.

No comments: