EEL6761 Syllabus (abbreviated)

EEL6761 Syllabus (abbreviated)

EEL6761 Cloud Computer Systems and Applications

Course Description A broad introduction to cloud and distributed computing, big data platforms and intelligent platforms. It covers system architecture, programming models, algorithmic design, and big data applications. Selected applications will be used as case studies.

Course Pre-Requisites / Co-Requisites EEL 5737 or EEL 5764. Instructor approval possible if student demonstrates familiarity with algorithms, data structure, computer systems, and programming (such as Java, Python, C/C++, Go, Scala).

 Course Objectives Large-scale computer and software systems are increasingly complex, diverse and distributed to computational clouds and other large infrastructures. The use of these systems requires understanding of the interfaces provided by cloud systems and their unique advantages, such as scalability, reliability and on-demand usage. Learning objectives include (1) how to understand the fundamental aspects of distributed computing, (2) how to examine cloud computing software stacks, and (3) how to identify, construct, combine and evaluate cloud platforms for data analytics, high-performance computing, information processing, data communication and intelligent systems.

Required Textbooks and Software Cloud Computing for Science and Engineering • Ian Foster and Dennis B. Gannon, The MIT Press • 2017 • ISBN-13: 978-0262037242 • ISBN-10: 9780262037242

Recommended Materials Distributed Systems • Maarten van Steen and Andrew S. Tanenbaum • Edition 3, Version 01 (February 2017) • ISBN-13: 978-1543057386, ISBN-10: 1543057381

 Course Schedule
Week 1: Introduction to distributed and cloud computing
Week 2: Computation and communication architectures. Homework 1 on self-configuration.
Week 3: Naming and coordination of distributed systems
Week 4: Consistency and replication. Homework 1 due. Homework 2 on coordination and synchronization.
Week 5: Fault-tolerant systems
Week 6: Data management on the cloud. Homework 2 due.
Week 7: Scalable cloud computation
Week 8: Midterm exam and assignment of project on distributed system evaluation
Week 9: Data analytics in the cloud
Week 10: Streaming data in the cloud
Week 11: Machine learning in the cloud
Week 12: Security and privacy in cloud computing
Week 13: Cloud management and microservices
Week 14: Advanced topics
Week 15: Advanced topics. Project reports and presentations due