Hands-on introduction to cloud computing and developing mobile applications. Topics include: Cloud computing services and infrastructures (virtualization, datacenter networking, wide-area storage/replication, distributed filesystems); development tools (MapReduce, Hadoop, OpenStack); fundamental tradeoffs and algorithms (CAP theorem, NoSQL systems, Paxos) and applications (big-data analysis, real-time data systems, large-scale webservices); iOS and Android programmingto develop mobile applications with backend storage and computing components running on the cloud (Amazon AWS, Microsoft Azure, or Google AppEngine); Accessing cloud services with mobile devices; Extending mobile app with cloud processing and resources; Extending cloud services with the collective power of mobile devices; Partitioning of service functions between mobile devices and clouds; Data management for mobile cloud; Developing mobile cloud services with GAE proxy and Android.
Intended learning outcomes
Knowledge &understand
The student should be able to:
Define a clear definition of what cloud computing is.
Understand the basic concepts and benefits of cloud computing.
Information gathering and organizing skills, argumentation skills and the ability to synthesis information from multiple sources.
Understand the concept of big data
mental skills
The student should be able to:
Define cloud infrastructure technologies including virtualization, data centers, resource management, and storage.
Determine when and where cloud computing can be used and what models are appropriate
Explain the concept of (CAP theorem, NoSQL systems, Paxos)
Gain the skill of working within the team during the implementation of the practical part.
Practical & professional skills
The student should be able to:
Create their own Azure account and gain some hands-on experience provisioning and working with a cloud service
Upload its software on the Azure platform
Gain Internet research skills, report writing skills, creating a presentation, and presenting it.
Connect database to the Microsoft Azure cloud.
General and transferable skills
The student will be able to work within a team to solve a problem, according to the standards and principles of Cloud Computing.
Gaining skills: searching on the Internet, writing reports, creating a presentation using the modern tools and programs.
That the student be able to deliver an integrated project without errors.
The student should be committed to submitting assignments and projects on time.
Teaching and learning methods
Lectures
Tutorials
Problem-based learning
Mini-projects
Methods of assessments
Midterm exam = 20
Formative Evaluation (essay / report /….) = 10
Project = 20
Final exam = 50
Course contents
Introduction to mobile cloud computing
Cloud computing services and infrastructures
Introduction of compute Virtualization &
Virtualization features
fundamental tradeoffs and algorithms (CAP theorem, NoSQL systems, Paxos)
development tools (MapReduce, Hadoop, OpenStack)
*** Midterm exam ***
iOS and Android programming to develop mobile applications with backend storage and computing components running on the cloud (Amazon AWS, Microsoft Azure, or Google AppEngine)
Developing mobile cloud services with GAE proxy and Android.
Data management for mobile cloud
Applications (big-data analysis, real-time data systems, large-scale web services)
Storage Basic for Cloud Computing
Cloud Computing Trends
rapid development tools for building apps on the cloud using Android, iOS, Windows platform