1 CMSC 628: Introduction to Mobile Computing Nilanjan Banerjee Introduction to Mobile Computing University of Maryland Baltimore County

Slides:



Advertisements
Similar presentations
1 CMSC 691: Systems for Smart Home Automation Nilanjan Banerjee Smart Home Automation University of Maryland Baltimore County
Advertisements

CSS216 MOBILE PROGRAMMING Android Book: “Professional Android™ 2 Application Development” by Reto Meier, 2010 by: Andrey Bogdanchikov (
HCI SEMESTER PROJECT PROJECTS  Project #2 (due 2/20)  Find an interface that can be improved  Interview potential clients  Identify an HCI concept.
James Tam Introduction To CPSC 233 James Tam Java Object-Orientation Event driven software.
By Rajan Maharjan (Sprout Technology Pvt Ltd) 1 Mobile Apps Development in Nepal.
 Guy Jacob  Roee Shapiro Project B Spring, 2009 Cloudio  Project Supervisor: Eddie Bortnikov  Lab Chief Engineer: Dr. Ilana David.
213: User Interface Design & Development Prof: Tapan Parikh TA: Deepti Chittamuru
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
COMP 14 – 02: Introduction to Programming Andrew Leaver-Fay August 31, 2005 Monday/Wednesday 3-4:15 pm Peabody 217 Friday 3-3:50pm Peabody 217.
Android Development for Rural Health Gautam Sanka UNC Chapel-Hill Summer 2012.
Presented By: Ayelet Birnbaum Yael Kazaz Supervisor: Viktor Kulikov 07/05/12.
To be Presented by, T.Sathishkumar [11mw07] 1. Synopsis Introduction Version Features License An Application Development Demo Possibilities Advantages.
Welcome to CompSci 100! As You Arrive… Make sure you grab a syllabus packet. Read through it. I will be covering the most essential points in my talk,
Applications Of Your Growing Potential. What We’ve Been Doing We’ve been writing Java programs In an IDE called Eclipse For desktop and laptop computers.
1 CSCE 5013: Hot Topics in Mobile and Pervasive Computing Nilanjan Banerjee Hot Topic in Mobile and Pervasive Computing University of Arkansas Fayetteville,
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com ICOM 5016 – Introduction.
Android 2: Introduction to the Technology Kirk Scott 1.
DUE Introduction to the Android Platform and AppInventor Working Connections 2012.
1 CSCE 4013: Mobile Systems Programming Nilanjan Banerjee Mobile Systems Programming University of Arkansas Fayetteville, AR
CSE Graphical User Interface Design & Implementation Jason Murphy Lecture 1 - Introduction.
Introdution to Computer Science ICS3U/4U.  New room!!!  Respect it  Wooden tables  No food/drink  Bathroom – one at a time  Course outline – coming.
Programming for Interactivity Professor Bill Tomlinson Tuesday & Wednesday 6:00-7:50pm Fall 2005.
COMP Introduction to Programming Yi Hong May 13, 2015.
Operating system for mobile devices with a Java programming interface. Provides tools, e.g. a compiler, debugger, device emulator, and its own Java Virtual.
Welcome to CS 3331, Advanced Object-Oriented Programming Fall 2015 Dept. of Computer Science University of Texas at El Paso.
Android Platform. Course Instructor Yourself? Lectures, Labs, Text-Book Moodle Course Syllabus Online Resources Assessment Deadlines Code of professional.
20-753: Fundamentals of Web Programming 1 Lecture 1: Introduction Fundamentals of Web Programming Lecture 1: Introduction.
Using Mobile Google Tools Tech Tip Project - Fall 2011 A guide to a Digital Portfolio October 17 th, 2011 MEDT 7477 Dr. Cooper Barry D. Thibault.
KSE631: Content Networking Uichin Lee KAIST KSE Feb. 07, 2012.
1 CMSC 628: Introduction to Mobile Computing Nilanjan Banerjee Introduction to Mobile Computing University of Maryland Baltimore County
Catie Welsh January 10, 2011 MWF 1-1:50 pm Sitterson 014.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
+ Introduction to Class IST210 Class Lecture. + Course Objectives Understand the importance of data, databases, and database management Design and implement.
Mobile web Sebastian Lopienski IT Technical Forum 29 June 2012.
1 CMSC421: Principles of Operating Systems Nilanjan Banerjee Principles of Operating Systems Assistant Professor, University of Maryland Baltimore County.
1 CS6320 – SW Engineering of Web- Based Systems L. Grewe.
What else is there? CMPT 454: Database Systems II. – Transaction Management. – Query Planning. – Optional topics, e.g. data mining, information retrieval,
June 19, Liang-Jun Zhang MTWRF 9:45-11:15 am Sitterson Hall 011 Comp 110 Introduction to Programming.
1 CNT 4704 Analysis of Computer Communication Networks Cliff Zou Department of Electrical Engineering and Computer Science University of Central Florida.
KSE631: Content Networking Uichin Lee Feb. 07, 2011.
Computers and the Internet Chromebook Booklet 1. What is a Chromebook? A Chromebook is a computer.
© 2015 albert-learning.com Cloud Printing For Android CLOUD PRINTING FOR ANDROID.
CS614: Advanced Course in Computer Systems (Spring’04) Instructor: Ken Birman TA: non assigned (yet)
Cevgroup.org C utting E dge V isionaries. cevgroup.org TODAY’s TALK 1) Internet Of Things (IoT) 2) Wi-Fi Controlled Robots 3) Augmented Reality.
Lecture 1: Getting Ready Topics: People and Course Overview Date: Jan 12, 2016.
CMSC 491/691 A Web of Data Administrivia Spring
James Tam Introduction To CPSC 233 James Tam Java Object-Orientation Event driven software.
James Tam Introduction To CPSC 233 James Tam Java Object-Orientation Graphical-user interfaces.
Collection of works to share with other people It acts as a folder where a person can upload anything from a word document to a YouTube video Wiki allows.
Welcome to CS 4330, Mobile Application Development Spring
Computer Science I ISMAIL ABUMUHFOUZ | CS 180. CS 180 Description BRIEF SUMMARY: This course covers a study of the algorithmic approach and the object.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
Introduction to CSCI 1311 Dr. Mark C. Lewis
Mobile Computing CSE 40814/60814 Spring 2017.
Lecture 1: Getting Ready
CMSC 621: Advanced Operating Systems Advanced Operating Systems
Lecture 1: Getting Ready
Computing.
E 96 Introduction to Engineering Design Peter Reiher UCLA
NWEN 243 Network Applications
Development-Introduction
Lecture 1: Getting Ready
Computer Science 102 Data Structures CSCI-UA
CMPE419 Mobile Application Development
IT for Students Need IT Help? Visit
Meeting, training & teaching in the interactive iWorld
Course page: CSE/Math 1560: Introduction to Computing for Mathematics and Statistics Winter 2011 Suprakash Datta.
Accelerated Introduction to Computer Science
Lecture 1: Getting Ready
CMPE419 Mobile Application Development
Presentation transcript:

1 CMSC 628: Introduction to Mobile Computing Nilanjan Banerjee Introduction to Mobile Computing University of Maryland Baltimore County

2 Why do I need to learn smart phone programming? “The number of mobile phones sold in 2008 reaches 1.28 billion, a growth of 11% in 2008” --- Marketing charts “Smartphone penetration is now 19% with 45 million total smartphones now active in the US” --- ComScore What will drive our research in mobile computing over the next decade? One force is the emergence of mobile devices as rich sensors. The other force is the convergence of mobile computing and cloud computing. --- Mahadev Satyanarayanan

3 What does mobile phone programming encapsulate? User-interface design Operating system design programming languages networking cloud computing

4 Why is it difficult to develop good mobile apps. Computational power Usually 1 GHz processors Soln: use the cloud? Memory (can be limited for certain applications) 1 GB of RAM in most cases (half of it is the OS) Battery constraint (biggest constraint) Limited battery is always a constraint Cannot build apps which kill your battery Too many options Accelerometer, GPS, compass, WiFi, Bluetooth, 3G….

5 To give you an idea of the specification of a phone!

6 What are the potential applications… endless…

7 Ok! Tell me what the course contents are Primer to the Android platform User interfaces design UI elements using xml (Android) event driven programming (listeners and delegates) Programming sensors accelerometers, compass, GPS Networking radios, sockets, and http data transfer Localization map services Storage local storage and sqllite Cloud services Google web services Introduction to game design (Unity)

8 Is this course for me? Should have knowledge of object-oriented programming. Knowledge of Java is a must! Should have working knowledge of networking and operating system concepts I will not talk about what a Wi-Fi radio is? Or what a file system is? This is not a book-oriented course. Your creativity will be tested in the assignments, class discussions, and final projects.

9 How will I be graded? Assignments in groups of two (3-4 total) (35 points) Different semantics for evaluation In-class midterm (20 points) Testing design skills and mobile programming skills Final project groups of 2 (35 points) Hopefully we will have a poster/demo session In class discussions (10 points) Trivia related to programming, problem solving, coding mini applications, discussions related to research papers in the area.

10 Assignments Three to Four assignments on design problems Involve coding for the Android Groups of two solving the assignments Grading Source code (7 points) Video --- every group will make a video of their assignment and upload it on youtube. (3 points) I will share the video and everyone in the class votes on it (best video gets an extra 5 points on the assignment)

11 Midterm In-class midterm Design and coding problems Grading 20 points towards final grade

12 Group Project Needs to be an interesting idea Game, social app, home automation, whatever you want.. Come and talk to me if you need ideas. Come and talk to me if you already have an idea The idea should be practical… cant build an application that controls the MARS rover… Working demo by the end of the semester Poster/demo session at the end of class Showcase your apps to people in the university Lets see a couple of demos from last to last semester’s class Lets take a few examples

13 Group formation semantics You should create a google site per group Google site should be *just* shared with me and the TA My address Filip’s address ( The google site would form the portal for the following. Submitting your assignments. Keeping track of your final projects.

14 Lecturing style Demo-oriented Lecturing bring your laptops and mobile phones Discussions on coding trivia, puzzles post what you learn on piazza Once we have learnt the concepts we will read a couple of cool application oriented papers during the discussion time

Resources you will need 15 Eclipse SDK with Android plugin and SDK Instructions on the webpage Mobile Phones Android phones or tablets [I have 8 Google Nexus’s] Server and database resources (I may provide)

16 Administrivia… Course webpage and reading list My id: Discussion Group Piazza Class hours: 4:00pm – 5:15 pm (Mon, Wed) Office hours: 9:45 – 10:30 (Wednesday) or by appointment TA : Filip Dabek Office hours: TBD. Videos of last semester’s projects online on the course page (at least a subset of them) Come and talk to me if you To discuss project ideas Group formation and other semantics

17 Let me show you what to install to get started. Primer on installation of the Android toolkit. Next lecture: we will start with a super simple application and will go through the steps involved in designing, coding, and testing the application