We may earn an affiliate commission when you visit our partners.
Course image
Dr. Jerry Roth, Dr. Julie L. Johnson, Michael Walker, and Dr. Douglas C. Schmidt

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.

Read more

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.

Enroll now

Two deals to help you save

We found two deals and offers that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Module 1: MOOC Overview
Module 1 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.
Read more
Module 2: Introduction to Android Studio
Module 2 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
Module 3 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.
Module 4: Control Flow
Module 4 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
Module 5 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.
Module 6: Classes and Interfaces
Module 6 covers Java classes and interfaces, focusing on data types, fields, methods, generic parameters, and exceptions.
ModuIe 7: Inheritance and Polymorphism
Module 7 examines Java's inheritance and polymorphism features (e.g., extending classes and virtual methods).
Module 8: Android Calculator App Mini-Project Assignment
Module 8 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).

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Delves into core and fundamental concepts required for Java, making it especially good for complete beginners who aim to become junior Android developers
Offers a great foundation for learners who want to specialize in Android mobile app development
Covers in-demand topics such as data structures, algorithms, and UI elements, which are highly relevant to the Java development industry
Coordinated by instructors with substantial expertise in Java and Android development, bringing credibility and industry knowledge to the program
Provides hands-on practice through programming assignments, allowing learners to apply their knowledge and receive timely feedback
Requires learners to have prior programming experience, potentially limiting accessibility for complete beginners

Save this course

Save Java for Android to your list so you can find it easily later:
Save

Reviews summary

Java coding course: primer

According to students, this course is largely positive and covers Java programming from the ground up. It begins with an introduction to basic Java syntax and concepts and progresses to more advanced topics like object-oriented programming, data structures, and algorithms. Learners say the course is well-structured, with clear explanations and engaging assignments. They also appreciate the instructors' responsiveness and willingness to help. However, some students note that the course can be challenging, especially for those with no prior programming experience. Overall, learners say this course is a great resource for anyone who wants to learn Java or improve their programming skills.
Assignments are engaging and help reinforce learning.
"The course is well-structured, with clear explanations and engaging assignments."
"Learners say the course is largely positive and covers Java programming from the ground up."
Course is well-structured and easy to follow.
"The course is well-structured, with clear explanations and engaging assignments."
"It begins with an introduction to basic Java syntax and concepts and progresses to more advanced topics like object-oriented programming, data structures, and algorithms."
Instructors provide clear explanations of complex concepts.
"The course is well-structured, with clear explanations and engaging assignments."
"Learners say the course is largely positive and covers Java programming from the ground up."
Instructors are responsive and helpful.
"Learners also appreciate the instructors' responsiveness and willingness to help."
"Instructors provide clear explanations of complex concepts."
Course can be challenging, especially for beginners.
"However, some students note that the course can be challenging, especially for those with no prior programming experience."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Java for Android with these activities:
Read Head First Java
Reading Head First Java will provide you with a comprehensive understanding of Java programming concepts, complementing the material covered in the course.
Show steps
  • Obtain a copy of the book.
  • Read through the chapters and take notes.
  • Complete the practice exercises and quizzes in the book.
Review Java Programming Fundamentals
Reviewing Java programming fundamentals will help you strengthen your foundation in the language, which is essential for understanding the core concepts covered in this course.
Browse courses on Java Programming
Show steps
  • Go through online tutorials on Java syntax and data types.
  • Practice writing simple Java programs to reinforce your understanding.
Complete Java Coding Challenges on LeetCode
Completing Java coding challenges on LeetCode will help you improve your problem-solving skills and enhance your understanding of Java data structures and algorithms.
Show steps
  • Create a LeetCode account.
  • Select Java coding challenges that align with the topics covered in the course.
  • Attempt to solve the challenges on your own.
  • Review your solutions and identify areas for improvement.
One other activity
Expand to see all activities and additional details
Show all four activities
Develop a Simple Android App
Developing a simple Android app will allow you to apply the concepts you learn in the course to a hands-on project, enhancing your practical understanding of Android development.
Browse courses on Android Development
Show steps
  • Choose a simple app idea that aligns with your interests.
  • Design the user interface and create the necessary layouts.
  • Implement the app's functionality using Java and Android APIs.
  • Test your app on an Android device or emulator.
  • Publish your app to the Google Play Store (optional).

Career center

Learners who complete Java for Android will develop knowledge and skills that may be useful to these careers:
Mobile Application Developer
Mobile Application Developers specialize in developing and maintaining mobile applications for a variety of platforms, including Android, iOS, and Windows Phone. This course would be a great foundation for this role, as it would teach you the core features and classes of the Java programming language that are used in Android development. You would also learn how to apply these features to develop Android apps using common tools like Android Studio.
Android Developer
As an Android Developer, you would be responsible for developing and maintaining mobile applications for the Android operating system. This course would be a great foundation for this role, as it would teach you the core features and classes of the Java programming language that are used in Android development. You would also learn how to apply these features to develop Android apps using common tools like Android Studio. This course may also be helpful for developing apps for other platforms, such as iOS or Windows Phone.
Software Engineer
Software Engineers apply engineering principles to the design, development, deployment, and maintenance of software systems. They work across a wide range of industries, including technology, finance, healthcare, and manufacturing. This course would be helpful for Software Engineers who want to learn more about the Java programming language and how to apply it to develop Android apps. The course would also be helpful for Software Engineers who want to learn more about object-oriented programming concepts.
Web Developer
Web Developers design, develop, and maintain websites and web applications. This course may be helpful for Web Developers who want to learn more about the Java programming language and how to apply it to develop Android apps. The course may also be helpful for Web Developers who want to learn more about object-oriented programming concepts.
Data Scientist
Data Scientists use scientific methods, processes, algorithms and systems to extract knowledge and insights from data in various forms, both structured and unstructured. This course may be helpful for Data Scientists who want to learn more about the Java programming language and how to apply it to develop Android apps. The course may also be helpful for Data Scientists who want to learn more about object-oriented programming concepts.
Information Technology Specialist
Information Technology Specialists design, implement, and maintain computer systems and networks. They work in a variety of industries, including technology, finance, healthcare, and manufacturing. This course may be helpful for Information Technology Specialists who want to learn more about the Java programming language and how to apply it to develop Android apps. The course may also be helpful for Information Technology Specialists who want to learn more about object-oriented programming concepts.
Systems Analyst
Systems Analysts design, develop, and implement computer systems and applications. They work in a variety of industries, including technology, finance, healthcare, and manufacturing. This course may be helpful for Systems Analysts who want to learn more about the Java programming language and how to apply it to develop Android apps. The course may also be helpful for Systems Analysts who want to learn more about object-oriented programming concepts.
Quality Assurance Analyst
Quality Assurance Analysts test and evaluate software systems and applications to ensure that they meet quality standards. They work in a variety of industries, including technology, finance, healthcare, and manufacturing. This course may be helpful for Quality Assurance Analysts who want to learn more about the Java programming language and how to apply it to develop Android apps. The course may also be helpful for Quality Assurance Analysts who want to learn more about object-oriented programming concepts.
Computer Scientist
Computer Scientists research and develop new computing technologies and applications. They work in a variety of fields, including artificial intelligence, computer graphics, and software engineering. This course may be helpful for Computer Scientists who want to learn more about the Java programming language and how to apply it to develop Android apps. The course may also be helpful for Computer Scientists who want to learn more about object-oriented programming concepts.
Database Administrator
Database Administrators design, implement, and maintain databases. They work in a variety of industries, including technology, finance, healthcare, and manufacturing. This course may be helpful for Database Administrators who want to learn more about the Java programming language and how to apply it to develop Android apps. The course may also be helpful for Database Administrators who want to learn more about object-oriented programming concepts.
Technical Writer
Technical Writers create and maintain technical documentation, such as user manuals, white papers, and training materials. This course may be helpful for Technical Writers who want to learn more about the Java programming language and how to apply it to develop Android apps. The course may also be helpful for Technical Writers who want to learn more about object-oriented programming concepts.
Data Analyst
Data Analysts collect, clean, and analyze data to identify trends and patterns. They work in a variety of industries, including technology, finance, healthcare, and manufacturing. This course may be helpful for Data Analysts who want to learn more about the Java programming language and how to apply it to develop Android apps. The course may also be helpful for Data Analysts who want to learn more about object-oriented programming concepts.
Salesforce Developer
Salesforce Developers design, develop, and implement Salesforce applications. They work with clients to understand their business needs and develop solutions that meet those needs. This course may be helpful for Salesforce Developers who want to learn more about the Java programming language and how to apply it to develop Android apps. The course may also be helpful for Salesforce Developers who want to learn more about object-oriented programming concepts.
Business Analyst
Business Analysts identify and analyze business needs and develop solutions to improve business processes. They work in a variety of industries, including technology, finance, healthcare, and manufacturing. This course may be helpful for Business Analysts who want to learn more about the Java programming language and how to apply it to develop Android apps. The course may also be helpful for Business Analysts who want to learn more about object-oriented programming concepts.
Project Manager
Project Managers plan, execute, and close projects. They work in a variety of industries, including technology, finance, healthcare, and manufacturing. This course may be helpful for Project Managers who want to learn more about the Java programming language and how to apply it to develop Android apps. The course may also be helpful for Project Managers who want to learn more about object-oriented programming concepts.

Reading list

We've selected 22 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Java for Android.
Classic in the field of computer science. It provides a comprehensive overview of the field, and valuable resource for any computer scientist.
Classic in the field of algorithms. It provides a comprehensive overview of the field, and valuable resource for any computer scientist.
A comprehensive reference book that covers all aspects of the Java programming language, including the Java Virtual Machine, object-oriented programming, and concurrency. It good resource for students who want to learn more about the Java language in depth.
Comprehensive guide to Android development using Java. It covers everything from the basics of Android programming to advanced topics such as multithreading and networking.
The official Java language specification. It good resource for students who want to learn the Java language in detail.
Provides a comprehensive overview of Java, including its syntax, object-oriented programming concepts, and common libraries. It great resource for beginners who want to learn Java from scratch.
Provides a comprehensive overview of concurrency in Java. It covers topics such as thread synchronization, lock-free programming, and concurrent data structures.
Provides a comprehensive overview of the Java programming language, covering both the basics and more advanced concepts. It is written in a clear and concise style, and great resource for both beginners and experienced programmers alike.
Comprehensive guide to Android programming. It covers everything from the basics of Android development to more advanced topics such as networking and security.
Must-read for any software developer who wants to write clean, maintainable code. It provides a set of principles and best practices for writing code that is easy to read, understand, and change.
A book that introduces design patterns and how to use them in Java code. It good resource for students who want to learn how to write reusable and maintainable code.
A book that covers Android Studio and how to use it to develop Android apps. It good resource for students who want to learn how to use Android Studio efficiently.
Provides a comprehensive overview of Android user interface design. It covers topics such as designing for different screen sizes, creating effective navigation, and using material design.
An online textbook that covers the basics of the Java programming language. It good resource for students who want to learn Java from scratch.
Collection of 78 best practices for writing Java code. It valuable resource for any Java programmer, and is especially helpful for those who want to improve their code quality.
Great introduction to Android programming with Kotlin. It covers the basics of Android development, as well as more advanced topics such as data binding and RxJava.
Provides a comprehensive overview of Kotlin. It covers everything from the basics of Kotlin syntax to advanced topics such as coroutines and reactive programming.
Provides a comprehensive overview of Android development. It covers everything from the basics of Android programming to advanced topics such as multithreading and networking.
Provides a comprehensive overview of Android development for beginners. It covers everything from the basics of Android programming to advanced topics such as multithreading and networking.
Comprehensive reference guide to the Java programming language. It covers everything from the basics of Java syntax to advanced topics such as concurrency and security.
Provides a comprehensive overview of Android Studio 3.0, the official IDE for Android development. It covers everything from the basics of Android Studio to more advanced topics such as debugging and performance optimization.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Java for Android.
Core Java - Multithreading and Classes
Most relevant
Android App Components - Intents, Activities, and...
Most relevant
Functional Programming with Java and Threads
Most relevant
Switch to Kotlin from Java for Android Development
Most relevant
Android Basics: User Input
Most relevant
Working with Classes and Interfaces in Java 11
Most relevant
Getting Started with Kotlin
Most relevant
Kotlin for Beginners: Learn Programming With Kotlin
Most relevant
Kotlin for Android Developers
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser