[M1522.
002600] Advanced
Mobile Computing
Success is not final
Failure is not fatal
It is the courage to continue that counts.
Winston Churchill
Instructor
• Name: Youngki Lee
• Office: 301-413
• Office Hour: Thu 4:30PM – 5:45PM
• Phone : 1726
• E-mail: youngkilee@snu.ac.kr
• Research Homepage:
http://youngkilee.blogspot.com
Today’s Agenda
• Introduction to Mobile Computing
• Evolution of Computing
• Life-Immersive Mobile Computing
• Course Introduction
• Course Project Introduction
Software Engineering
3
Mobile Computing: Where Are We?
Progression of Computing #1
• Before the early 80s
• Centralized computation (mainframes)
Progression of Computing #2
• 1980s – mid 1990s
• Personal desktops; no shared environment;
asynchronous messaging.
Progression of Computing #3
• 1990s – 2000s
• Interconnected computing; real-time communications;
distributed “network”
Internet
Progression of Computing #4
• 2010 – now
• Mobile devices; use of cloud-hosted services, significant
two-way traffic.
Mobile Devices
Smartphones New Wearable/IoT
Feature Phone
iPhone, Android Devices
HW oriented, New Mobile Interface
Communication ???
User satisfaction
centered
Mobile “Computer”?
Is mobile computing
really different from
previous computing
paradigms?
It may be True.
Android Platform
• https://developer.android.com/
guide/platform/?hl=ko
Common Perception 1
Mobile computing is all about mobile network !
Advance in Cellular Networks
Beam
mmWaves MiMo
Forming
Ultra-Low
D2D
Latency
Advance in WiFi
[802.11 ax] [802.11 ay]
10 Gbps 20-40 Gbps
~300 m range
2.4 / 5GHz band 60GHz band
High-efficiency wireless Connecting buildings
802.11
[802.11 ah] [802.11 af]
300 Mbps 54/790 MHz band
900MHz band (Whitespace)
Connecting IoT devices Long-range connectivity
Common Perception 2
• A mobile device is a small resource-constrained
computer.
Nike+iPhone?
PokeMon Go and AR-Navigator?
Life-Immersive Mobile Computing
Sleep Quality
Tightly integrated with Monitoring
Physical Activity
real-world situations Diary
Location-
aware
Pothole Monitoring Alarms
Continuously monitor
ourselves and our real
-world situations
Provide Bus Stop Queue
Estimation
what we need
right on time & place
Auto-Silencing Proactive
My Phone Advertisement
21
Life-Immersive Mobile Computing
• It becomes extremely important to understanding users
and their experiences in real-life situations.
▫ Design systems and technology from user experiences.
• EXPERIENCE design vs. LOGIC design
▫ Problems can’t be easily defined due to the diversity of the users
and complexity of situations.
▫ Understanding design spectrums and making the right design
decisions become more important.
• Roles of computer scientist and engineers go beyond design
the logic or systems.
▫ This is also far beyond supporting human-computer interaction.
Course Objectives
• Upon completion of the course, you should be able to:
• Design and develop a mobile application and system to
enable new / enhanced user experience.
• Understand new concepts and state-of-the art technologies
in mobile and ubiquitous computing.
• Build soft skills – for example, critiquing technology and
share ideas in a constructive manner.
Why Do I Need to Take This Course?
• Most of you will be involved in software projects as
an engineer or an entrepreneur.
• Many solutions involve mobile and pervasive computing
technology.
• Help your graduate study and research.
• Students will learn lots of soft skills that are important
for graduate studies such as paper reading, critiquing,
and presentation.
• Students can spin off a mobile computing-related
research projects.
Class Timings
• Day: Tuesday and Thursday
• Time: 3:30PM – 4:45PM
• Office Hour
• Thursday 4:45 PM – 5:00 PM
• Feel free to stop by besides office hours. You may want
to make an prior appoint by email if you must see me.
Pre-Requisites
• Assume that you have an undergrad degree in
computer science or other related field.
• You should be able to self-learn development of
mobile applications.
• If you are aware of Java and Linux, it should not take too
long to program on Android.
Textbook
• There is no textbook.
• We will use lecture slides and research papers.
Make-Up Classes
• June 6 (Memorial Day) – Week 14
• Make-up class.
• We will schedule one more slot on week 15 or 16 and
use it for the final exam.
Tentative Lesson Plan
Week Lecture Topic Project Deadlines
1 Class Intro & Intro-to Mobile Computing
2 Human Behavior and Context Sensing/Analytics: Activities
3 Human Behavior and Context Sensing/Analytics: Activities
4 Project Proposal and Feedback March 25 Monday [11:59pm]. Push the
final proposal slides (in git repo)
5 Human Behavior and Context Sensing/Analytics: Locations
6 Human Behavior and Context Sensing/Analytics: Locations
7 Human Behavior and Context Sensing/Analytics: Emotions and Health
8 Human Behavior and Context Sensing/Analytics: Emotions and Health
9 Special Topics
10 Project Review and Demonstration of Initial Prototype May 6 Monday [11:59pm]. Push the
review slides and apk for the demo
prototype (in git repo)
11 Mobile and Embedded Machine Learning Systems: Basics
12 Mobile and Embedded Machine Learning Systems: Power and
Optimization
13 Mobile and Embedded Machine Learning: Cloud and Edge
14 Mobile and Embedded Machine Learning: Privacy and Other Issues
15 Project Final Presentation and Demo June 10 Monday [11:59pm]. Hard
deadline. code, final apk, final
presentation slides in git.
15/16 Final Exam TBD
Teaching Assistant
• HyunSeok Oh • Do-Il Yoon
ohsai@snu.ac.kr ttotto3080@gmail
.com
Assessment
• Presentation and Class Participation (20%)
• Presentation & Discussion:10 %
• Paper Critique: 10 %
• Project (40%)
• Presentations
• Novelty of the idea
• Process of the development
• Quality of the final application / research paper
• Final Exam (40%)
• Scope: Lecture materials and papers in the reading list.
• No official textbooks.
Class Format (Regular Weeks)
• Tuesday: I will give the overview of the topic of the
week.
• Thursday: Teams are expected to present papers in the
reading list on the topic of the week.
• 20 minute presentation + 15 minute discussion.
• Each team will present two papers throughout the semester
(one in the first half and another in the second half).
• All students are expected to read the papers in advance,
submit critique for one paper, and be ready for the discussion.
• Week 1 (Intro), Week 9 (Special topics) and project
presentation weeks (Week 4, 10, 15) are excluded.
Paper Presentation
• Reading list is available at: https://goo.gl/cdqR89
• Pick the paper you want to present and sign up here:
https://goo.gl/QegLWv
• First come first served.
• We will improve on reading and presenting papers
along the way, but you can start with the following
paper.
• How to Read a Paper, S. Keshav
[ACM SIGCOMM Computer Communication Review, ’07]
Class Participation
• "Delivering an interactive, participative and warm learning experience"
• You (as a student)
• Be prepared for class (read papers)
• Have a positive impact on collaborative learning
• Contribute and share what you know
• Discuss and work in a team
• Be professional
• No hijacking the airwaves
• Give due respect to your peers (listen when they talk)
• I (as the instructor)
• Our responsibility and professional duty to assess you
• I will give the final score based on my careful observation during class
Software Engineering
34
Name Tags
• Print your name on both sides
• Names must be readable from anywhere in class
Course Policies: Attendance
• Fail the course if you miss more than 3 classes
without valid reasons (MC, official school events,
attending conferences, etc.)
• All excuses should be given promptly and in advance
(whenever possible)
• Submit MC or other proof to TA within a week
Course Policies: Submission
• If you are the presenter on Thursday in Week X, post
your presentation slide to etl by Wednesday midnight
in Week X.
• Everyone should submit a hard copy of your critique for
a paper to be presented to TA before our Thursday class.
• Critique should include the problem, solution approach,
3 weak points, 3 strong points, and your new idea to
solve the problem in a better way.
Course Policies: Submission
• Submit ALL project-related deliverables through GIT.
• I will use Git push timestamp as the submission time.
• Make sure the directory structure inside your GIT repo is
easy to understand. A “Readme” file will be useful too.
• Late submission will not be allowed as you need to
demo and present to your class.
Course Policies - Academic Integrity
• All acts of academic dishonesty (including, but not
limited to, plagiarism, cheating, fabrication, facilitation
of acts of academic dishonesty by others, unauthorized
possession of exam questions, or tampering with the
academic work of other students) are serious offences.
• All work (whether oral or written) submitted for
purposes of assessment must be the student’s own
work. Penalties for violation of the policy range from
zero marks for the component assessment to expulsion,
depending on the nature of the offence.
• When in doubt, students should consult the instructor.
Most Importantly …
• Work hard but have fun!