Skip to content

Latest commit

 

History

History
85 lines (78 loc) · 3.87 KB

README.md

File metadata and controls

85 lines (78 loc) · 3.87 KB

BE-03

ROADMAP

Module 1. Fundamentals of Programming

  1. Programming languages. Introduction to JAVA. JRE, JDK, JVM. History.
  2. Git basics and team development.
  3. Data types. Primitive and reference. Variables
  4. Operators (arithmetic, bit, logical).
  5. Conditional statements (if-else, switch-case).
  6. Arrays (one-dimensional, two-dimensional).
  7. Loops (for, while, do while, foreach).
  8. Methods (overloading, recursion).
  9. Class String, StringBuilder, and StringBuffer.

Module 2. Object Oriented Programming

  1. Class. An object.
  2. Class Object. The main methods.
  3. Abstract classes, interfaces, enumerations. Packages.
  4. Access modifiers and variable types.
  5. Git opportunities for team development (Issue, Pull request,ect).
  6. Abstraction and encapsulation.
  7. Inheritance and polymorphism.
  8. Aggregation and composition.
  9. Types of classes. Nested, internal, internal static, anonymous classes
  10. Exceptional situations. Hierarchy of exceptions.
  11. Classes, Reflection.
  12. Generalized types.
  13. An Introduction to Design Patterns (Part 1). Creational: Builder, Singleton, Prototype, Factory method, Abstract factory.
  14. Basics of class design. UML diagrams.

Module 3. Collections

  1. Types of collections. Collections interface. Collection hierarchy.
  2. List interface.
  3. Map interface.
  4. Queue interface.
  5. Set interface.
  6. Interfaces Comparable and Comparator.
  7. The principles of SOLID.
  8. Class Date, LocalDate, Calendar and different formatters.
  9. Immutable collections. Lymbds.
  10. Introduction to Design Patterns (Part 2). Structural: Adapter, Facade, Composite, Decorator.
  11. Introduction to Design Patterns (Part 3). Structural: Proxy, Bridge, Flyweight.

Module 4. JAVA IO and multithreading

  1. Input and output streams.
  2. File input and output streams. RandomAccessFile.
  3. Classes File, Path, Files.
  4. Introduction to Stream API.
  5. Serialization, Deserialization (Externalizable).
  6. Introduction to multithreaded programming. Volatile, synchronized, wait, notify.
  7. Thread grouping. Demon streams.
  8. Thread safe collections.
  9. Competition. Package java.util.concurrent.
  10. Introduction to Design Patterns (Part 4). Behavioral: Strategy, Iterator, Observer, Memento.
  11. Introduction to Design Patterns (Part 5). Behavioral: Command, Interpreter, Mediator, State.
  12. Introduction to Design Patterns (Part 6). Behavioral: Template method, Visitor, Chain of responsibility.

Module 5. Basics of WEB Technologies

  1. HTTP protocol. Sockets
  2. Servlets in Java (Servlets)
  3. JDBC (Java Database Connectivity)
  4. SQL Basics (Select Query Language)
  5. Basics of database design. ERP charts.
  6. JSP Basics (Java Server Pages)
  7. HTML. Jsoup Basics.
  8. XML. JAXB Basics.
  9. Introduction to Design Patterns (Part 7). Antipatterns.

Module 6. Modern Stack

  1. Spring Core Basics (Part 1). IoC, DI.
  2. Spring Core Basics (Part 2). AOP, SPL.
  3. Spring boot.
  4. Maven, JavaFX
  5. SQL. PostgreSQL.
  6. JPA. Hibernate Basics.
  7. Spring Data Basics.
  8. Spring Security Basics.
  9. The basics of MongoDB.
  10. Docker.
  11. Kubernates.
  12. Continuous Integration. Circle CI. Travis CI. Github workflow.
  13. Continuous Delivery. Auto-project on the server.
  14. OpenShift.