WEST VIRGINIA UNIVERSITY
College of Engineering and Mineral Resources
Lane Department of Computer Science and Electrical Engineering
SENG 650 Cloud Computing and the Internet of Things
3 credit hours, Summer of even years
Class time: Once a week 6:00 pm 8:20 pm Location: WVU eCampus, https://ecampus.wvu.edu/
Instructor: Prof. Hany Ammar
Office: 246 Advanced Engineering Research Building
Office phone: 304-293-9682, cell: 304-282-4213
E-mail: hany.ammar@mail.wvu.edu, Skype: hanyammar,
URL: http://community.wvu.edu/~hhammar/
Office hours: By appointment.
Prerequisites: SENG 550 or knowledge of Object-Oriented Programming and Design, and an
undergraduate level knowledge of software engineering.
Course Materials: Course slides will be based on the following references
References:
1. Distributed and Cloud Computing: From Parallel Processing to the Internet of
Things, by Kai Hwang, Geoffrey C. Fox, and Jack J. Dongarra, Publisher: Elsevier
Inc., 2012. Required Text.
2. Cloud Computing for Machine Learning and Cognitive Applications, by Kai Hwang,
MIT Press, (June 16, 2017).
3. Engineering Software as a Service: An Agile Approach Using Cloud Computing, by
Armando Fox, David Patterson, Publisher: Strawberry Canyon LLC, 2014
4. Software Architecture for Big Data and the Cloud 1st Edition, by Ivan Mistrik
(Editor), Rami Bahsoon (Editor), Nour Ali (Editor), Maritta Heisel (Editor), Bruce
Maxim (Editor), Morgan Kaufmann; (June 26, 2017)
5. Microsoft Azure Essentials: Fundamentals of Azure. By Michael S. Collier and
Robin E. Shahan, The “Microsoft Azure Essentials”
series, https://mva.microsoft.com/ebooks#9780735697225
6. Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud
Applications https://msdn.microsoft.com/en-us/library/dn568099.aspx
7. Amazon Web Services: Architecting for the
Cloud http://www.thepathtoagility.com/wp-content/uploads/2012/03/steveriley2.pdf
8. Cloud Application Modeling
CAML https://code.google.com/archive/a/eclipselabs.org/p/caml
9. Cloud Computing: A Hands-On Approach, by Arshdeep Bahga,
Vijay Madisetti, CreateSpace Independent Publishing Platform, 2013.
10. The Internet of Things, by Samuel Greengard, The MIT Press, 2015.
11. Internet of Things for Architects: Architecting IoT solutions by implementing
sensors, communication infrastructure, edge computing, analytics, and security,
Perry Lea, Packt Publishing; 1 edition (January 22, 2018)
12. Microservices, IoT and Azure: Leveraging DevOps and Microservice Architecture to
deliver SaaS Solutions, By B. Familiar, Apress; 1st ed. edition (October 20, 2015)
13. Learning the Internet of Things, by Peter Waher, Packt Publishing, 2015.
14. Building Internet of Things with the Arduino (Volume 1),
by Charalampos Doukas, CreateSpace Independent Publishing Platform, 2012
15. Open Source Tools for the IoT: http://www.datamation.com/open-source/35-open-
source-tools-for-the-internet-of-things-1.html
16. The dirty dozen: 12 cloud security threats,
http://www.infoworld.com/article/3041078/security/the-dirty-dozen-12-cloud-
security-threats.html
17. Google Cloud Platform Security, https://cloud.google.com/security/
Suggested Links for Project Ideas:
1. UML-based Cloud Application Modeling http://ceur-ws.org/Vol-
1242/paper7.pdf
2. Cloud Application Modeling
CAML https://code.google.com/archive/a/eclipselabs.org/p/caml
3. Managing multi-cloud systems
with CloudMF http://dl.acm.org/citation.cfm?id=2513542
4. Cloud Computing Patterns http://www.cloudcomputingpatterns.org/
http://www.sei.cmu.edu/library/assets/presentations/retter-saturn2013.pdf
5. Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud
Applications https://msdn.microsoft.com/en-us/library/dn568099.aspx
6. Amazon Web Services: Architecting for the
Cloud http://www.thepathtoagility.com/wp-
content/uploads/2012/03/steveriley2.pdf
7. Ruby on Rails Tutorial Web development on the cloud, by Michael Hartl
https://www.railstutorial.org/book/
8. Google App Engine https://cloud.google.com/appengine/docs
9. Microsoft Azure Essentials: Fundamentals of Azure, by Michael S. Collier
and Robin E. Shahan,
10. Microservices with Azure: Build highly maintainable and scalable enterprise-
grade appsJun 28, 2017, by Namit Tanasseri and Rahul Rai, Packt Publishing; 1
edition (June 28, 2017),
11. Open Source Tools for the IoT: http://www.datamation.com/open-source/35-
open-source-tools-for-the-internet-of-things-1.html
12. ECLIPSE IOT: https://blog.benjamin-cabe.com/2015/12/21/eclipse-iots-
2015-year-in-review
13. Open Source Tools and Resources for the IoT: http://techbeacon.com/67-
open-source-tools-resources-iot
14. Intel IoT Developer Kit: https://software.intel.com/en-us/iot/hardware/devkit
15. Internet of Things with the Arduino Yún, by Marco
Schwartz, Packt Publishing, 2014.
15. Make: Sensors: A Hands-On Primer for Monitoring the Real World with Arduino
and Raspberry Pi, by Tero Karvinen, Kimmo Karvinen, Ville Valtokari, Maker
Media, Inc., 2014.
16. Make: Wearable Electronics: Design, prototype, and wear your own interactive
garments, by Kate Hartman
17. On the Integration of Cloud Computing and Internet of Things: Review the literature
about the integration of Cloud and IoT.
http://wpage.unina.it/walter.dedonato/pubs/iot_ficloud14.pdf
Method of instruction: Lecture. Offered online.
Course Description: This course investigates cloud computing and the Internet of Things (IoT)
techniques, and architectures. Students will be exposed to the basic concepts and current practices
of cloud computing. Topics include:
1. Distributed computing models and technologies,
2. Cloud Services: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service
(PaaS), Software-as-a-Service (SaaS),
3. Virtualization, security and privacy issues,
4. Cloud Application Architectures and Programming Models,
5. The Internet of things architectures and patterns.
6. Example applications of IoT which is based several technologies and research
disciplines that enable the Internet to reach out into the real world of physical
objects. Technologies such as RFID, short range wireless communications,
real-time localization, and sensor networks are becoming increasingly
pervasive, making the IoT a reality with applications in smart homes, smart
cities, smart healthcare, and wearable devices.
7. Course work will include student presentations, and a term project that will
provide exposure to scientific research in cloud computing and IoT.
Course Modules:
1. Introduction to Cloud Computing and IoT [1 week]
2. Virtual Machines and Virtualization of Clusters and Data Centers [1 week]
3. Cloud Platform Architecture [1 week]
4. Cloud Computing Applications Architecture Styles and Patterns [1 week]
5. Cloud Programming and Software Environments [2 week]
6. Security and Privacy issues in the Cloud [1 week]
7. Ubiquitous Clouds and the Internet of Things and their applications [2 weeks]
8. Project Presentations and Term Exam [2 weeks]
Course Learning Outcomes: Upon successful completion of SENG 650, students will be able to
1. Demonstrate knowledge of the basic concepts and technologies of Cloud Computing and IoT
2. Analyze and compare cloud computing architectures
3. Compare the Software Engineering Environments for developing cloud computing and IoT applications
4. Conduct studies on the use of cloud computing and IoT technologies in various application domains.
RULES OF OPERATION
Attendance: Students are expected to regularly follow the lectures. Students are responsible for all
material covered in the course, keeping track of assignments’ due dates and examination date. Students
are required to attend the in-class discussions of assignments.
Communication: All course material, important announcements, assignments, etc. will be provided using
the eCampus features. Please use the eCampus Course Messages feature or email to communicate with
the Instructor and other students in the class. The instructor will make his best effort to respond within 24
hours.
Paper: will be required to submit project briefing presentations, final project presentation, and project
final report using eCampus.
Exams: There will be a term exam which will cover class material and will be administered in the last
week of classes.
Term project: Each student will conduct a multi-stage term project which will be based on the methods
discussed in class. The project will have the following four stages: (1) Choosing a topic from the provided
list and compiling the related work section and bibliography, (2) Project Plan describing the tasks and
timelines, (3) Project Briefings presentations in class, (4) Final project presentation, and (5) Final report.
Grading: Semester grades will be computed
as follows Assignment/exam
Points %
Term exam
25%
Assignments & Project
Assignment 1: Project
Proposal (10%)
Assignment 2: Project
Plan (10%)
Assignment 3: 1
st
iteration doc
Assignment 4: 2
nd
iteration doc
Assignment 5: 3
rd
iteration doc
Assignment 6: 4
th
iteration doc
Assignment 7: 5
th
iteration
doc
(25%)
Final Project Presentation (15%)
Final Report (15%)
75%
Class total
100%
Grading scale: Grades will generally be A = 90 100%, B = 80 - 89%, C = 70 - 79%, D = 60 - 69%, and F = 0
59%. ‘+’ and ‘-grade may be reported if the score is near boundary.
Modules
Course Level
Objectives
Assignments
Tentative Activities
(To do List)
Introduction to
Cloud
Computing and
IoT
Course Learning
Objective 1
Assignment 1
Discussion &
Project Briefing 1
Read Chapters 1&2 of
Ref. 1
Virtual
Machines and
Virtualization
of Clusters and
Data Centers
Course Learning
Objective 1
Assignment 2
Discussion &
Project Briefing 2
Read Ch. 3 of Ref 1
Cloud Platform
Architectures
Course Learning
Objective 2
Assignment3
Discussion &
Project Briefing 3
Read Ch. 4 of Ref 1
Refs 3, and 5
Cloud
Computing
Applications
Architecture
Styles and
Patterns
Course Learning
Objective 3
Assignment 4
Discussion &
Project Briefing 4
Read Ch. 5 of Ref 1,
and Refs 4,5
Cloud & IoT
Programming
and Software
Environments
Course Learning
Objective 3
Assignment 5
Discussion &
Project Briefing 5
Read Ch. 6 of Ref 1,
Ch. 7 of Ref 9, and
Ref.11
Security and
Privacy issues
in the Cloud
Course Learning
Objective 4
Assignment 6
Discussion &
Project Briefing 6
Read Ch. 4 Sec 4.6,
Ref. 1, Ref. 12, 13
Ubiquitous
Clouds and the
Internet of
Things and their
applications
Course Learning
Objective 4
Assignment 7
Discussion &
Project Briefing 7
Read Ch. 9 Ref. 1,
Term Examination: The examination is designed to gauge the student’s understanding of topics covered
in assigned readings, lectures, and project assignments. The final will be comprehensive. The primary
focus will be on all the course material. For the ‘take home’ exam, students will be given one week to
complete the final examination. The Final Exam Rubric will be provided on the exam and discussed in
class during the review.
Academic Integrity: Students who practice academic dishonesty, such as cheating or plagiarism, will be
penalized. Severe penalties will follow from the discovery of any representation of another individual’s
work (in any form) as your own (i.e., copying any portion of written assignments or exams). Check
the MLA Handbook for Writers of Research Papers Seventh Edition (ISBN: 9781603290241) for proper
citation of others’ work to avoid plagiarism in written assignments. Penalties range from a grade of
“zero” on the assignment in question to an “unforgivable F” in the course.
If you have not already done so please go to the
website http://www.libraries.wvu.edu/instruction/plagiarism and sign-in as WVU Students-First Time.
Use your MyIDusername and password and complete the Tutorial & Take the Test. Please e-mail your
certificate for the test to the Software Engineering Program Coordinator, Dale.Dzielski@mail.wvu.edu.
Please refer to the New Student Orientation Manual for Online
Courses athttp://elearn.wvu.edu/students/images/NewStudentOrientationManual_101910.pdf.
The document provides information on eCampus, Mix, STAR, Help Desk, refund policy, WVU Bookstore
and important phone numbers.
Attendance Policy: Students are expected to attend every class. Archives are made available to review if
missed due to personal or work related absence that should be communicated with instructor when
possible. Consistent with WVU guidelines, students absent from regularly scheduled examinations
because of authorized University activities will have the opportunity to take them at an alternate time.
Make-up exams for absences due to any other reason will be at the discretion of the instructor.
Inclusivity Statement: The West Virginia University community is committed to creating and fostering a positive
learning and working environment based on open communication, mutual respect, and inclusion. If you are a
person with a disability and anticipate needing any type of accommodation in order to participate in this class,
please advise me and make appropriate arrangements with the Office of Accessibility Services
(URL http://accessibilityservices.wvu.edu/home; Phone 304 293-6700). For more information on West Virginia
University's Diversity, Equity, and Inclusion initiatives, please see http://diversity.wvu.edu.