Java for Android

About this course: 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.

Who is this class for: The intended audience of learners for this MOOC includes those with basic computing skills who have little/no programming experience. This MOOC is intended both for beginners to programming or those switching to Java and/or Android for the first time.

Created by:   Vanderbilt University

  • Dr. Jerry Roth
    Taught by:    Dr. Jerry Roth, Associate Professor of the Practice
    Electrical Engineering and Computer Science

  • Dr. Julie L. Johnson
    Taught by:    Dr. Julie L. Johnson, Instructor

  • Michael Walker
    Taught by:    Michael Walker, Instructor - Graduate Student pursuing PhD in Computer Science

  • Dr. Douglas C. Schmidt
    Taught by:    Dr. Douglas C. Schmidt, Professor of Computer Science and Associate Chair of the Computer Science and Engineering Program
    Electrical Engineering and Computer Science
Basic Info
Commitment4 weeks of study, 5-6 hours/week
How To PassPass all graded assignments to complete the course.
User Ratings
Average User Rating 4.5See what learners said
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.

6 videos1 reading
  1. Video: Overview of Java for Android MOOC
  2. Reading: Responses to Frequently Asked Questions (FAQ) and PDF Versions of Slides
  3. Video: Module 1: Overview
  4. Video: MOOC Contents, Organization, and Learning Strategies
  5. Video: Overview of the Java Programming Language (Part 1)
  6. Video: Overview of the Java Programming Language (Part 2)
  7. Video: Overview Summary
Graded: Module 1 Quiz
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. 

13 videos
  1. Video: Module 2 Introduction
  2. Video: Installing Java and Android Studio
  3. Video: Creating and Importing Projects
  4. Video: Introducing the Editor
  5. Video: Project File Organization
  6. Video: Creating and Editing Source Code and Resource Files
  7. Video: Creating and Running a Virtual Device
  8. Video: Debugging Syntax Errors
  9. Video: Logging with Logcat
  10. Video: TODO Statements
  11. Video: Testing Your Code: Self Assessment Via Unit Tests
  12. Video: Making Zip File for Uploading Multiple Files At Once
  13. Video: Module 2 Summary
Graded: Module 2 Quiz
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. 

9 videos6 readings
  1. Video: Module Introduction
  2. Video: Main Components in a Computing System
  3. Reading: Slide deck
  4. Video: Variables and Types
  5. Video: Expressions
  6. Reading: Slide deck
  7. Video: Printing data
  8. Reading: Printing slide deck
  9. Video: The Math Class
  10. Reading: Math slide deck
  11. Video: The String Class
  12. Reading: String slide deck
  13. Video: Methods
  14. Reading: Slide deck
  15. Video: Module Conclusion
Graded: Module 3 Quiz
Graded: Geometry Calculations - Auto Graded
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). 

11 videos10 readings2 readings
  1. Video: Introduction to Control Flow
  2. Video: If-statement Part 1
  3. Reading: If-statement L1 slide deck
  4. Video: If-statement Part 2
  5. Reading: If-Statement L2 slide deck
  6. Video: If-statement Code Walkthrough
  7. Reading: If-statement Code Walkthrough: Code Copy
  8. Reading: If-statement Code Walkthrough: Slide Deck
  9. Practice Quiz: Module 4 practice quiz on IF statements
  10. Video: For-loops Part 1
  11. Reading: Part 1 slide deck
  12. Video: For-loops Part 2
  13. Reading: Part 2 slide deck
  14. Video: For-loops Part 3
  15. Reading: Part 3 slide deck
  16. Video: For-loops Code Walkthrough
  17. Reading: Code walkthrough slide deck
  18. Video: Indefinite loops
  19. Reading: Indefinite loop slide deck
  20. Practice Quiz: Module 4 practice quiz on indefinite loops
  21. Video: Random number generation
  22. Reading: Slide deck
  23. Peer Review: Drawing ASCII Art - Peer Review Portion
  24. Video: Module Summary
Graded: Module 4 quiz on FOR loops
Graded: Drawing ASCII Art - Auto Graded Portion
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. 

10 videos9 readings
  1. Video: Structured Data
  2. Reading: Slide deck
  3. Video: Arrays: Part 1
  4. Reading: Part 1 slide deck
  5. Video: Arrays: Part 2
  6. Reading: Part 2 slide deck
  7. Video: Arrays: Part 3
  8. Reading: Part 3 slide deck
  9. Video: The for-each loop
  10. Reading: Slide deck
  11. Video: The Collections Framework: Part 1
  12. Reading: Part 1 slide deck
  13. Video: The Collections Framework: Part 2
  14. Reading: Part 2 slide deck
  15. Video: ArrayLists
  16. Reading: Slide deck
  17. Video: HashMaps
  18. Reading: Slide deck
  19. Video: Structured Data WrapUp
Graded: The Birthday Problem - Auto Graded
Graded: Module 5 Quiz
Module 6: Classes and Interfaces
Module 6 covers Java classes and interfaces, focusing on data types, fields, methods, generic parameters, and exceptions. 

7 videos7 readings
  1. Video: Java: Classes and Objects, an overview
  2. Video: Motivating Classes and Objects
  3. Reading: Slide deck
  4. Video: Building your own Classes and Objects
  5. Reading: Slide deck
  6. Reading: Example files: Account
  7. Video: Refining your Classes: Part 1
  8. Reading: Slide deck
  9. Video: Refining your Classes: Part 2
  10. Reading: Slide deck
  11. Video: New Objects in Old Places
  12. Reading: Slide deck
  13. Video: Overview of Java Generics
  14. Reading: Slide deck
  15. Peer Review:
  16. Peer Review:
  17. Peer Review:
Graded: Module 6 quiz on Object Oriented Programing concepts
Graded: Module 6 quiz on methods and classes
Graded: Module 6 quiz on arrays and parameters
Graded: Building your own class pt 1 - Auto Graded
Graded: Building your own Classes pt 2 - Auto Graded
ModuIe 7: Inheritance and Polymorphism
Module 7 examines Java's inheritance and polymorphism features (e.g., extending classes and virtual methods). 

7 videos7 readings
  1. Video: Class Hierarchy and Interfaces: Overview
  2. Video: Class Hierarchy and Interfaces
  3. Reading: Slide deck
  4. Video: Inheritance at Work
  5. Reading: Slide deck: Inheritance at Work
  6. Video: Polymorphism
  7. Reading: Slide deck: Polymorphism
  8. Video: Java Interfaces
  9. Reading: Slide deck: Java Interfaces
  10. Reading: Self-Assessment quiz code
  11. Video: Advanced Class Interface features
  12. Reading: Slide deck: Advanced Class Interface Features
  13. Video: Exception Handling
  14. Reading: Slide deck
  15. Peer Review: Inheritance and Polymorphism Assignment - Peer Review
Graded: Module 7 quiz on inheritance
Graded: Module 7 quiz on code "dissection"
Graded: Inheritance and Polymorphism Assignment - Auto Graded
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).

2 videos
  1. Video: Overview of the Calculator App Mini-Project Assignment
  2. Video: Mini-Project Assignment Walkthrough
Graded: Peer Review: Mini-Project: Calculator App
How It Works
Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.
Help from Your Peers
Help from Your Peers
Connect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.
Earn official recognition for your work, and share your success with friends, colleagues, and employers.
Vanderbilt University
Vanderbilt University, located in Nashville, Tenn., is a private research university and medical center offering a full-range of undergraduate, graduate and professional degrees.

No comments:

Post a Comment