ITSE406 : Cloud Computing

Department

Department of Software Engineering

Academic Program

Bachelor in Software Engineering

Type

Elective

Credits

03

Prerequisite

ITGS215ITSE405

Overview

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

Networks Programming (ITSE405)
Mobile Applications Development (ITSE304)
Cryptographic Algorithms and Protocols (ITSE306)
Information Retrieval Systems (ITSE307)
Mobile Operating System (ITSE308)
Programming Paradigms (ITSE309)
Principles of Games Developments (ITSE401)
Multimedia Systems (ITSE404)
Cloud Computing (ITSE406)
Web Services (ITSE407)
Web Applications Development (ITSE408)
Modelling of Complex Systems (ITSE303)
Data Mining/Business Intelligence (ITSE302)
Social Networking (ITSE409)
Logic Programming (ITSE301)
Mathematics I (ITMM111)
Physics (ITPH111)
Problem solving Technic (ITGS113)
Intro to Information Technology (ITGS111)
General English1 (ITEL111)
Arabic language 1 (ITAR111)
Mathematics II (ITMM122)
Arabic language 2 (ITAR122)
General English2 (ITEL122)
Introduction to Programming (ITGS122)
System Analysis and Design (ITGS124)
logic Circuit Design (ITGS126)
Introduction to Networking (ITGS215)
Introduction to Statistics (ITST211)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Introduction to Databases (ITGS228)
Data Structure (ITGS220)
Foundation of Information Systems (ITGS222)
Introduction to Internet Programming (ITGS226)
Computer Architucture & Organization (ITGS223)
Information Security (ITGS224)
Design and Analysis algorithms (ITGS301)
IT Project Management (ITGS303)
Software Requirements Analysis (ITSE311)
Advanced Databases (ITSE312)
Scientific Writing (ITGS304)
Modern Programming Language (ITSE322)
Software Construction (ITSE321)
Operating System (ITGS302)
Software Design and Architecture (ITSE411)
Advanced Internet Programming (ITSE412)
Human Computer Interaction (ITSE413)
Software Engineering Ethics (ITSE414)
Software Quality Assurance and Testing (ITSE421)
Software Reuse and Component-Based Software Engineering (CBSE) (ITSE422)
Visual Programing (ITSE423)
software design models (ITSE424)