Core Java & Open Source

Java with OpenSource

A practical program to master Core Java and contribute to real open-source projects on GitHub.

4 Months Only 25 Students Fri, Sat & Sun, 5:30 PM - 7:30 PM (2 Hours)

* Enrollments open — Starting 1st October 2026

EuroKids PreSchool Near Maratha Hotel in Narhe, Pune

"

First, solve the problem. Then, write the code.

— John Johnson

Program Curriculum

Learn Java by reading & contributing to open-source projects.

01

Introduction to Linux

  • Linux FundamentalsUnderstanding the Linux OS, file system hierarchy, terminal basics, and why Linux is the industry standard for development
  • Essential CommandsNavigating directories, file operations (cp, mv, rm), permissions (chmod, chown), piping, redirection, and shell scripting basics
  • Development Environment SetupInstalling JDK on Linux, setting PATH and JAVA_HOME, compiling and running Java programs from the terminal
  • Git & Version Controlinit, add, commit, push, pull, branching, merging — collaborating on projects using Git and GitHub
02

Java Fundamentals & Language Basics

  • Java FundamentalsJDK, JRE, JVM overview, writing your first Java program, data types, variables, type casting, and literals
  • Operators & AssignmentsArithmetic, relational, logical, bitwise, ternary, and assignment operators — precedence rules and evaluation order
  • Flow Controlif-else, switch, for, while, do-while, break, continue, and nested loops — controlling program execution flow
  • Declarations & Access ModifiersClass declarations, variable scopes, public, private, protected, default — understanding access levels and encapsulation
03

Object-Oriented Programming

  • OOP PrinciplesClasses, objects, inheritance, polymorphism, abstraction, encapsulation — the four pillars of object-oriented Java
  • Interfaces & Abstract ClassesDefining contracts with interfaces, abstract methods, default methods, multiple inheritance, and real-world design patterns
  • Inner ClassesMember inner classes, static nested classes, local inner classes, anonymous inner classes — when and why to use them
  • PackagesOrganizing code with packages, import statements, access control across packages, and building modular Java applications
04

Exception Handling & Multi-Threading

  • Exception HandlingTry-catch-finally, checked vs unchecked exceptions, throw & throws, custom exceptions, and writing robust error-handling code
  • Multi-ThreadingThread class, Runnable interface, thread lifecycle, synchronization, inter-thread communication, deadlocks, and concurrent programming
05

File I/O, Serialization & Collections

  • File I/OFileReader, FileWriter, BufferedReader, BufferedWriter, byte streams, character streams — reading and writing files in Java
  • SerializationObjectInputStream, ObjectOutputStream, Serializable interface, transient keyword, custom serialization, and data persistence
  • Collections FrameworkList, Set, Map, Queue — ArrayList, HashMap, HashSet, LinkedList, TreeMap, iterators, and choosing the right data structure
  • GenericsGeneric classes, methods, bounded types, wildcards, type erasure — writing type-safe, reusable Java code
06

JVM Internals & Garbage Collection

  • JVM ArchitectureClassLoader, bytecode, JIT compilation, runtime data areas (heap, stack, method area), and how Java programs execute
  • Garbage CollectionGC roots, mark-and-sweep, generational GC, G1 collector, memory leaks, finalize() — understanding automatic memory management
  • Performance & DebuggingJVM flags, profiling tools, heap dumps, thread dumps, and diagnosing real-world performance issues
07

Open Source Projects — JSQLParser & Elasticsearch

  • JSQLParser — SQL Parsing in JavaUnderstanding the JSQLParser codebase, parsing SQL statements, AST traversal, and contributing to a widely-used SQL parsing library ↗ GitHub
  • Elasticsearch — Distributed Search EngineExploring the Elasticsearch Java codebase, understanding distributed systems, indexing, querying, and contributing to one of the most popular open-source search engines ↗ GitHub
  • Reading & Navigating Large CodebasesStrategies for understanding project structure, build systems (Maven/Gradle), running tests, and finding entry points in production-scale Java projects
  • Contributing & Building Your PortfolioFinding good first issues, writing meaningful PRs, engaging with maintainers, documenting your contributions, and showcasing your open-source work

Open Source Projects

Learn by contributing to real-world projects.

Every concept you learn will be applied hands-on to these two production-grade Java open-source projects.

Code. Contribute. Grow.

Java with Open Source

Start your journey from writing your first Java class to contributing to real open-source projects and building production-grade applications.

Enroll Now →