Engineering Maintainable Android Apps (Coursera)

Offered by Vanderbilt University,
Engineering Maintainable Android Apps (Coursera)

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.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Students will work incrementally on a hands-on project that systematically adds pattern-oriented enhancements to the app they developed in MOOC #3, along with the appropriate automated unit tests, i.e., each week they will add new functional and unit testing capabilities to their app project, 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, quizzes, and programming assignments. 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.

Course 4 of 5 in the Android App Development Specialization.

Syllabus

WEEK 1
MOOC Overview
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.
Software Engineering & Testing I

WEEK 2
Software Engineering & Testing II

WEEK 3
Security & Sustainability I

WEEK 4
Security & Sustainability II
This module provides an introduction to Unit Testing using the Junit 4.0 Framework in Android, as well as an introduction to Testing Frameworks using the Robotium open-source test framework for writing graybox testing cases to automate the testing of multi-Activity Android apps.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Introduction to HTML5 (Coursera) Coursera
University of Michigan

Introduction to HTML5 (Coursera)

Thanks to a growing number of software programs, it seems as if anyone can make a webpage. But what if you actually want to understand how the page was created? There are great textbooks and online resources for learning web design, but most of those resources require some background knowledge. This course is designed to help the novice who wants to gain confidence and knowledge. We will explore the theory (what actually happens when you click on a link on a webpage?), the practical (what do I need to know to make my own page?), and the overlooked (I have a page, what do I do now?).

Jul 6th 2026
3 Weeks
Client Needs and Software Requirements (Coursera) Coursera
University of Alberta

Client Needs and Software Requirements (Coursera)

This course covers practical techniques to elicit and express software requirements from client interactions. Upon successful completion of this course, you will be able to: Create clear requirements to drive effective software development; visualize client needs using low-fidelity prototypes; maximize the effectiveness of client interactions - adapt to changing product requirements.

Jul 6th 2026
4 Weeks
Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera) Coursera
University of Maryland, College Park

Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera)

This course introduces you to the design and implementation of Android applications for mobile devices. You will build upon concepts from the prior course, including handling notifications, using multimedia and graphics and incorporating touch and gestures into your apps.

Jul 6th 2026
5-12 Weeks
Software Architecture for the Internet of Things (Coursera) Coursera
EIT Digital

Software Architecture for the Internet of Things (Coursera)

This course will teach you how to design futureproof systems that meet the requirements of IoT systems: systems that are secure, interoperable, modifiable and scalable. Moreover, you'll learn to apply best-in-class software architecture methods to help you design complex IoT and other applications. Lastly, you'll come to understand the business impact of the technical decisions that you make as an IoT system architect.

Jul 6th 2026
5-12 Weeks
Desarrollo de aplicaciones avanzadas con Android (Coursera) Coursera
Universidad Nacional Autónoma de México

Desarrollo de aplicaciones avanzadas con Android (Coursera)

En este curso se retoman los temas vistos en cursos anteriores. Se complementan con aspectos prácticos como la forma de implementar mapas en tus proyectos con el API de Google Maps. También, muestra cómo aprovechar el multitask de Android y hacer animaciones en 2D para llevar tus aplicaciones a más dispositivos como weareables, televisiones y autos.

Jul 6th 2026
5-12 Weeks
Build Your First Android App (Project-Centered Course) (Coursera) Coursera
CentraleSupélec

Build Your First Android App (Project-Centered Course) (Coursera)

In this project-centered course, you’ll design, build, and distribute your own unique application for the Android mobile platform. We’ll provide you with a set of customizable building blocks that you can assemble to create many different types of apps, and that will help you become familiar with many important specificities of Android development. When you complete the project, in addition to having a personalized app that you can use and share, you’ll have the skills and background you need to move on to more advanced coursework in Android development.

Jul 6th 2026
4 Weeks
Games, Sensors and Media (Coursera) Coursera
University of California, Irvine

Games, Sensors and Media (Coursera)

You will learn to make fluid digital interactive experiences that are suitable for gaming and use the advanced sensor hardware built into the iPhone and iPad. This includes drawing 2D graphics, playing sounds and music, integrating with Game Center, the iOS physics engine and detecting device orientation and location.

Jul 6th 2026
4 Weeks
Code Yourself! An Introduction to Programming (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

Code Yourself! An Introduction to Programming (Coursera)

Have you ever wished you knew how to program, but had no idea where to start from? This course will teach you how to program in Scratch, an easy to use visual programming language. More importantly, it will introduce you to the fundamental principles of computing and it will help you think like a software engineer.

Jul 6th 2026
5-12 Weeks
Foundations of Objective-C App Development (Coursera) Coursera
University of California, Irvine

Foundations of Objective-C App Development (Coursera)

An introduction to the Objective-C programming language. This will prepare you for more extensive iOS app development and build a foundation for advanced iOS development topics. Objective-C programming requires a Mac laptop or desktop computer. An iOS device is optional if the learner is willing to working exclusively with the simulator. Some learners have been able to work with an OS X virtual machine on Windows, but explaining how to do that is beyond the scope of this course.

Jul 6th 2026
4 Weeks