Course cost: $300 / month
Course duration: 2 months, 45 astronomical hours
Course start date: September 23, 18 lessons of 2.5 hours (Monday, Tuesday)
Course entry requirements: knowledge of topics covered in Java Programming Fundamentals course.

*The course is available in the following languages: English, Russian, Ukrainian
Professional programming using Java
Course program
  • The concept of an interface. Interface properties.
  • Application of interfaces for system design. Callback and Delegate patterns.
Cloning objects
  • The global superclass Object and its methods.
  • Deep and shallow copying of objects. The cloneable interface.
  • Initialization of objects with a variable number of attributes. Pattern Builder.
Working with files
  • package. File class. Working with files and directories. Reading data from a file and writing data to a file. The FileReader, FileWriter, BufferedReader, and BufferedWriter classes.
  • Exceptions that occur when accessing files.
  • Interfaces FileFilter, FilenameFilter.
Serialization of objects
  • Applications of serialization. Serializable and Externalizable interfaces.
Generic Programming (Generics)
  • The concept and purpose of generic programming. Generic class. An instance of a generic type. Generic methods. Limitations of generalizations. Inheritance of generic types.
Annotations in Java
  • Using inline annotations. Create your own annotations.
Working with databases
  • Bases of work with databases. The concept and purpose of databases (DB) and database management systems (DBMS). The most used DBMS. Relational databases. Basic concepts of database theory. Database design. Types of data stored in the database. normal forms. Ensuring data integrity.
  • Basics of Structured Query Language SQL. Purpose and use of SQL. Creating a database (CREATE statement). Data modification (INSERT and UPDATE statements). Data selection (SELECT statement). Selection from several tables. Selection with a condition (WHERE clause). Sorting data (ORDER BY operator). Grouping data (GROUP BY operator).
  • Join requests, union, subtraction of tables.
  • java.sql package. Establishing a database connection. The Connection, Statement, and ResultSet classes.
  • DAO design pattern. Working with databases using ORM technology.
  • Collection classes. collection interfaces. Collection interface. Iterator and Iterable interfaces.
  • Interfaces List, Set, SortedSet, Queue. Classes Vector, Stack, ArrayList, LinkedList, HashSet, TreeSet.
  • Comparable and Comparator interfaces.
  • Map interface.
Logging of program operation
  • Package java.util.logging.
  • log4j package.
  • The concept of a multithreaded application. Thread class. Runnable interface and features of its implementation. Thread priorities. join() methods. Interrupting a thread. Thread synchronization. Synchronized methods. The concept of a monitor. The synchronized keyword and its forms.
  • Callable interface. blocking queues.
  • Artifacts of the java.util.concurrent package: Semaphore, CountDownLatch, Executor, Barrier, Exchanger.
  • Atomic variables.
Hibernate Framework
  • JPA specification.
  • Basics of using Hibernate.
  • Essences, inheritance.
  • Entity relationships.
  • JPA Query Language.
  • Caching in Hibernate.
Dependency Injection Basics
  • SOLID principles.
  • Java reflection.
  • Dependency injection.
Spring framework basics
  • Spring IoC container and dependency injection.
  • An overview of how to configure a Spring application.
  • Spring MVC.
  • Spring + Hibernate.
Spring framework projects
  • Spring Boot.
  • Spring Data.
Basics of NoSQL and in-memory databases
  • Working with Redis database.
Assistive technology for projects
  • Logging. Log4j2.
  • Testing. Mocks.
  • Documentation. Swagger, Spring.RestDocs.
Web services
  • Creating a REST style web service.
  • Using HATEOAS technology.
  • Create a WSDL-SOAP web service. Spring Rest project.
  • Creation of clients to web services.
Sign up
Please fill out the form. Our managers will contact you shortly.
Made on