Learning Java in 70 Days for Android Development

Weekly plan for those who want to Learn Java in 70 Days and then want to start Android Development.
Feel free to contact me (see my email on my github profile) if you want me to teach you Java remotely over Zoom / Google Meet.

Prerequisites

  1. Programming Fundamentals (in Any Language)

Weekly Outline

Week 01: Introduction to Java

  1. Brief History of Java
  2. Hello Word in Java (Setting up Environment) + Why use environment Variables
  3. Introduction to Java Syntax, Keywords, Identifiers, Data Types & Variables + println ()
  4. More about Data Types + Compilation vs Interpretation + Bytecodes
  5. In Depth details of Java Program Structure + Main Method & Its importance + Finding and Removing Errors (Debugging)
  6. Some good programming practices and Java Conventions
  7. Tech Talk: Which tools or IDE’s should I use? Comparison of all famous Java IDE’s

Week 02: Java Control Structures

  1. What is meant by Program Control? + Dry Run + Getting Input from User + if + if else
  2. Intro to Operators & Operators in Java + java. util. Math
  3. Looping Structures: intro to for loop + java. util. Scanner
  4. The while loop + java. util. String
  5. Do while loop + keyword "final"
  6. Switch statement + Exception Handling
  7. Mini Project

Week 03: Functions & Arrays

  1. Functions & How to declare them + try with resource
  2. Built-in vs User Defined functions + More practice of functions + function overloading
  3. Why Arrays & using arrays in java
  4. Some applications & techniques to use Arrays
  5. Using 2D arrays
  6. Scope & Lifetime of a variable + Passing by value vs Passing by Ref.
  7. Mini Project

Week 04: File Handling

  1. Why to use Files? Basics theory of file handling
  2. Ways to Read file
  3. Ways to write file
  4. Ways to Append, Modify, Delete file
  5. File Related Methods & techniques
  6. Intro to Database + Sqlite
  7. Mini Project

Week 05: Intro to Object Oriented Programming

  1. Why OOP? Creating Classes (Theory based lecture)
  2. Creating Classes & Objects + Data Members + Functions
  3. Why to use them, Constructor Overloading
  4. Public, static, protected, default + enums
  5. Interfaces and Abstraction
  6. Abstract classes & functions
  7. Method Overloading vs Overriding & Constructor Overloading vs Constructor Overriding

Week 06: Advanced OOP Concepts

  1. Inheritance
  2. Implementing Inheritance
  3. Polymorphism
  4. Implementing Polymorphism
  5. Generic Programming
  6. Deep Dive: Generic Programming
  7. Mini Project

Week 07: Intro to GUI Programming

  1. Intro GUI Programming & GUI Widgets
  2. Awt vs Swing vs JavaFx & Applets vs JApplets
  3. HelloWorld in JavaFx + Labels
  4. Output to User
  5. Taking Input from User
  6. Event Handling in JavaFx
  7. Mini Project

Week 08: Deep Dive: JavaFX

  1. Layouts & How to use Them
  2. Introduction to Scene Builder
  3. Database Connectivity SQLite
  4. Database Connectivity MySQL
  5. Tree Views + JFont Awesome
  6. Table Views
  7. Mini Project

Week 09: Introduction to Mobile App Development

//TODO

Week 10: Deep Dive: Android Development

//TODO

Bonus

Use this .csv file to track down your weekly progress easily so that you can stay focused and motivated.