Design patterns: an essential component of CS curricula. - Owen L. Astrachan; W. Garrett Mitchener; Geoffrey Berry; Landon P. Cox (SIGCSE, 1998)