CS 505 Design Patterns
	An in-depth study of designing and implementing complex systems using proven architectural patterns for structuring, creating, and manipulating object orientated systems.  Students will learn how to apply and implement a broad array of proven design patterns, when they should be used, and how to implement them in practice. 
 Credits
3
	
		Prerequisite
	
CS 501 or admission to Software Engineering MS program