OOP (Object-Oriented Programming)- Classes, objects, fields and methods of an object. Encapsulation. Fields and methods of a Class. Modifier 'static' and 'final.'
- Inheritance. Abstract classes. Polymorphism
- Enums in Java
- Understanding reference type. Reference Data Types in Java
JCF. Java Collections Framework- Working with Arrays in Java. Binary search. Sort.
- Data structures definition. Interfaces. Data structure 'List'. ArraysList implementation, beginning.
- Iterators and Iterable. Foreach syntax.
- Lists implementations. LinkedList.
- Java Set implementation. Exercises.
- Data structure 'Set'. HashSet.
- Data structures 'Queue', 'Stack'. Custom ArrayDeque implementation.
- Java List and Deque implementations. Examples of problems solved via List, Deque.
- Comparing objects in Java. Comparator, Comparable. Method sort.
- Sorted collection of elements.
- Data structure 'Map'. Object.hashCode, HashMap implementation.
- Graphs. Trees, Binary Trees, Tree Map.
Lambdas & Stream API- Lambdas, Functional Interfaces, Method references.
- Existing Functional Interfaces in Java 8. Functions and Predicates.
- Stream API: Stream, primitive streams. Intermediate and Terminal operations.
- Java Streams: Flat map.
- Java Streams: Collectors and Custom Collectors.
I/O- Introduction to Input and Output in Java.
- Reading/Writing streams of bytes.
- Reading/Writing streams of strings.
Miscellaneous- Regular expressions. Basics. Regular expressions, Java RegExp
- Class String and its methods. Immutable. StringBuilder, StringBuffer, performance test.
- Working with Arrays in Java. Binary search. Sort.
- Generics, Object.equals, Exceptions.
- Unit testing. JUnit.
- LocalDate, LocalDateTime, ZonedDateTime, exercises.
Multithreading- General introduction to Java multithreading, main problems
- Thread, Runnable, Daemon threads, Interrupted Exception.
- Synchronization. Mutex, Monitor. Atomic types.
- Object.wait, Object.join. One-element blocking queue (Messenger).
- JavaUtilConcurrent. Concurrent Collections.
- Threads Executors.
Spring & Spring Boot- Apache Maven, projects building
- Programming principles: DRY, YAGNI, KISS, SOLID
- Reflections. Annotations.
- Spring Framework: Introduction, Context and Beans
- Spring Framework: Beans configuration
- Spring Boot: Onion (Hexagonal) architecture
- Spring Boot: Implementing Rest Controllers
- Java JDBC API, working with databases
- Spring Boot: JPA and databases
- Spring Boot: validation
- Spring Boot: logging and AOP basics
- Spring Boot: scheduled jobs
After 9 months you:- Can properly write working code
- Know how to handle exceptions and work with files
- Have an in-depth understanding of generic Java
- Know everything you need to know about multithreading
- Know the basic algorithms
- Know programming patterns and how to apply them in practice
- Master functional code testing
- Work with databases and SQL
- Have completed an introduction to the Spring Framework and Spring Boot
- Work on real practical tasks
- Solved over 150 tasks of varying complexity.
- You have enough experience to pass an interview on Java programming
Additional coursesGeneral tech- Learn how to work with databases, master SQL, noSQL and mongoDB.
Algorithms - Learn the set of sequential instructions that describe the program's behavior and help you accelerate the process of solving problems.ач
Project management- Master the principles of product development and team work organization. You will get acquainted with flexible methodologies, such as Agile and SCRUM, and classic methods, such as Waterfall.
English for interview - Create a resume in English and prepare the answers for the questions often asked during an interview.
During the last month, you will develop a spec project, which will be the foundation of your portfolio.
By completing this professional module, you are guaranteed to get an internship in your dream company.
Good luck! We believe in you.