Overview of Java programming language and its relevance to Android
Setting up IntelliJ IDEA and writing a "Hello World" program
Java class/file structure, keywords, data types, and control flow
Classes, fields, methods, constructors, and garbage collection
Inheritance, interfaces, abstract classes, and anonymous classes
Interface basics, subclassing, and programming to an interface
Built-in exceptions, best practices for exception handling
Java collections: lists, sets, maps, and iterators
Basics of threads, multi-threaded programming
File management, byte/character streams, and filtered streams
Managing libraries and building Android applications
Common design patterns used in Android development