Course description

Complete JAVA Junior

The aim of the course is to present the basics of programming with one of the required programming languages - Java. Comprehensive training provides a solid foundation for further development in the field of programming and starting work as a Junior Java Developer.

Practical part

The practical module will consolidate the accumulated knowledge through tasks set by the lecturer on a real project, and a real work environment will be recreated. The goal is for the students to get as close as possible to the work commitments of a specialist.


For the exercises and the practical part during the classes each student must carry a personal laptop. The course is taught in Bulgarian, but it is good for students to have a good level of English.

SearchIT Java Complete Junior course

Training program

  • Module 1
  • Module 2
  • Module 3
SearchIT Java Complete Junior course

Module 1:
Java Fundamentals

The Java Fundamentals course aims to give students basic programming skills. This includes writing entry-level program code, working with a development environment (IDE), using variables and data, operators and expressions, working with the console (reading input and printing the console), using conditional constructs else) and cycles. Even the most primitive data structures (Arrays) will be affected. You will learn to create linear data structures, look at basic sorting algorithms, work with streams (process data streams), create template classes.)

SearchIT course details icon logo


  • Lesson 1 Introduction to programming

    • What is Java - history, virtual machine, installation, benefits of using Java?
    • Development environments - Eclipse, InteliJ
    • Seing the working environment
    • Compiler, interpreter and virtual machine
    • First Java program - compiling, executing program code, debugging
    • Exercises

  • Lesson 2 Basic concepts and syntax in Java

    • Java files, packages, imports
    • Data types
    • Primitive data types
    • Integer data types
    • Floating point number data types
    • Boolean type, character type
    • Variables
    • What are the variables
    • Where variables are stored
    • What we use the variables
    • Exercises

  • Lesson 3 Console Applications

    • Console - startup and commands
    • Using the Java Program Input / Output Console
    • Formatting the result
    • Mathematical operators and expressions in Java
    • Math class
    • Exercises

  • Lesson 4 Counting systems

    • Definition of number system
    • Decimal number system
    • Hexadecimal number system
    • Binary system
    • Conversion to different number systems
    • Household operators and shifts
    • Exercises

  • Lesson 5 Conditional constructions

    • Boolean expressions and comparison operators
    • If and if-else expressions. Embedded conditional constructions.
    • Switch-case expressions
    • Exercises

  • Lesson 6 Cycles

    • What is a cycle?
    • For and foreach loop
    • While and do-while loop
    • Continue and break expressions
    • Inserted loops
    • Visibility of variables in a cycle
    • Exercises

  • Lesson 7 Arrays

    • What is an array?
    • Declaring and instantiating arrays
    • Access to and crawl of array elements
    • Multidimensional arrays
    • Arrays class - copy, search and sort items
    • Exercises

  • Lesson 8 Methods. Recursion.

    • Why code repetition is a bad practice
    • Introduction to methods
    • Declaration and implementation of method
    • Call method
    • Example of a program with methods
    • Variable area and visibility
    • Passing parameters to method
    • Recursion
    • Exercises

  • Lesson 9 Character strings

    • Introduction to strings
    • Declaration, initialization, inputs and output from the console
    • Basic operations
    • Representation of strings in memory
    • Additional operations on character strings
    • The StringBuilder class - basic operations and use
    • Exercises

  • Lesson 10 Classes

    • Class definition
    • Defining class, constructor, variables, methods
    • Object instance
    • Access modifiers
    • Internal, local and anonymous classes
    • Exercises

  • Lesson 11 Principles of Object Oriented Programming

    • Inheritance
    • Polymorphism
    • Abstraction
    • Encapsulation
    • Exercises

  • Lesson 12 Interfaces

    • Interface definition
    • Declaring, implementing one or more interfaces
    • Methods and variables in the interfaces. Default methods.
    • Inheritance of interfaces

  • Lesson 13 Exception Handling

    • Types of exceptions
    • Catching and throwing exceptions
    • Hierarchy of exceptions
    • Enrichment of exceptions

  • Lesson 14 Generics

    • What is Generics
    • Using Generics
    • Wildcards

  • Lesson 15 Data Structures

    • Types of data structures
    • Defining, instantiating and implementing data structure implementations (List, Set, Map)
    • Iterable interface
    • Methods hashCode () and equals ()
    • Streams and Lambda expressions

  • Lesson 16 Data streams

    • Data flow definition
    • Types of flows
    • Read and write to file
    • Error handling
    • Exercises

  • Lesson 17 Sorting Data Structures

    • Introduction to algorithms
    • Sort - bubble method
    • Sort - direct selection method

  • Lesson 18 Sorting Part Two Data Structures

    • Sort by merge
    • Quick sort

  • Lesson 19 Recommendations for quality program code

    • Why it is mandatory to write quality program code
    • Conventions
    • Format
    • Naming variables, methods and classes
    • Proper use of expressions and variables
    • Documentation

  • Lesson 20 Preparing for an interview. Preparation of CV.

    • How to prepare a good CV
    • How to prepare for an interview
    • Frequently asked questions during an interview
    • Useful tips in the process of job search

SearchIT Java Complete Junior course

Module 2:
JAVA Advanced

The Java Advanced course covers the operation of the Java language. In the course we will learn how to create linear data structures, solve algorithmic problems, work with streams, files and directories, create template classes. We will pay attention to the paradigm of functional programming, as well as the main tool in it, namely - Stream API for processing data streams. The development environment that will be used is IntelliJ Idea 2020, but everyone is free to use whatever is convenient for them.

SearchIT logo icon


  • Lesson 1 Stack and Queue

    • Stack – Last in First out (LIFO)
    • Stack functionality
    • Java stack implementation
    • Overview of all operations
    • Queue – First in First out (FIFO)
    • Queue functionality Java queue implementation
    • Overview of all operations
    • Exercises, solving tasks on the stack and tail lecture

  • Lesson 2 Multidimensional Arrays

    • Arrays in Java
    • What is a multidimensional array
    • Declaring and creating this type of array
    • Initialize a multidimensional array
    • Access to array elements
    • Exercises, solving problems on multidimensional arrays

  • Lesson 3 Sets and Maps

    • HashSet
    • TreeSet
    • LinkedHashSet
    • HashMap
    • TreeMap
    • LinkedHashMap
    • Exercises, solving tasks on Sets and Maps

  • Lesson 4 Streams, files and directories

    • Open Stream
    • Close Stream
    • Combination of Streams
    • Files and directories
    • Serialization
    • Exercises, solving tasks on streams, files and directories

  • Lesson 5 Functional Programming

    • Lambda expressions
    • What is a function? - Function
    • Other functional types
    • Consumer
    • Supplier
    • Predicate
    • BiFunction
    • Transfer functions to methods
    • Упражнения, решаване на задачи върху Функционално програмиране (Exercises, solving tasks on Functional Programming)

  • Lesson 6 Defining Classes

    • Defining simple classes
    • Fields
    • Methods
    • Constructors, keywords - this, super
    • Static fields
    • Exercises, solving tasks on Defining classes

  • Lesson 7 Iterators and Comparators

    • Variable Arguments
    • Iterators
    • Iterator
    • ListIterator
    • Comparators
    • Comparable
    • Exercises, solving problems on Iterators and Comparators

SearchIT Java Complete Junior + Practical course

Module 3:
Practical project

The purpose of this module is to bring students as close as possible to the work processes in the daily life of a Junior Database specialist.

An error has occurred. This application may no longer respond until reloaded. Reload 🗙