About this Specialization
100% online courses

100% online courses

Start instantly and learn at your own schedule.
Flexible Schedule

Flexible Schedule

Set and maintain flexible deadlines.
Beginner Level

Beginner Level

Hours to complete

Approx. 4 months to complete

Suggested 6 hours/week
Available languages

English

Subtitles: English...

Skills you will gain

Software TestingAndroid Software DevelopmentJava ProgrammingJunit
100% online courses

100% online courses

Start instantly and learn at your own schedule.
Flexible Schedule

Flexible Schedule

Set and maintain flexible deadlines.
Beginner Level

Beginner Level

Hours to complete

Approx. 4 months to complete

Suggested 6 hours/week
Available languages

English

Subtitles: English...

How the Specialization Works

Take Courses

A Coursera Specialization is a series of courses that helps you master a skill. To begin, enroll in the Specialization directly, or review its courses and choose the one you'd like to start with. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. It’s okay to complete just one course — you can pause your learning or end your subscription at any time. Visit your learner dashboard to track your course enrollments and your progress.

Hands-on Project

Every Specialization includes a hands-on project. You'll need to successfully finish the project(s) to complete the Specialization and earn your certificate. If the Specialization includes a separate course for the hands-on project, you'll need to finish each of the other courses before you can start it.

Earn a Certificate

When you finish every course and complete the hands-on project, you'll earn a Certificate that you can share with prospective employers and your professional network.

how it works

There are 5 Courses in this Specialization

Course1

Java for Android

4.5
925 ratings
249 reviews
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....
Course2

Android App Components - Intents, Activities, and Broadcast Receivers

4.1
269 ratings
72 reviews
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....
Course3

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

4.3
147 ratings
33 reviews
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....
Course4

Engineering Maintainable Android Apps

4.4
110 ratings
29 reviews
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....

Instructors

Avatar

Dr. C. Jules White

Assistant Professor of Computer Science
Electrical Engineering and Computer Science
Avatar

Dr. Julie L. Johnson

Instructor
EECS
Avatar

Michael Walker

Instructor - Graduate Student pursuing PhD in Computer Science
EECS
Avatar

Dr. Douglas C. Schmidt

Professor of Computer Science and Associate Chair of the Computer Science and Engineering Program
Electrical Engineering and Computer Science
Avatar

Dr. Jerry Roth

Professor of the Practice
Electrical Engineering and Computer Science

About Vanderbilt University

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

Frequently Asked Questions

  • Yes! To get started, click the course card that interests you and enroll. You can enroll and complete the course to earn a shareable certificate, or you can audit it to view the course materials for free. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. Visit your learner dashboard to track your progress.

  • This course is completely online, so there’s no need to show up to a classroom in person. You can access your lectures, readings and assignments anytime and anywhere via the web or your mobile device.

  • This Specialization doesn't carry university credit, but some universities may choose to accept Specialization Certificates for credit. Check with your institution to learn more.

  • Time to completion can vary based on your schedule, but most learners are able to complete the Specialization in 6 months.

  • Each course in the Specialization is offered on a regular schedule, with sessions starting about once per month. If you don't complete a course on the first try, you can easily transfer to the next session, and your completed work and grades will carry over.

  • This specialization is intended for beginners to programming or those switching to Java and/or Android for the first time. Besides a basic background in using computers no specific knowledge is required.

  • We recommend taking the courses in the order presented, as each subsequent course will build on material from previous courses.

  • Upon completing this Specialization you will be able 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.

    You will also be fluent with standard Android Studio development tools, such as the debugger, resource editor, & logging mechanisms. Likewise, you will be fluent with popular source code versioning & unit testing tools.

More questions? Visit the Learner Help Center.