Cloud Computing and Storage

EEL 6761: Cloud Computing and Storage (Fall 2017)


  • We will use all kinds of cloud resources for the course projects, including Amazon Web Services, Google Cloud, Microsoft Azure, and GatorCloud.



Dr. Xiaolin (Andy) Li
Office: NEB 433
Office Hours: Thursday 2pm-3pm
Email: andyli-at-ece (suffix

Teaching Assistants:


Class Meeting Time and Place:

Time: T 3pm-3:50pm, 4:05pm-4:55pm; R 4:05pm-4:55pm
Place: 330 Larsen Hall

Course Objective and Description:

Using large-scale computing systems to solve data-intensive realworld problems has become indispensable for many scientific and engineering disciplines. This course provides a broad introduction to cloud computing, focusing on system architecture, programming models, algorithmic design, and big data applications. Selected scientific applications will be used as case studies.

Prerequisite: Familiar with algorithms, data structure, computer systems, and programming (such as Java, Python, C/C++, Go, Scala), or instructor approval.


  • Hadoop: The Definitive Guide (4th Edition), Tom White, O’Reilly Media, 2015.

Other References:

  • Many recent papers in leading conferences/journals
  • Hadoop YARN, Addison Wesley, 2014
  • Data-Intensive Text Processing with MapReduce, Jimmy Lin and Chris Dyer, 2010. (PDF version available online)
  • Cloud Computing for Data Intensive Applications, X. Li and J. Qiu (Eds.), Springer, 2014.
  • Amazon Web Services in Action, 2015.
  • Advanced Analytics with Spark: Patterns for Learning from Data at Scale, Sandy Ryza, Uri Laserson, Sean Owen, Josh Wills, O’Reilly Media, 2015.
  • The Fourth Paradigm: Data-Intensive Scientific Discovery, Tony Hey, Stewart Tansley, and Kristine Tolle, Microsoft Research, 2009. (PDF version available online)
  • The Go Programming Language, Alan A.A. Donovan and Brian W. Kernighan, Addison-Wesley, 2015.
  • Functional Programming in Scala, Paul Chiusano and Runar Bjarnason, Manning, 2014.
  • Python Essential Reference, David M. Beazley, Addison-Wesley, 2009.

Course Homepage:

Course Outline (tentative):

  • Introduction and Overview
  • Programming Paradigms
  • Introduction to Hadoop, YARN, Spark
  • Algorithm Design and Implementation in MapReduce
  • Runtime Management
  • Cloud Systems and Frameworks
  • Consistency and Coordination
  • NoSQL and NewSQL
  • Enhancements
  • Intelligent Platforms
    • Big Data Analytics, Machine Learning, Deep Learning
  • Case Study

Grading Policies:

  • Class participation and contribution (bonus): 5%
  • Homework assignments, reading summary, and paper presentation: 40%
    • Programming assignments (30%)
    • Reading Summaries (5%)
    • Paper Presentation (5%)
  • Course Project: 60%
    • Proposal (5%)
    • Midterm Presentation (10%)
    • Final Presentation (10%)
    • Code, Demo, Documentation, and Teamwork (Asana and GitHub) (15%)
    • Final Report (20%)

Note: Homework and programming assignments are due by 11:59pm of the due date (unless announced in class otherwise). Late homework (non-programming) will NOT be accepted. Late program penalty is 10% per day, according to the timestamp of your online submission. Only when verifiable extenuating circumstances can be demonstrated will extended assignment due dates be considered. Verifiable extenuating circumstances must be reasons beyond control of the students, such as illness or accidental injury. Poor performance in class is not an extenuating circumstance. Inform your instructor of the verifiable extenuating circumstances in advance or as soon as possible. In such situations, the date and nature of the extended due dates for the assignments will be decided by the instructor.

Attendance Policy:

Attendance is required. Students are responsible for any material covered in class. Lots of the materials covered in class will not be in the textbook. Announcements about homework, projects, programming assignments, etc. may be made in class or online or by emails. Students are encouraged to check the course Sakai system regularly.

Collaboration Policy:

Discussion of techniques and ideas covered in class is encouraged. However, every line of all assignments must be your own (or your team’s). In programming assignments, discussion of techniques in a natural language (such as English) is allowed, but a discussion in a computer or algorithmic language is not allowed. (Computer language discussions and questions are to be limited to the language and should not concern the assignment.) Stealing, giving or receiving any code, drawings, diagrams, texts or designs (from others or Internet) is not allowed. Project reports should be written in your own words; apparent copy (ONE sentence or more) is assumed as plagiarism, if not quoted. Students who do not comply with the above described collaboration policy will receive a grade of F in the course. Furthermore, the case will be reported to the University Officials.

Honesty Policy

All students admitted to the University of Florida have signed a statement of academic honesty committing themselves to be honest in all academic work and understanding that failure to comply with this commitment will result in disciplinary action. This statement is a reminder to uphold your obligation as a UF student and to be honest in all work submitted and exams taken in this course and all others.

Accommodation for Students with Disabilities

Students Requesting classroom accommodation must first register with the Dean of Students Office.  That office will provide the student with documentation that he/she must provide to the course instructor when requesting accommodation.

UF Counseling Services

Resources are available on-campus for students having personal problems or lacking clear career and academic goals.  The resources include:

* University Counseling Center, 301 Peabody Hall, 392-1575, Personal and Career Counseling.
* SHCC mental Health, Student Health Care Center, 392-1171, Personal and Counseling.
* Center for Sexual Assault/Abuse Recovery and Education (CARE), Student Health Care Center, 392-1161, sexual assault counseling.
* Career Resource Center, Reitz Union, 392-1601, career development assistance and counseling.

Software Use

All faculty, staff and student of the University are required and expected to obey the laws and legal agreements governing software use.  Failure to do so can lead to monetary damages and/or criminal penalties for the individual violator.  Because such violations are also against University policies and rules, disciplinary action will be taken as appropriate.  We, the members of the University of Florida community, pledge to uphold ourselves and our peers to the highest standards of honesty and integrity.