Android App Development
Embark on your journey to building a career in Android App Development. Masterthe requisite expertise indeveloping maintainable mobile computing apps.
Approx. 4 months to complete
About this Specialization
Individuals pursuing this specialization will be equipped the skills necessary to apply core features of Java programming language in addition to the software patterns used in the development of maintainable mobile applications. These applications include key components of Android, fundamental Java I/O and persistence mechanisms.
Through its capstone project, students will have the opportunity to put to practice the specialized skills and knowledge acquired throughout the program by developing an interesting app based on the Android platform. Among the skills to be leveraged in this capstone project include features of Java programming, Android Studio tools, Android Activity components, Material Design, file I/O and data persistence, unit testing, and software patterns. While the project’s design objectives will be, to a great extent, similar to those of earlier assignments, it will entail less of the skeleton code as compared to the MOOCs provided earlier, and is therefore designed to enhance learners’ creativity as it will give them greater latitude to customize the app.
How the Specialization Works
By definition, a Coursera Specialization refers to a concatenation of courses designed to foster a student’s ability to master a given skill or set of skills. To kick you off, you need to enroll directly in the Specialization, critically review the available courses and select the one with which you would like to begin. Note that subscribing to a course that is part of a Specialization automatically makes you a subscriber of the full Specialization. However, given its flexibility, you are allowed to complete a single course, pause your studies or terminate your subscription at any given time. You can track your enrollment or progress in a course by visiting the learner dashboard.
Integrated in every Specialization is a must-do hands-on project. To complete a Specialization and gain the requisite certification, you must successfully finish the assigned project(s). In the event that a Specialization features a separate hands-on project course, then you must complete all the other courses before embarking on the project.
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.
There are 5 Courses in this Specialization
Java for Android
In this MOOC, you will learn how to program the different Java programming language features and classes often used in Android, the latter being the dominant platform used in the development and deployment of applications intended for mobile devices. Specifically, covered in this MOOC are the essential features of Java programming language responsible for controlling an app’s flow of execution (such as the different looping constructs and conditional statements that characterize Java), those that make it possible for an app to access structured data (such as Java’s built-in arrays and common classes in the Java Collections Framework, such as ArrayList and HashMap), those responsible for executing group related operations and classifying/segregating data into classes and interfaces (such as Java’s primitive and user-defined types, fields, methods, generic parameters, and exceptions), the use of inheritance and polymorphism to customize the behavior of existing classes(such as subclassing and overriding virtual methods). The program teaches learners how to apply the said Java features within the context of core Android components (such as Activities and basic UI elements) using common tools (such as Android Studio) integral to the process of developing Java programs and useful Android apps.The MOOC is punctuated with numerous hands-on projects that learners will have to complete, i.e., weekly tasks that may require learners to prepare solution to an array or programming assignments designed to enhance their mastery of the course material. The program outline sets aside about 4-6 hours every week for student engagement, including video lectures, quizzes, and programming assignments.
Android App Components – Intents, Activities, and Broadcast Receivers
This is a 4-week MOOC that is an extension of the overview course on Java and Android tackled in the first course and gives the student the chance to conduct a deeper exploration of the key components of Android applications, among them being intents, activities, and broadcast receivers. It uses different examples to show students how to use Android concurrency programs, how to program the core components of Androids, and the basic Java file I/O classes (such as File and InputStream) as well as Android storage mechanisms (such as Shared Preferences).You will also acquire skills and knowledge pertaining to the use of Git source code management system. The course will allow you to work on an incremental project that involves downloading, storage, and the process of displaying images from remote websites. Precisely, each week will see you enhance the project’s capabilities based on the concepts covered in the week’s lecture videos. Note that every week, watching video lectures, completing quizzes and executing the week’s Java and Android programming assignments may take you up to 4 hours.
Android App Components – Services, Local IPC, and Content Providers
This MOOC is a four-week course that builds upon the concepts covered in Course II, namely the core components of Android apps and the concurrency framework. It focuses on, among others, started and bound services, local inter-process communication (IPC), as well as content providers. Throughout the program, you will have the opportunity to leverage multiple perspectives in examining the said app components using Android’s material design paradigm. It features a hands-on project that entails a material design-based RSS reader app on which students will incrementally work. Each week, you will draw from the concepts learnt from the lecture videos to enhance the project’s capabilities. Note that it may take you up to four hours a week watching the lecture videos, completing quizzes and preparing the Android and Java programming assignments of the week.
Engineering Maintainable Android Apps
This Engineering Maintainable Android Apps course lasts four weeks and uses examples to demonstrate the different methods used in engineering maintainable Android apps, among them being test-driven development methods, the best approach to use to develop/run unit tests using JUnit and Robotium (or equivalent automated testing frameworks for Android), as well as the best approach to applying some of the common Java/Android software patterns designed to improve the app’s extensibility and clarity.The course feature automated unit quizzes that students will have to complete based on the concepts learnt from the lecture videos. The goal is to expose learners to the benefits of good software engineering practices, especially those designed to create maintainable code for mobile apps. Also, students will have between 3-4 hours a week for engagement time, which includes the time for quizzes and video lectures. The course modules are ordered in such a way that makes them flexible, that is, there is no strict order with which a student can watch the videos, hence one can comfortably decide to watch the unit testing videos before watching the one on software pattern should they want to learn more about pretesting before moving onto the other parts.
Capstone for “Android App Development”
This capstone project is designed to integrate the concepts, knowledge and skills learnt from the course material associated with the Android App Development Specialization. It seeks to assess and practically sharpen the learner’s ability to design and develop an interesting app on the Android platform. Specifically, it will give the learners the opportunity to demonstrate the knowledge and skills acquired from previous MOOCs that make up this Specialization, among them, Java programming features; Android activity, broadcast receiver, service, and content provider (plus SQLite) components; and unit, integration, and user interface testing.While the project has extensive similarity in scope with the assignment previously completed in MOOCs taken earlier in the Specialization, it is specifically designed to enable students demonstrate their creative ability to design and develop a customized Android App.