๐Ÿงญ Topic: Introduction to Java

Quick Overview :

This topic introduces Java as a programming language, its core principles, and the essential tools for Java development including IntelliJ IDEA, Maven, and Gradle build systems.


๐Ÿ“Œ Covered in This Topic

Course Orientation

  • Course overview and objectives
  • Relearning programming in Java
  • OOP principles (inheritance, encapsulation)
  • Advanced programming skills:
    • Multithreading
    • Network programming
    • Working with Databases
    • Building GUI applications
  • Team-based final project development

Introduction to Java

  • What Java is (object-oriented, platform-independent language)
  • Origin of Java name (Java coffee, coffee cup logo)
  • Key features:
    • Strong Foundation in OOP
    • Clean OOP principles: Encapsulation, inheritance, polymorphism, abstraction
    • Excellent balance between simplicity and power
    • No manual memory management
    • Built-in garbage collection
    • Strong type system
    • Industry-relevant & widely used
    • Rich ecosystem & learning tools

Java Architecture

  • JVM (Java Virtual Machine)
    • Executes Java bytecode
    • Intermediate representation of Java source code
    • Loads bytecode instructions and executes them on host system
  • Java Source Code (.java extension)
  • Important acronyms:
    • JVM: Java Virtual Machine
    • JDK: Java Development Kit
    • JRE: Java Runtime Environment
    • JDB: Java Debugger
    • Javac: Java Compiler
    • API: Application Programming Interface

IntelliJ IDEA IDE

  • IDE (Integrated Development Environment)
  • Run configurations
  • Plugins
  • Git Integration
  • Custom settings

Package Managers

  • What package managers are and why we use them
  • Adding dependencies with just a few lines of code
  • Manual JAR file download alternative
  • Famous package managers:
    • pip (Python)
    • NuGet (.NET)
    • npm (Node.js)
    • apt (Linux)
    • Homebrew (MacOS)

Java Build Tools

Maven:

  • Follows standard project structures
  • Reduces setup time
  • Configured using pom.xml file

Gradle:

  • Only rebuilds whatโ€™s changed
  • Makes builds faster
  • Great for organizing big projects into smaller pieces

๐Ÿ“‘ Slides & Materials


๐Ÿ› ๏ธ Workshop & Assignments


๐Ÿ”— Repository

  • ๐Ÿ“ Note: This topic did not have a Git repository

๐ŸŒ Additional Resources


โฉ Navigation


Tip :

Take time to understand the build tools early on. Maven and Gradle are industry standards, and mastering them will make your development workflow much smoother throughout the course and in your future career. Also, remember that this course has a heavier workload than Basic Programming, so stay on top of weekly assignments and workshops!