Android App Development Specialization

Starts May 02

Android App Development Specialization

Launch Your Android App Development Career

Master the knowledge and skills necessary to develop maintainable mobile computing apps

About This Specialization

This Specialization enables learners to successfully apply core Java programming languages features & software patterns needed to develop maintainable mobile apps comprised of core Android components, as well as fundamental Java I/O & persistence mechanisms. Learners who successfully complete this Specialization will be well-prepared to master the more advanced material in the subsequent "Mobile Cloud Computing with Android" Specialization. The Capstone project will integrate the material from throughout the Specialization to exercise and assess the ability of learners to create an interesting Android app by applying knowledge and skills learned in previous MOOCs, including Java programming features, Android Studio tools, Android Activity components, Material Design, file I/O and data persistence, unit testing, and software patterns. The project itself will be similar in design goals to previous assignments, however it will provide less of the skeleton code than earlier MOOCs provide to enable more creativity to learners and greater opportunity for learners to customize the app.

Created by:

courses
5 courses

Follow the suggested order or choose your own.

projects
Projects

Designed to help you practice and apply the skills you learn.

certificates
Certificates

Highlight your new skills on your resume or LinkedIn.

Courses
Beginner Specialization.
No prior experience required.
  1. COURSE 1

    Java for Android

    Upcoming session: May 2 — Jun 5.
    Commitment
    4 weeks of study, 5-6 hours/week
    Subtitles
    English

    About the Course

    This MOOC teaches you how to program core features and classes from the Java programming language that are used in Android, which is the dominant platform for developing and deploying mobile device apps. In particular, this MOOC covers key Java programming language features that control the flow of execution through an app (such as Java’s various looping constructs and conditional statements), enable access to structured data (such as Java's built-in arrays and common classes in the Java Collections Framework, such as ArrayList and HashMap), group related operations and data into classes and interfaces (such as Java's primitive and user-defined types, fields, methods, generic parameters, and exceptions), customize the behavior of existing classes via inheritance and polymorphism (such as subclassing and overriding virtual methods). Learners will apply these Java features in the context of core Android components (such as Activities and basic UI elements) by applying common tools (such as Android Studio) needed to develop Java programs and useful Android apps. Learners will work on several hands-on projects throughout the MOOC, i.e., each week will require learners to write solutions to programming assignments that reinforce the material covered in the lecture videos. There will be roughly 4-6 hours of student engagement time per week, including video lectures, quizzes, and programming assignments.
  2. COURSE 2

    Android App Components - Intents, Activities, and Broadcast Receivers

    Upcoming session: May 1 — Jun 5.
    Subtitles
    English

    About the Course

    This 4 week MOOC builds upon the overview of Java and Android covered in Course 1 by delving deeper into core Android app components, such as intents, activities, and broadcast receivers. You will learn by example how to program these core Android components together with Android concurrency frameworks and basic Java file I/O classes (such as File and InputStream) and Android storage mechanisms (such as Shared Preferences). You'll also learn how to use the Git source code management system. Throughout this MOOC you'll work incrementally on a project involving downloading, storing, and display images from remote websites. Each week you will add additional capabilities to the project, based on material covered in the lecture videos. You'll spend roughly 4 hours per week watching video lectures, taking quizzes, and programming assignments with Java and Android.
  3. COURSE 3

    Android App Components - Services, Local IPC, and Content Providers

    Upcoming session: May 1 — Jun 5.
    Subtitles
    English

    About the Course

    This 4 week MOOC builds upon the core Android app components and concurrency frameworks covered in Course 2 by focusing on started and bound services, local inter-process communication (IPC), and content providers. Case study apps will be examined from multiple perspectives to learn how to program these app components using Android's material design paradigm. Students will work incrementally on a hands-on project involving a material design-based RSS reader app. Each week you will add additional capabilities to the project, based on material covered in the lecture videos. You'll spend roughly 4 hours per week watching video lectures, taking quizzes, and programming assignments with Java and Android.
  4. COURSE 4

    Engineering Maintainable Android Apps

    Upcoming session: May 8 — Jun 12.
    Subtitles
    English

    About the Course

    Engineering Maintainable Android Apps, which is a 4 week MOOC that shows by example various methods for engineering maintainable Android apps, including test-driven development methods and how to develop/run unit tests using JUnit and Robotium (or equivalent automated testing frameworks for Android), as well as how to successfully apply common Java/Android software patterns to improve the extensibility and clarity of Android apps. Students will work on the appropriate automated unit quizzes, based on the material covered in the lecture videos. These lessons will demonstrate the benefits of good software engineering practices that are targeted at creating maintainable code for mobile apps. There will be roughly 3-4 hours of student engagement time per week, including video lectures, and quizzes. The ordering of the modules within the course is designed to be flexible. In particular, students can watch the videos in whatever order suits their experience and needs, e.g., they may want to watch the unit testing videos prior to the software pattern videos if they prefer to learn about unit testing first.
  5. COURSE 5

    Capstone MOOC for "Android App Development"

    Starts May 1st, 2017
    Subtitles
    English

    About the Capstone Project

    The Capstone project will integrate material from throughout the Specialization to exercise and assess the ability of learners to create an interesting Android app by applying knowledge and skills learned in previous MOOCs, including Java programming features, Android Studio tools, Android Activity components, Material Design, file I/O and data persistence, unit testing, and software patterns. The project itself will be similar in design goals to previous assignments, however it will provide less of the skeleton code than earlier MOOCs to encourage more creativity in learners and provide greater opportunities for learners to customize the app. The Capstone project will utilize weather data obtained via concurrency and networking mechanisms, but these mechanisms will be packaged into a “black-box” library, so learners can produce an interesting working app on their own without having to master advanced topics. Naturally, these advanced topics will be covered in greater detail in the subsequent “Mobile Cloud Computing with Android” Specialization, which will encourage students to continue their exploration of Java and the Android ecosystem.

Creators

  • Vanderbilt University

    Vanderbilt University, an internationally recognized research and teaching university, provides a gateway to greatness drawing the brightest students from across the nation and around the world.

    Vanderbilt University, located in Nashville, Tenn., is a private research university and medical center offering a full-range of undergraduate, graduate and professional degrees.

  • Dr. Douglas C. Schmidt

    Dr. Douglas C. Schmidt

    Professor of Computer Science and Associate Chair of the Computer Science and Engineering Program
  • Dr. Jerry Roth

    Dr. Jerry Roth

    Associate Professor of the Practice
  • Michael Walker

    Michael Walker

    Instructor - Graduate Student pursuing PhD in Computer Science
  • Dr. C. Jules White

    Dr. C. Jules White

    Assistant Professor of Computer Science
  • Dr. Julie L. Johnson

    Dr. Julie L. Johnson

    Instructor

FAQs

More questions? Visit the Learner Help Center.