Java for Android (Coursera)

Offered by Vanderbilt University,
Java for Android (Coursera)

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).

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

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.
Course 1 of 5 in the Android App Development Specialization

Syllabus

WEEK 1
Module 1: MOOC Overview
Summarizes the organization of the MOOC and the topics it covers. It also discusses the MOOC prerequisites, workload, and learning strategies needed to complete the MOOC successfully. It then presents an overview of key features in the Java language, outlining its support for object-oriented programming concepts that guide the development of Android apps.
Module 2: Introduction to Android Studio
Provides an overview of Android Studio, explaining how to install it and apply it to develop a simple app using basic Java and Android features presented in this MOOC.
Module 3: Writing a Simple Android App Using Basic Java Features
Shows how to write a simple Android app that defines variables using primitive Java data types, shows how to assign values to those variables, and output them to the Android display using Java classes and methods.

WEEK 2
Module 4: Control Flow
Covers Java’s looping constructs (e.g., for loops, while loops, and do/while loops), as well as its conditional statements (e.g., if/else statements).
Module 5: Structured Data
Provides more detail on common data structures supported by Java, including built-in arrays, as well as core classes in the Java Collections Framework, such as ArrayList and HashMap.

WEEK 3
Module 6: Classes and Interfaces
Covers Java classes and interfaces, focusing on data types, fields, methods, generic parameters, and exceptions.
ModuIe 7: Inheritance and Polymorphism
Examines Java's inheritance and polymorphism features (e.g., extending classes and virtual methods).

WEEK 4
Module 8: Android Calculator App Mini-Project Assignment
Guides learners through the creation of an Android app that implements a simple calculator, which provides features for adding, subtracting, multiplying, and dividing numbers input by various means (e.g., via numbers and buttons on the Android user interface).

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

Related Courses

Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

Nov 2nd 2026
4 Weeks
Introduction to Genetics and Evolution (Coursera) Coursera
Duke University

Introduction to Genetics and Evolution (Coursera)

Introduction to Genetics and Evolution is a college-level class being offered simultaneously to new students at Duke University. The course gives interested people a very basic overview of some principles behind these very fundamental areas of biology. We often hear about new "genome sequences," commercial kits that can tell you about your ancestry (including pre-human) from your DNA or disease predispositions, debates about the truth of evolution, why animals behave the way they do, and how people found "genetic evidence for natural selection." This course provides the basic biology you need to understand all of these issues better, tries to clarify some misconceptions, and tries to prepare students for future, more advanced coursework in Biology (and especially evolutionary genetics). No prior coursework is assumed.

Oct 26th 2026
5-12 Weeks
Computer Science: Algorithms, Theory, and Machines (Coursera) Coursera
Princeton University

Computer Science: Algorithms, Theory, and Machines (Coursera)

This course introduces the broader discipline of computer science to people having basic familiarity with Java programming. It covers the second half of our book Computer Science: An Interdisciplinary Approach (the first half is covered in our Coursera course Computer Science: Programming with a Purpose, to be released in the fall of 2018). Our intent is to demystify computation and to build awareness about the substantial intellectual underpinnings and rich history of the field of computer science.

Nov 2nd 2026
5-12 Weeks
IBM z/OS Rexx Programming (Coursera) Coursera
IBM

IBM z/OS Rexx Programming (Coursera)

This course is designed to teach you the basic skills required to write programs using the REXX language in z/OS. The course covers the TSO extensions to REXX and interaction with other environments such as the MVS console, running REXX in batch jobs, and compiling REXX. A total of 11 hands-on labs on an IBM Z server (via remote Skytap access) are part of this course.

Nov 2nd 2026
5-12 Weeks
Programming Languages, Part A (Coursera) Coursera
University of Washington

Programming Languages, Part A (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Nov 2nd 2026
5-12 Weeks
Foundations of Data Science: K-Means Clustering in Python (Coursera) Coursera
University of London,Goldsmiths, University of London

Foundations of Data Science: K-Means Clustering in Python (Coursera)

This MOOC, designed by an academic team from Goldsmiths, University of London, will quickly introduce you to the core concepts of Data Science to prepare you for intermediate and advanced Data Science courses. It focuses on the basic mathematics, statistics and programming skills that are necessary for typical data analysis tasks.

Nov 2nd 2026
5-12 Weeks
Programming Reactive Systems (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Programming Reactive Systems (Scala 2 version) (Coursera)

Reactive programming is a set of techniques for implementing scalable, resilient and responsive systems as per the Reactive Manifesto. Such systems are based on asynchronous message-passing, and their basic building-blocks are event handlers. This course teaches how to implement reactive systems in Scala and Akka by using high-level abstractions, such as actors, asynchronous computations, and reactive streams.

Nov 2nd 2026
5-12 Weeks
Programming Fundamentals (Coursera) Coursera
Duke University

Programming Fundamentals (Coursera)

Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields. This course is the first in the specialization Introduction to Programming in C, but its lessons extend to any language you might want to learn. This is because programming is fundamentally about figuring out how to solve a class of problems and writing the algorithm, a clear set of steps to solve any problem in its class.

Nov 2nd 2026
4 Weeks
C# for .NET Developers (Coursera) Coursera
Board Infinity

C# for .NET Developers (Coursera)

In this course you will be introduced to everything from the basics of programming concepts like variables, data types, and control structures, to more advanced topics like object-oriented programming, etc. By the end of the course, you'll have a solid understanding of C# programming, the .NET framework, and how to use them to build a variety of applications. You'll have the skills and knowledge you need to start your career as a C# developer or take your current skills to the next level.

Nov 2nd 2026
3 Weeks
Fundamentals of Materials Science (Coursera) Coursera
Shanghai Jiao Tong University

Fundamentals of Materials Science (Coursera)

Materials are the physical foundations for the development of science and technology. The human civilizations are historically designated by the evolution of materials, such as the Stone Age, the Bronze Age and the Iron Age. Nowadays, materials science and technology support most of the industrial sectors, including aerospace, telecommunications, transportation, architecture, infrastructure and so on. Fundamentals of Materials Science is a core module for undergraduates majored in materials science and engineering.

Oct 26th 2026
13-24 Weeks