CIS Logo

University of Oregon
Computer & Information Science

CIS 422
Software Methodology I
Winter 1999


Spam Filter Exercise

This an exercise I wrote for a software architecture course in the Oregon Master of Software Engineerng program in Fall term of this year. It was give to students (most of whom were professional software developers) as a "wam-up" exercise to raise the issues we covered in the remainder of the class.

[Here] is the exercise as given to the OMSE students (PDF, 68k)

Why not try to work the exercise before looking at my solution? We've talked about information hiding and done several small in-class exercises, so you should be able to make some headway. Then you can compare to what I came up with.

My solution was worked out in a period of a few hours one evening. I had thought about it a bit beforehand, but as you'll see from my write-up, systematically thinking about potential changes and variations lead me to quite a different solution than my original thoughts. I have documented not just my final solution to the exercise, but the steps I went through to get there. [Here] it is (PDF, 83k).

Interestingly, the solutions arrived at by the students turned out fairly similar to my solution, which gives me some confidence that I was on the right track. I do not know of any commercial spam filter that works this way.


[CIS 422 Home] [Schedule] [Lecture Slides]

Last Update Fri, Feb 12, 1999 ; Bug reports and comments to Michal Young