Lecture 1: Getting Ready Topics: People and Course Overview
People Let’s introduce ourselves! Your name What year (UG/Grad and year) What major/research area Why COMP 433/790-136.
Learning Objective Learning the basics of Mobile Application Development using Android APIs. Learning about some selected topics on Mobile System and Networks. 12 Classes 16 Classes
What to Expect Develop “proof of concept” Android Apps. A lot of programming and self-learning.
What not to Expect You will be a pro, a hacker. The TA is for “debugging” my program.
Course Structure Lecture Class Work Assignment Project Final
Grading Class Attendance (3%) Class Work (12%) Programming Assignments (45%) Project (30%) Final (10%)
Example: Course Organization/Flow Getting Ready Android Studio Building 1st App Framework Intent Assignment 1 (due) http://mobile.web.unc.edu/schedule/
Office Hours and Resources Office Hour: THU 12:30pm – 1:30pm (Email) TA: Shiwei Fang (office hours: TBD) LA: TBD GitHub: https://github.com/uncmobile Course Webpage: http://mobile.web.unc.edu/ Sakai: Assignments and project. Email: Email IDs in CC.
Some Logistics Absence Late Assignments Office/TA Visit Class Etiquette
Spring 2016 – Interesting Projects (1) Project: Breadcrumbs https://youtu.be/tk1i-oG2XBc
Spring 2016 – Interesting Projects (2) Project: Balance Buddy https://youtu.be/BlBHEA4baOc
Spring 2016 – Interesting Projects (3) Project: Roybot https://youtu.be/tOAKM8Fr5U0
Mobile Computing Systems A portable electronic device along with its communication infrastructure, that enables computation and wireless communication.
Smart * “Smart” mobile systems contain a mobile OS that can run mobile Apps.
Smart+ * “Smart” mobile systems often contain – a touch screen, built-in GPS receiver, sensors, in addition to what a standard computer has. Example of phone sensors: Accelerometer Magnetometer Gyroscope Compass Light Proximity Temperature Pressure
Computing Devices Device Processor Mem Storage Connectivity Laptop (Macbook Pro) 2.80 GHz 16 GB 512 GB WiFi Smartphone (Nexus 6P) 1.55 GHz 3 GB 128 GB WiFi, Cellular, BLE, NFC Wearables (Gear S) 1 GHz 512 MB 4 GB WiFi, BLE, NFC Raspberry Pi 3 1.2 GHz 1 GB microSD Ethernet, WLAN, BLE Arduino UNO (ATmega328P) 16 MHz 2 KB 32 KB Various shields Intel Joule 1.7 GHz WiFi, BLE http://www.gsmarena.com/ https://www.raspberrypi.org/magpi/raspberry-pi-3-specs-benchmarks/
Wireless Networks Network Type Speed Range Power Common Use WLAN 600 Mbps 45 m – 90 m 100 mW Internet. LTE 5-12 Mbps 35km 120 – 300 mW Mobile Internet 3G 2 Mbps 3 mW Bluetooth 1 – 3 Mbps 100 m 1 W Headsets, audio streaming. Bluetooth LE 300 Kbps 100+ m .01–.5 W Wearables, fitness. Zigbee 100 Kbps 0.45 mW WSN (The numbers are not that simple to estimate exactly, but should give you an idea) http://dl.acm.org/citation.cfm?id=1644927 http://dl.acm.org/citation.cfm?id=2307658 http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6616827&tag=1
Putting them together A mobile system often consists of sensors, mobile phones, and a server who talk to each other over BLE and WiFi, as appropriate.
Two Example Systems Android Based System (MobiCOG) Arduino Based System (Typing Ring)
Android Example: MobiCOG Automation of MiniCog – a paper based 3 minute dementia pre-screening test.
Video Demo – MobiCOG https://www.youtube.com/watch?v=kk05dKghpCA
Android Example: MobiCOG Features: Chain Codes Symmetry Classifier: k-NN 1 Chain-Code = (0,2,0,3,1,1,3,0) Symmetry = (80%, 70%)
Arduino Example: Typing Ring A Wearable, portable, accessory that allows us to input text into computers of different forms. Connects wirelessly as a standard Bluetooth Smart keyboard. Works on surfaces such as – a table , a wall, or even your lap. Over 98% accurate in detecting typed keys. Yields a typing speed of up to 50 keys/min. Yields up to 15,500 keys with full charge. Weighs ~ 15 gm
Arduino Example: Typing Ring Wearing It The ring is worn in the middle finger. Seeking 3-Letter Zones As the user hovers his hand on a surface, 3- consecutive keys on a on-screen keyboard is highlighted. Typing a Key The User makes a typing gesture with one of three fingers and the corresponding key is typed in. On-screen visual feedback Typing with 3-fingers
Video Demo
Next Class Download and install Java and Android Studio. Read the “Class Work 1” ahead of time. Bring your laptop, your Android device and the USB cable. After a brief lecture (Android Studio), we will complete class work 1 together.