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

Cybersecurity Awareness and Innovation (Coursera) Coursera
EIT Digital

Cybersecurity Awareness and Innovation (Coursera)

It’s not you, it’s me! What’s going on? This course empowers students, professionals and wider community to deal with cybersecurity attacks and risks focused on identity management and it is an introduction to the upcoming full course focused on cybersecurity awareness. It is provided a practical overview of challenging issues like identity credentials management and security, e-mail threats and web impersonation, or web hacking.

Sep 28th 2026
5-12 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.

Sep 28th 2026
5-12 Weeks
Learn CSS Variables (Coursera) Coursera
Scrimba

Learn CSS Variables (Coursera)

CSS Custom Properties represent a significant advancement for front-end developers, introducing the concept of variables to CSS. This innovation substantially reduces redundancy, enhances code legibility, and augments overall flexibility. Notably, CSS Variables distinguish themselves from their CSS preprocessor counterparts by seamlessly integrating into the Document Object Model (DOM), offering a plethora of advantages.

Sep 28th 2026
1 Week
Agile Planning for Software Products (Coursera) Coursera
University of Alberta

Agile Planning for Software Products (Coursera)

This course covers the techniques required to break down and map requirements into plans that will ultimately drive software production. Upon successful completion of this course, you will be able to: create effective plans for software development; map user requirements to developer tasks; assess and plan for project risks; apply velocity-driven planning techniques; generate work estimates for software products.

Sep 28th 2026
4 Weeks
The Cybersecurity Culture Blueprint: A Proactive Approach (Coursera) Coursera
LearnQuest

The Cybersecurity Culture Blueprint: A Proactive Approach (Coursera)

In today's rapidly evolving digital landscape, the importance of cybersecurity cannot be overstated. Threats to organizations, both large and small, are on the rise, and the consequences of security breaches can be devastating. It's no longer enough to rely solely on technical solutions; a resilient cybersecurity culture is essential.

Sep 28th 2026
4 Weeks
Ethics, Technology and Engineering (Coursera) Coursera
Eindhoven University of Technology

Ethics, Technology and Engineering (Coursera)

There is an increasing attention to ethics in engineering practice. Engineers are supposed not only to carry out their work competently and skilfully, but also to be aware of the broader ethical and social implications of engineering and to be able to reflect on these. According to the Engineering Criteria 2000 of the Accreditation Board for Engineering and Technology (ABET) in the US, engineers must have “an understanding of professional and ethical responsibility” and should "understand the impact of engineering solutions in a global and societal context.”

Sep 28th 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.

Sep 28th 2026
5-12 Weeks
Materials Science: 10 Things Every Engineer Should Know (Coursera) Coursera
University of California, Davis

Materials Science: 10 Things Every Engineer Should Know (Coursera)

We explore “10 things” that range from the menu of materials available to engineers in their profession to the many mechanical and electrical properties of materials important to their use in various engineering fields. We also discuss the principles behind the manufacturing of those materials. By the end of the course, you will be able to: recognize the important aspects of the materials used in modern engineering applications; explain the underlying principle of materials science: “structure leads to properties,”; identify the role of thermally activated processes in many of these important “things” – as illustrated by the Arrhenius relationship; relate each of these topics to issues that have arisen (or potentially could arise) in your life and work.

Sep 28th 2026
5-12 Weeks
Blockchain Security (Coursera) Coursera
Infosec

Blockchain Security (Coursera)

This course introduces blockchain security, including a description of how the blockchain works at each level of the blockchain ecosystem. The instructor begins with the building blocks that create the structure of blockchain, the cryptography that it uses for security, and the role of hash functions in the blockchain and how they can be attacked. In the next module, the instructor describes what blockchain consensus is, why it’s needed, its underlying theory (Byzantine Fault Tolerance and Security via Scarcity), some of the common consensus algorithms, and the security issues inherent to each variant.

Sep 28th 2026
5-12 Weeks
5G Network Fundamentals (Coursera) Coursera
Institut Mines-Telecom

5G Network Fundamentals (Coursera)

This MOOC presents the services and the architecture of 5G networks, the main principles of the new radio interface (NR), data flow management, security and the new Service-Based Architecture (SBA). In recent years, operators have been deploying 5G technology on commercial mobile networks. The latter is announced as a major technological breakthrough with speeds beyond Gbit/s, very low latencies and above all a distribution in many sectors of activity (industry, transport, medicine, etc.).

Sep 28th 2026
5-12 Weeks
Sistemas Digitales: De las puertas lógicas al procesador (Coursera) Coursera
Universitat Autònoma de Barcelona

Sistemas Digitales: De las puertas lógicas al procesador (Coursera)

En este curso aprenderemos los fundamentos del diseño de los circuitos digitales actuales, siguiendo una orientación eminentemente práctica. A diferencia de otros cursos más "clásicos" de Circuitos Digitales, nuestro interés se centrará más en el Sistema que en la Electrónica que lo sustenta. Este enfoque nos permitirá sentar las bases del diseño de Sistemas Digitales complejos.

Sep 28th 2026
5-12 Weeks
Avatar Psychology for Designers (Coursera) Coursera
Michigan State University

Avatar Psychology for Designers (Coursera)

This course covers the latest and greatest psychological research on avatars and is relevant to current and future designers of any medium that includes user self-representations (e.g., video games, virtual worlds, robots, automobiles, social media, etc.). By taking this course, you will be able to define digital and non-digital avatars and identify how they are applicable in everyday life.

Sep 28th 2026
4 Weeks