Developing Mobile Applications

CSCI 690, Section 81
Spring Semester 2017

 

Instructor

John I. Moore, Jr. Phone:  843-953-7883
Office:  Thompson Hall 209       E-mail:  john.moore@citadel.edu

 

Course Description

This hands-on, project-oriented course explores the principles and tools involved in the design and construction of applications for mobile devices. Although the course focuses on the Android platform, the basic concepts and experiences extend to other mobile devices. Topics include an overview of mobile application development, the Android application architecture, mobile application lifecycle, managing application resources, designing user interfaces, data storage options, integrating audio and video, location-based services, cross-platform development using a mobile device emulator, and porting applications to actual devices. In addition to several smaller programming assignments to provide experience and reinforce concepts, students will work in teams on a substantial programming project to design, develop, and deploy a mobile application.

 

Learning Outcomes

Upon successful completion of this course, a student will be able to

 

Textbook

Trish Cornez and Richard Cornez, Android Programming Concepts, Jones & Bartlett Learning, 2016. (ISBN: 978-1284070705)

Also:  Course Notes and Handouts

 

Recommended References/Links:

  1. Android Developer Website, http://developer.android.com
     
  2. Android Core Tutorials, http://www.javacodegeeks.com/tutorials/android-tutorials/android-core-tutorials/
     
  3. Android Cookbook, Ian F. Darwin (Editor), http://androidcookbook.com/
     
  4. Neil Smyth, Android Studio Development Essentials - Android 7 Edition, CreateSpace, 2016. (ISBN: 978-1535425339).
     
  5. Ronan Schwarz, Phil Dutson, James Steele, and Nelson To, The Android Developer's Cookbook: Building Applications with the Android SDK (Second Edition), Addison-Wesley, 2013. (ISBN: 978-0321897534)

 

Class Schedule

Wednesday, 5:30-8:15 p.m., NORT 231 (Lowcountry Graduate Center)

 

Grading

The final grade for the course is based on 6 grades as follows:

 

Miscellaneous Grading Policies

  1. This course will contain a number of graded programming assignments. Each programming assignment is due one week after it is assigned unless noted otherwise by the instructor. A late program, for whatever reason, will have its grade lowered by one letter, and programs more than one week late will not be accepted. Program grades will be based on the following factors: correctness of programming logic, overall design and structure, style, and enhancements.

    Please note: Correctness of programming logic is the most important factor. It is usually better to turn a program in late than to turn it in on time with logic errors. Also, turning in a program that does not compile will result in a grade of zero for that assignment.
     
  2. A course project will be completed by teams of two students, and both team members will receive the same grade for the project. The completed project will be scheduled for demonstration during the final exam period.
     
  3. With the exception of the course project, students are required to work individually on all work done outside of class that will be turned in for a grade. Unless explicitly authorized, joint work is forbidden. Assistance from anyone other than the instructor, a librarian, a member of the academic support center, or a team member (on the team project only) is also forbidden.
     
  4. Reading assignments will be given daily, and unless otherwise noted, daily quizzes will come directly from the material covered in the previous day’s class or reading assignment.
     
  5. Class attendance and participation can influence borderline grades.
     
  6. Incomplete grades are given only in unusual circumstances. Consult the college catalog for policy on incomplete work.

 

Office Hours

Monday 10:00-11:00 a.m., 1:00-2:30 p.m.
Wednesday  10:00-11:00 a.m., 1:00-2:30 p.m.
Friday  8:30-9:00 a.m., 10:00-11:00 a.m.

Other times by appointment

 

Important Dates

Feb. 15 Test #1
Mar. 6 Last day to withdraw with a grade of “W”
Mar. 29 Spring Break (Work on course project during break!)
Apr. 12 Test #2
Apr. 26 Project Demonstrations

 

Expectations

  1. Do not miss an assigned test without a valid excuse! Missing an assigned test without a valid excuse will result in a grade of zero for that test. The instructor gets to determine whether or not an excuse is valid. When possible, students should notify the instructor in advance if they will be unable to take an assigned test. All make-up tests will be given outside of normal class time. Once a test has been given in class, any subsequent make-up tests may differ significantly.
     
  2. Show up for class on time and prepared. That means that you have studied the appropriate sections from the book plus any handouts, and you have completed any assigned work. If a test has been assigned, you should be prepared to take the test. If you were late to class or absent from the previous class meeting, you are responsible for getting class notes and assignments from another student in the class or from the instructor.
     
  3. Take care of any personal needs outside of class time. Except for emergencies, you should not need to go to the bathroom, get a drink of water, etc. during class.
     
  4. Personal conversations are disturbing to other students and to the instructor. Please be courteous and respect the rights of others.
     
  5. Cell phones should be put away and programmed in a silent or vibrate setting during class.
     

Daily Schedule (Tentative)

Dates Topics Covered
Jan. 11 Overview of Android Application Development
Jan. 18 Review of Java (classes, interfaces, inheritance, inner classes, etc.)
Jan. 25 User Interface Basics, Saving Activity State, Debugging Android Applications
 
Feb. 1 User Interfaces
Feb. 8 Threads, Network Applications
Feb. 15 Test #1
Feb. 22 Applications with Multiple Activities; Advanced User Interfaces
 
Mar. 1 Data Storage (Preferences, File System, SQLite)
Mar. 8 Data Storage Continued (SQLite, Content Providers, ListView)
Mar. 15 Location-Based Applications
Mar. 22 Bluetooth, Animation; Multimedia
Mar. 29 Spring Break (Work on course project during break!)
 
Apr. 5 2D Graphics; Services
Apr. 12 Test #2
Apr. 19 Selected Topics
Apr. 26 Project Demonstrations