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
|
1
|
Introduction to Mobile and Pervasive Computing
|
2
|
Composition of Mobile and Pervasive Computing - I
|
3
|
Composition of Mobile and Pervasive Computing - II
|
4
|
Composition of Mobile and Pervasive Computing - III
|
5
|
Composition of Mobile and Pervasive Computing - IV
|
6
|
Software Development Aspects - I
|
7
|
Software Development Aspects - II
|
8
|
Software Development Aspects - III
|
9
|
Software Development Aspects - IV
|
10
|
Hardware Platforms, Operating Systems for Smartphones, Symbian, Crash Course on Operating Systems
|
11
|
Symbian Design Patterns, Symbian OS Model, Symbian - Architecture
|
12
|
Symbian - Packages, Symbian - Kernel, Symbian - Features, Symbian - Devices
|
13
|
Android Software Stack, Android Linux Kernel
|
14
|
Android Kernel - Binder, Android Kernel - Power Management, Android Native Libraries
|
15
|
Android Native Servers, Hardware Abstraction Libraries, Android Runtime - Dalvik
|
16
|
Application Framework, Core Application Services
|
17
|
Android Runtime - Dalvik (cont...)
|
18
|
Runtime Walkthrough, Package, Service and Process
|
20
|
Core Application Services, Applications, Runtime Walkthrough (cont...)
|
21
|
Layer Interaction, Overall Architecture
|
22
|
Operating Systems for Smartphones, Hardware Platforms, Symbian, Android, Android Software Stack, Windows Phone 7
|
23
|
Structure of the OS - Building, Structure of the OS - File
|
24
|
Structure of the OS - Graphics, Windows 7 - Requirements, Windows 7 - Updates
|
25
|
Windows 7 - Improvements, Software Architecture, App Hosting and Run Time
|
26
|
WP7 Execution Model, Application Life Cycle, Deactivation Resource Management, Activation Resource Management
|
27
|
Content Centric Experience, Structured Data and IO Performance, Structured Data in Mango
|
28
|
LINQ to Everything, Huge Reference Data, Web Services Cache, Local Storage Data - Overview, Code First Development, User Data - New and Updated APIs, Microsoft.Phone.UserData, Contact/Appointment Data Share
|
29
|
UI Model, Rethinking Multitasking
|
30
|
Windows Phone Harmony, Multitasking and Phone Health, Getting more out of the phone: agents, Multitasking Components, End to End Architecture
|
31
|
Background Agent Functionality, Additional Functionality, Generic Background Agents
|
32
|
Multitasking Cheat Sheet, Services and Frameworks, WP7 Security Model, Chambers, Capabilities, Sandbox, Application Deployment, Content Sharing for Applications, Graphics Composition
|
33
|
Research In Motion, Development Model, Applications , OS Architecture
|
34
|
Network Architecture, MDS (Mobile Data Services), Over the Air (OTA) Deployment, MDS Applications, Sensitive APIs, iPhone History, iPhone Developers Program, iPhone Applications, iPhone Runtime, MVC Design Pattern, Memory Management
|
35
|
Core OS Layer, Cross Layer Services, System Protection, JailBreaking, SIM Unlocking, Android Development Framework, Dalvik Virtual Machine, Android Software Development Kit, Creating First Android Application
|
36
|
Defining UI, Hello World - BlackBerry Style, Hello World - WP7 Style, Types of Android Applications, Building Blocks of Android App
|
37
|
Hello World - WP7 Style (cont...)
|
38
|
Application Manifest, Location Based Services, Manifest Permissions, Types of Android Applications
|
39
|
Building Blocks of Android App, Activity Life Cycle
|
40
|
Activity Life Cycle (cont...), Content Provider
|
41
|
Content Provider (cont...)
|
42
|
Content Providers (cont...), Intents
|
43
|
Intents (cont...), Intents and Broadcast Receivers, SMS Application, AndroidManifest.xml, MainActivity.java, Sending SMS, Receiving SMS
|
44
|
Notifications, Widgets, Creating Database / Persistence
|
45
|
Detecting User Activity, Reading Device Orientation, Measuring Speed with Accelerometer, Other Types of Sensors
|
|
|
|