I learned design patterns when I was in grad school . Later when I started work, I used some patterns, but some were never used, and their knowledge became rusty over the years. I thought it was time to refresh my knowledge of software design patterns, sometime last year. Back then I was enamoured with the concept of web based learning (and I still am). I was also contemplating to take my Java workshops over the Internet. So instead of just re-reading the GOF book, I thought of taking a web based course on design patterns. This way I would learn what I needed to, and also get a hands on feel of how elearning works. When I Googled elearning and design patterns, I stumbled upon Industrial Logic's online course "Refactoring to patterns" . Now the concept of refactoring to patterns is'nt just about learning design patterns. It involves understanding design patterns, but also involves identifying code smells (bad code), that should be refactored to use a design pattern. I