CS 441/541: App Development for Smart Devices

Spring 2019

Time: M/W 4:20-5:35 PM, Dragas 1105

Instructor: Shubham Jain (jain [at] cs [dot] odu [dot] edu)

Ubiquitous sensing devices such as smartphones, cameras, and wearables, are dominating every aspect of our daily lives. In this class, we will focus on building mobile applications for the Android operating system. It is currently the most popular operating system in the world. The Android OS runs on a variety of devices, ranging from smartwatches and smartphones to tablets and televisions. This project-oriented course examines the principles of application design and development for smart devices. It will expose students to various components involved in developing applications for Android-based smartphones. Occassionally, students will read research papers and discuss them in class. Students are expected to work on a project that produces a professional-quality mobile application.

Topics

Overview

In this class, you will learn how to program mobile applications for the Android operating system. This class is about designing and writing real small-medium mobile applications and user interface systems. By the end of the semester, you are expected to have created an innovative and robust mobile application. There will be programming assignments, approximately one every 2-3 weeks. These assignments must be done individually. Graduate students are expected to understand and present scientific literature on the class topics.

Course Load (Tentative)

Learning Resources

Grading Policy (Tentative)

Prerequisites

This is not a programming class. You are expected to know at least one object oriented programming language well, preferably Java.

Office Hours

By appointment

Tentative Schedule



Week Date Topic Reading
Week 1 1/14 Introduction
1/16 Activities Assigned Reading:
Week 2 1/21 No class [MLK Jr. Holiday]
1/23 User Interface I Assigned Reading:
Week 3 1/28 User Interface II
1/30 Intents
Week 4 2/4 Project Proposal Presentations I
Group 9
Group 3
Group 4
Group 5
Group 6
Group 2
2/6 Project Proposal Presentations II
Group 7
Group 8
Group 1
Group 10
Group 11
Week 5 2/11 Content Providers Assigned Reading:
2/13 Fragments
Week 6 2/18 In-class presentation - Abel Weldaregay

Services
Assigned Reading:
2/20 Services and AsyncTask
Week 7 2/25 In-class presentation - Giridharan GaneshKumar

Databases
Assigned Reading:
2/27 Firebase
Week 8 3/4 Midterm Presentations I
Group 1
Group 2
Group 3
Group 4
Group 7
3/6 Midterm Presentations II
Group 5
Group 8
Group 9
Group 10
Group 11
Week 9 3/11 No class [Spring Break]
3/13
Week 10 3/18 In-class presentation - Amer Righi

Location-based Services
3/20 Maps
Week 11 3/25 Midterm Exam
3/27 Files and Preferences
Week 12 4/1 Sensors I
4/3 NO CLASS
Week 13 4/8 Networking I
4/10 Networking II
Week 14 4/15 Using the camera
4/17 Advanced Topics I
Week 15 4/22 Advanced Topics II
4/24 Final Presentations I
Group 1
Group 2
Group 3
Group 4
Group 5
Week 16 4/29 Final Presentations II
Group 7
Group 8
Group 9
Group 10
Group 11