Course Code & Number
		
		
			CMPE 318
		
	
					
		
			Course Title
		
		
			Software Design Patterns
		
	
					
					
		
			Credit Hours/ ECTS Credits
		
		
			(3+0+0) 3 TEDU Credits, 5 ECTS Credits
		
	
					
					
					
					
		
			Mode of Delivery:
		
		
			            Face-to-face
      
		
	
					
		
			Language of Instruction:
		
		
			            English
      
		
	
				
					
						Pre-requisite / Co-requisite::
					
					
						
              Pre-requisites: CMPE 211 OR CMPE 114
            
						
              Co-requisites: NONE
						
					 
				
					
		
			Catalog Description
		
		
			Definition of design pattern. Need for using design patterns. Classification of design patterns (creational, structural, behavioral). Reuse of patterns. Case studies and sample applications. 
		
	
					
		
			Course Objectives
		
		
			The objective of this course is to provide and understanding of the necessity of using design patterns in software development, their advantages and differences, and when to use one. The course will introduce real life examples of how design patterns are used and explain the benefits of using design patterns in real life scenarios.
		 
	
					
					
		
			Course Learning Outcomes
		
		
			Upon succesful completion of this course, a student will be able to
1. Identify different design patterns
2. Choose the correct pattern to apply on different scenarios
3. Use design patterns to implement software projects
4. Identify when and how to reuse code
5. Analyze the benefits of using a design pattern for implementing a software project
		 
	
					
		
			Learning Activities and Teaching Methods:
		
		
			                              Telling/Explaining
                                Discussion/Debate
                                Questioning
                                Reading
                                Problem Solving
                    
		
	
					
		
			Assessment Methods and Criteria:
		
		
			                              Test / Exam
                                Quiz
                    
		
	
					
		
			Assessment Methods and Criteria Others:
		
		
			
		
	
					
					
					
		
			Required Reading
		
		
			1. Design Patterns: Elements of Reusable Object-Oriented Software
2. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
		
	
					
		
			Grading
		
		
			Mid-terms - 30% 
Quizzes and Homeworks - 30% 
Final - 40%
		 
	
					
		
			Learning Activities and Teaching Methods Others:
		
		
			
		
	
					
						
	
					
		
			Course & Program Learning Outcome Matching: