Introduction: Software Processes, Software Design Basics, Software Architecture, Software Design Principles, Software Patterns, Design Patterns, Design Patterns, Creational Design Patterns, Introduction to Architectural Patterns, Structural Design Patterns, Behavioral Patterns, Idioms, Anti-Patterns, Model Driven Architecture, Service Oriented Architecture (SOA)