Immersion in detail.
During the remaining 6 months you will dive into the back-end developer profession in detail. You will learn to understand all the subtleties and facets of this specialty. You will learn how algorithms work in websites and applications; how data structure is formed and much more. We'll teach you how to program on real-world assignments, after which you'll be able to build a full-fledged portfolio.
By completing this progressive module, you are guaranteed to get an internship at your dream company.
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
Additional courses
General 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 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.