UGA Bulletin Logo

Mobile Software Development


Course Description

Introduction to software development for mobile devices, such as smartphones and tablets. Topics include life cycle of mobile applications, mobile UI design, views, widgets, location and maps, local data handling, and interaction with Web services and databases. Students design, implement, and analyze mobile applications.

Additional Requirements for Graduate Students:
Each written assignment and programming project in this course will have additional questions for graduate students. These questions will require that graduate students read and understand research papers, write answers that will call upon the student to critique existing methods and propose improvements, or use research in implementing new solutions. Exams will have additional essay-type questions that will require the graduate student to find limitations of existing techniques and propose new approaches. All graduate students will be evaluated in a pool that is separated from undergraduate students in the course, and the grade cutoffs will be stricter, thereby implying higher expectations of accomplishment from graduate students.


Athena Title

Mobile Software Development


Prerequisite

CSCI 2720


Semester Course Offered

Not offered on a regular basis.


Grading System

A - F (Traditional)


Course Objectives

1. Plan, design, implement, test, and deploy a complete mobile application. 2. Utilize a suitable development environment, such as Android Studio, in app development. 3. Understand and use elements of a mobile application, including activities, views, layouts, fragments, styles, and themes. 4. Understand, select, and utilize appropriate screen designs and a proper navigational pattern. 5. Be able to manage an application’s resources and files and be able to utilize a relational database and an external Web Service. 6. Be able to apply a software process, such as agile development, in app development. 7. Effectively describe and demonstrate a functioning app.


Topical Outline

1. Mobile Development Basics a) Android History and Versions b) Android Architecture and Linux c) Java and Event-driven Programming 2. Android Development Environment a) Android Development Environment Setup b) Simple Android Application c) Android Project Structure d) Introduction to XML 3. Android Fundamentals a) Android Application Components b) Activity and Activity Lifecycle c) Common Views d) Android Layouts e) Fragments, Fragment Lifecycle, and Fragment Transactions f) Managing Resources g) Navigational Patterns h) Styles and Themes 4. Interacting with Data Sources a) Relational Databases b) SQLite c) RESTful Web Services 5. Application Development Process a) Software Process b) Development Workflow c) Screen Design, Screen Maps, and Wireframes


Syllabus