|     |  | 
      
        
          | 
          Gediz University, Computer Engineering 
          Department  Spring 2015
 Wednesday: 
			13:00 - 
          15:45,  
			A-Z04
 |  
          |  |  
          | Instructor: Halûk 
          Gümüşkaya |  |  
          | Office: 
          D107 |  |  
          | Office Hours: 
			Mon: 15:00 - 17:00, 
			Tue:  16:00 - 17:00 |  |  
          | Phone: 
          0232-355 0000 - 2305 |  |  
          | e-mail: haluk.gumuskaya@gediz.edu.tr |  |  
          |  |  |  
          |  | Pages: |  
          |  |  |  
          |  |  |  
          |  |  |  
          |  |   |  
          |  |  |  
      
    Course Description   
	
	(3-0-3) 
		Enabling Technologies and 
		Distributed System Models for Cloud Computing, Clustering, Virtualization, 
		Data Centers, Cloud Computing Service Models, Cloud Service Providers, Service Oriented 
		Architecture, Cloud Programming Paradigms, MapReduce, Hadoop, Cloud Algorithms, 
		NoSQL, BigTable, HBase, Pig, Hive, Building a Search Engine.
 Objectives: This course provides an introduction to the 
		technologies behind cloud computing. A combination of lectures and 
		hands-on programming assignments and a term project expose the students 
		to the leading cloud computing paradigms and programming interfaces 
		(e.g., Amazon EC2, Hadoop). In addition, lectures provide an overview of 
		the underlying clustering technologies that make cloud computing 
		possible (e.g., cluster networking, software DSM, virtual machines). The 
		students will complete a simple assignment using Amazon EC2 individually 
		and a term project performed in groups of 2-3 students. In the term 
		project, the students will build a private Cloud on a PC cluster from 
		scratch and participate in the design, assembling, configuring, and 
		benchmarking of the private Cloud system. The software stack may include 
		Linux, Hadoop, Xen, OpenStack. Each project team is 
		required to prepare a project report, do a live demo and a presentation 
		at the end of the semester.
 Term Project: The 
		final term project is done individually for such a small class this 
		year. Sample term project topics include CPU/GPU clusters, virtual 
		clusters, virtual machine architecture, P2P networks, cloud platforms, 
		datacenter architecture, Internet of Things, cloud programming 
		experiments on AWS, innovative applications in the cloud, IoT and social 
		networks, etc. All project topics must be approved by Prof. Dr. 
		Gümüşkaya before starting the effort. 
      
    Prerequisites 
		 
			|  | 
			Basic understanding of Linux operating 
			system and some experiences in system level programming (Java, C, or 
			C++) are required. The students are expected to exercise the systems 
			configuration and administration under a Linux cluster.  |  |  | 
			COM 440 Distributed Systems 
			(recommended) |  |  | 
			COM 362 Computer Networks I 
			(recommended) |  
       Lecture Schedule 
		 
			|  | This is the tentative lecture schedule. 
		Please check this page at least once a week during the semester. |     
	
    Textbooks 
		
		    Textbook 
		   Recommended 
			|  | Mastering Cloud Computing: Foundations and Applications Programming, 
			R. Buyya, C. Vecchiola, S. T. Selvi, Morgan Kaufmann, 2013. 
			(Designed for undergraduate students learning to develop cloud 
			computing applications) |  |  | Cloud Computing: Theory and Practice, D. C. Marinescu, Morgan 
			Kaufmann, 2013. |  |  | Cloud Computing: Concepts, Technology and Architecture, T. Erl 
			et al., Prentice Hall, 2013. |  |  | 
			
			
			Cloud Computing: Principles and Paradigms, R. Buyya, J. Broberg, 
			and A. Goscinski (eds), Wiley, 2011. |  |  | 
			
			BIG CPU, BIG DATA: 
			Solving the World's Toughest Computational Problems with Parallel 
			Computing, A. Kaminsky, Creative Commons, 2013. |  |  | 
			Hadoop: 
			The Definitive Guide, Tom White, O'Reilly, 2012. |  |  | 
			
			
			
			The Fourth Paradigm: Data-Intensive Scientific Discovery, T. 
			Hey, Tansley and Tolle (Editors), Microsoft Research, 2009. (You can 
			download the book from its web site). |    Tools 
	and Platforms  
		   
			|  | 
			Public cloud platforms: Amazon Web 
			Services, Google 
			App Engine, Microsoft Azure,
			Heroku, ....   |  |  | 
			Virtualization software (Oracle 
			VM Box, VMware, KVM, Xen, ...)  |  |  | 
			Hadoop Ecosystem - Cloud 
			software tools to develop and run data-intensive applications that 
			run on local powerful notebooks and on a cloud service platform such 
			as Amazon Elastic 
			MapReduce, Google 
			Hadoop Platform,
			
			Microsoft Hadoop or
			
			IBM Hadoop )  |  |  | 
			Cloud computing platforms (OpenStack, 
			OpenNebula, ...) |  |  | 
			CloudSim - A 
			framework for modeling and simulation of cloud computing 
			infrastructures and services |  
     
    Grading 
	            
	30 % : Project15 % : 
	Homework
 10 % : Attendance, 
	Discussion, Contribution
 20 % : 
	Midterm Exam
 25 % : Final Exam
 
 |