PatternGuru: an educational system for software patterns | IEEE Conference Publication | IEEE Xplore