Training agenda
  1. Introduction to Java technology
    • A brief history of the language
    • Java Distributions
    • The concept of a virtual Java machine
    • Java versions
    • Installation of the environment
    • Design assumptions
    • Stages of application development
    • Compilation
    • Starting on
    • Errors
    • Documentation
  2. Rules for building applications in Java
    • Features of integrated environments
    • IDE configuration
    • Facilitation at work
    • The structure of the project
    • Organizing classes in packages
  3. Simple objects and data types
    • Simple types
    • Type conversions: promotion and projection
    • Accuracy of floating point representation
    • Reference types
    • Stack and heap concept
    • Examples of classes: String and enum
    • Class building: attributes, constructors, methods
    • Static and instant elements
    • Data blocks
    • Declaration of packages
    • Normal and static imports
    • Transmission of data through parameters
  4. Basics of language syntax
    • IDs
    • Naming conventions
    • Operators
    • Precision of calculations
    • Use BigInteger and BigDecimal classes
    • Flow control instructions
    • Unreachable and dead code
    • Boards
  5. Basic concepts of object-oriented programming, part 1
    • Object-oriented modeling
    • Classes and objects
    • Compactness and coupling
    • Data abstraction
    • Encapsulation
    • Inheritance
    • Access modifiers
  6. Basic concepts of object-oriented programming, part 2
    • Polymorphism
    • Creating objects
    • Selected methods of the Object class
    • Redefining of methods
    • Final elements
    • Overloading of methods and constructors
    • Abstract classes, destiny, possibilities
    • Interfaces, differences and similarities to abstract classes
    • Marker interfaces
    • Methods with the default implementation
    • Split applications into layers
    • Loose connections
    • Annotations
  7. Selected design patterns
    • Singleton
    • Builder
  8. Introduction to lambda expressions
    • Internal and anonymous classes
    • The concept of a functional interface
    • The syntax of lambda expressions
    • Effective final elements
    • Basic functional interfaces
    • References to methods and constructors
  9. Handling errors and exceptions
    • The concept of an exception
    • Hierarchy of exceptions
    • Controlled and uncontrolled exceptions
    • Structure of the protected block
    • Rules for handling exceptions
    • Propagation of exceptions
    • Unhandled exceptions, call stack
    • Creating your own exception classes
  10. Time and date support in Java
    • An overview of the capabilities of the java.time package
  11. Most common mistakes in Java
  12. Good practices, how to avoid common mistakes