๐งญ 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
- ๐จโ๐ซ Professor Slides (PDF)
- ๐งโ๐ซ TA Workshop Slides (PDF)
- ๐ฅ Gradle Setup (Optional)
- ๐ฅ Recording Part 1
- ๐ฅ Recording Part 2
๐ ๏ธ Workshop & Assignments
- ๐งฎ Assignment (PDF)
๐ Repository
- ๐ Note: This topic did not have a Git repository
๐ Additional Resources
โฉ Navigation
- โก๏ธ Next Topic: Java & Git
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!