CS710 : Mobile and Pervasive Computing

Course Overview

Course Synopsis

This is a graduate level course. This course introduces the concepts in the area of mobile computing, to provide a computer systems perspective on the converging areas of wireless networking, embedded systems, and software. It focuses on pervasive computing, vision, mobile device architectures, operating systems, applications and platforms, mobile application design and development. Moreover, it emphasizes on wireless networking technologies, pervasive naming and discovery, location detection and tracking, pervasive data access, context awareness, security in mobile and pervasive systems, human interaction in mobile and pervasive systems and energy management.

Course Learning Outcomes

Upon successful completion of this course students should be able to:

  • Understand the fundamental concepts in the area of pervasive computing such as smart spaces, Invisibility, Localized spaces, and Uneven conditions.
  • Realize the key areas of mobile computing, including mobile networking, Mobile information access, Adaptive Applications, Energy-Aware systems, Location Sensitivity.
  • Learn about ARM processors and their instruction set architectures, processors: XScale, ARM11, i.MX, bus and memory architectures, I/O architectures, SOC designs.
  • Understand device operating systems like Symbian OS, Windows Mobile, and Android and know about platform dependent as well as independent programming languages.
  • Have in-depth coverage of conceptual architectures, frameworks and methodologies related to the design and implementation of mobile systems and technologies.
  • Understand about positioning systems and algorithms, use of GPS and network assisting techniques, enabling techniques to facilitate pervasive data access.
  • Know about Context-aware computing is a mobile and ubiquitous computing paradigm in which applications can discover and take advantage of contextual information Context sensing and acquisition, Context modeling, representation and storing, Processing, aggregation and reasoning of contextual data, Context-aware application adaptation, integration of context-awareness into service-oriented architectures.
  • Understand the Access Control Systems, Cryptography, key exchange algorithms and designing user interface and user experience for mobile devices.
  • Have knowledge of techniques for power efficiency in mobile devices.

Course Calendar

Evolution of Pervasive Computing, Pervasive Computing Projects, Modern Directions1
Wearable Computing, Example Scenarios - Aura, Composition of Pervasive Computing, Distributed Systems2
Mobile Computing3
Composition of Pervasive Computing4
Composition of Pervasive Computing (cont...), Pervasive Application Development5
Pervasive Application Development (cont...)6
Heterogeneity of Device Platforms, Dynamics of Application Environments, Approaches for Developing Pervasive Applications7
Approaches for Developing Pervasive Applications (cont...), Platform-Independent View Component, Platform-Independent Controller Component, Host-Independent Model Component8
Assignment No. 1
Host-Independent Model Component (cont...), Developing Context-Aware Applications, Source-Independent Context Data, Developing Pervasive Software9
Hardware Platforms, Operating Systems for Smartphones, Symbian, Crash Course on Operating Systems, Symbian - Architecture, Symbian - Foundation Layers, Foundation Device Layers - OS, Foundation Device Layers - Middleware, Foundation Device Layers - Applic10
Symbian Design Patterns, Symbian OS Model, Symbian - Architecture11
Symbian - Architecture (cont...), Symbian - Packages, Symbian - Kernel, Symbian - Features, Symbian - Devices12
Android Software Stack, Android Linux Kernel, Android Linux Kernel Enhancement, Android Kernel - Binder, Android Kernel - Power Management, Android Native Libraries, Android Native Servers, Hardware Abstraction Libraries, Android Runtime, Android Virtual13
Android Kernel - Binder (cont...), Android Kernel - Power Management (cont...), Android Native Libraries (cont...)14
Android Native Libraries (cont...), Android Native Servers (cont...), Hardware Abstraction Libraries (cont...), Android Runtime - Dalvik15
Android Runtime - Dalvik (cont...), Application Framework, Core Application Services16
Assignment No. 2
Android Runtime - Dalvik (cont...)17
Application Framework (cont...), Core Application Services (cont...), Applications, Runtime Walkthrough, Package, Service and Process18
Recap of Lecture 1819
Core Application Services (cont...), Applications, Runtime Walkthrough (cont...), Package, Service and Process (cont...)20
Layer Interaction, Overall Architecture21
Operating Systems for Smartphones, Hardware Platforms, Symbian, Android, Android Software Stack, Windows Phone 722
Mid-term Examination
Structure of the OS - Building, Structure of the OS - File23
Structure of the OS - Graphics, Windows 7 - Requirements, Windows 7 - Updates24
Windows 7 - Requirements, Windows 7 - Improvements, Software Architecture, Framework Details, App Hosting and Run Time25
WP7 Execution Model, Application Life Cycle, Deactivation Resource Management, Activation Resource Management26
Content Centric Experience, Structured Data and IO Performance, Structured Data in Mango27
LINQ to Everything, Complex Scenarios, Huge Reference Data, Web Services Cache, Users Data, Local Storage Data - Overview, Architecture, Code First Development, User Data - New and Updated APIs, Microsoft.Phone.UserData, Contact/Appointment Data Share28
UI Model, Rethinking Multitasking29
Windows Phone Harmony, Multitasking and Phone Health, Getting more out of the phone: agents, Multitasking Components, End to End Architecture30
Background Agent Functionality, Additional Functionality, Generic Background Agents31
Course Viva
Don't Keep Users Waiting: Background Transfers, Multitasking Cheat Sheet, Services and Frameworks, WP7 Security Model, Chambers, Capabilities, Sandbox, Application Deployment, Content Sharing for Applications, Getting More Out of the Phone, Graphics Compo32
Research In Motion, Market Share, Development Model, Applications , OS Architecture33
Network Architecture, MDS (Mobile Data Services), Application Structure, Over the Air (OTA) Deployment, MDS Applications, Security Model in Brief, Sensitive APIs, iPhone History, Market Share and Predictions, iPhone Developers Program, iPhone Applications34
Frameworks and APIs, Core OS Layer, Cross Layer Services, Media Layer, Cocoa Touch Layer, Undocumented APIs, System Protection, JailBreaking, SIM Unlocking, Android Development Framework, Dalvik Virtual Machine, Android Software Development Kit, Creating35
Creating First Android Application (cont...), Defining UI, Hello World - BlackBerry Style, Hello World - WP7 Style, Types of Android Applications, Building Blocks of Android App36
Hello World - WP7 Style (cont...)37
Application Manifest, Location Based Services, Manifest Permissions, Types of Android Applications38
Academic Research Paper
Building Blocks of Android App, Activity Life Cycle39
Activity Life Cycle (cont...), Content Provider40
Content Provider (cont...)41
Content Providers (cont...), Intents42
Intents (cont...), Services, Intents and Broadcast Receivers, SMS Application, AndroidManifest.xml, MainActivity.java, Sending SMS, Receiving SMS43
Notifications, Widgets, Creating Database / Persistence44
Detecting User Activity, Reading Device Orientation, Measuring Speed with Accelerometer, Other Types of Sensors, Listing Available Sensors, Other Functionalities45
Final-term Examination
* This is tentative schedule and may subject to change
Back to Top