- Level Foundation
- Duration 39 hours
- Course by Vanderbilt University
-
Offered by
About
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.Modules
Overview of the Java for Android MOOC
1
Videos
- Overview of Java for Android MOOC
1
Readings
- Responses to Frequently Asked Questions (FAQ) and PDF Versions of Slides
Module 1 Introduction
1
Videos
- Module 1: Overview
MOOC Contents, Organization, and Learning Strategies
1
Videos
- MOOC Contents, Organization, and Learning Strategies
Overview of the Java Programming Language
2
Videos
- Overview of the Java Programming Language (Part 1)
- Overview of the Java Programming Language (Part 2)
Module 1 Summary
1
Videos
- Overview Summary
Module 1 Quiz
1
Assignment
- Module 1 Quiz
Module 2 Introduction
1
Videos
- Module 2 Introduction
Installing Java and Android Studio
1
Videos
- Installing Android Studio
1
Readings
- IMPORTANT Installation Note
Opening Projects
2
Videos
- Opening Provided Assignment Projects
- Creating and Importing Projects
1
Readings
- Notes on Creating & Importing Projects
Introducing the Editor
1
Videos
- Introducing the Editor
Project File Organization
1
Videos
- Project File Organization
Creating and Editing Files
1
Videos
- Creating and Editing Source Code and Resource Files
Creating and Running a Virtual Device
1
Videos
- Creating and Running a Virtual Device
1
Readings
- IMPORTANT:: Notes on creating an Android Virtual Device
Debugging, Syntax Highlighting, and Logcat
3
Videos
- Debugging Syntax Errors
- Logging with Logcat
- TODO Statements
Self Assessment & Auto-Grading
2
Videos
- Running Your Code & Self Assessment Via Unit Tests
- Submitting Your Code to the Auto-Grader
Module 2 Summary
1
Videos
- Module 2 Summary
Module 2 Quiz
1
Assignment
- Module 2 Quiz
Module 3 Introduction
2
Videos
- Module Introduction
- Main Components in a Computing System
1
Readings
- Slide deck
Variables and types
2
Videos
- Variables and Types
- Expressions
1
Readings
- Slide deck
Fundamental components
3
Videos
- Printing data
- The Math Class
- The String Class
4
Readings
- Printing slide deck
- Note on Printing Data: out vs. mOut
- Math slide deck
- String slide deck
Creating and calling (static) methods
2
Videos
- Methods
- Module Conclusion
1
Readings
- Slide deck
Module 3 Quiz
1
Assignment
- Module 3 Quiz
Programming Assignment
- Geometry Calculations - Auto Graded
Introduction to control flow
1
Videos
- Introduction to Control Flow
Conditional statements: if/else
1
Assignment
- Module 4 practice quiz on IF statements
3
Videos
- If-statement Part 1
- If-statement Part 2
- If-statement Code Walkthrough
4
Readings
- If-statement L1 slide deck
- If-Statement L2 slide deck
- If-statement Code Walkthrough: Code Copy
- If-statement Code Walkthrough: Slide Deck
Counting loops: for loops
1
Assignment
- Module 4 quiz on FOR loops
4
Videos
- For-loops Part 1
- For-loops Part 2
- For-loops Part 3
- For-loops Code Walkthrough
4
Readings
- Part 1 slide deck
- Part 2 slide deck
- Part 3 slide deck
- Code walkthrough slide deck
Indefinite loops: while loops and do-while loops
1
Assignment
- Module 4 practice quiz on indefinite loops
1
Videos
- Indefinite loops
1
Readings
- Indefinite loop slide deck
Random numbers
1
Videos
- Random number generation
1
Readings
- Slide deck
Programming assignment
- Drawing ASCII Art - Auto Graded
1
Peer Review
- Drawing ASCII Art - Peer Review Portion
Module Summary
1
Videos
- Module Summary
Introduction to common structured data
1
Videos
- Structured Data
1
Readings
- Slide deck
Built-in arrays
3
Videos
- Arrays: Part 1
- Arrays: Part 2
- Arrays: Part 3
3
Readings
- Part 1 slide deck
- Part 2 slide deck
- Part 3 slide deck
For-each loops
1
Videos
- The for-each loop
1
Readings
- Slide deck
Introduction to the Java Collections Framework
2
Videos
- The Collections Framework: Part 1
- The Collections Framework: Part 2
2
Readings
- Part 1 slide deck
- Part 2 slide deck
ArrayLists
1
Videos
- ArrayLists
1
Readings
- Slide deck
HashMaps
1
Videos
- HashMaps
1
Readings
- Slide deck
Structured Data WrapUp
1
Videos
- Structured Data WrapUp
Programming assignment with structured data
- The Birthday Problem - Auto Graded
1
Assignment
- Module 5 Quiz
An overview of the module
1
Videos
- Java: Classes and Objects, an overview
Object Oriented Programming concepts
1
Assignment
- Module 6 quiz on Object Oriented Programing concepts
1
Videos
- Motivating Classes and Objects
1
Readings
- Slide deck
Constructing your own class
1
Videos
- Building your own Classes and Objects
2
Readings
- Slide deck
- Example files: Account
Refining your class file by applying principles of OOP
1
Assignment
- Module 6 quiz on methods and classes
1
Videos
- Refining your Classes: Part 1
1
Readings
- Slide deck
Overriding methods to improve your class; making code more readable
1
Videos
- Refining your Classes: Part 2
1
Readings
- Slide deck
Using new objects in old places - arrays and parameter passing
1
Assignment
- Module 6 quiz on arrays and parameters
1
Videos
- New Objects in Old Places
1
Readings
- Slide deck
Java Generics
1
Videos
- Overview of Java Generics
1
Readings
- Slide deck
Programming Assignment: Gate class
- Building your own class part 1 - Auto Graded
1
Peer Review
- Gate.java
Programming Assigment: Client Files
- Building your own Classes part 2 - Auto Graded
2
Peer Review
- HerdManager.java
- FillTheCorral.java
An Overview of the Module
1
Videos
- Class Hierarchy and Interfaces: Overview
Introduction to Inheritance
1
Videos
- Class Hierarchy and Interfaces
1
Readings
- Slide deck
Continuing with class inheritance
2
Assignment
- Module 7 quiz on inheritance
- Module 7 quiz on code "dissection"
4
Videos
- Inheritance at Work
- Polymorphism
- Java Interfaces
- Advanced Class Interface features
5
Readings
- Slide deck: Inheritance at Work
- Slide deck: Polymorphism
- Slide deck: Java Interfaces
- Self-Assessment quiz code
- Slide deck: Advanced Class Interface Features
Exception Handling
1
Videos
- Exception Handling
1
Readings
- Slide deck
Programming assignment: Inheritance
- Inheritance and Polymorphism Assignment - Auto Graded
1
Peer Review
- Inheritance and Polymorphism Assignment - Peer Review
The Calculator App Mini-Project Assignment
1
Peer Review
- Peer Review: Mini-Project: Calculator App
2
Videos
- Overview of the Calculator App Mini-Project Assignment
- Mini-Project Assignment Walkthrough
Auto Summary
"Java for Android" is a Coursera course designed to teach core Java programming features essential for Android app development. Perfect for IT and Computer Science enthusiasts, this foundational course covers execution control, data access, class and interface grouping, and inheritance. Taught by experts, it includes hands-on projects, video lectures, quizzes, and programming assignments, requiring 4-6 hours per week over a 2340-minute duration. Subscription options include Starter, Professional, and Paid. Ideal for aspiring Android developers looking to enhance their Java skills.

Dr. Jerry Roth

Dr. Julie L. Johnson

Michael Walker

Dr. Douglas C. Schmidt