A-Level Ukraine

Java

24 000 UAH за курс
6 месяцев
Для начинающих
Java
Этот курс научит вас программировать на Java с нуля. Вы разберете основы языка, ООП, работу с базами данных и веб-разработку. После обучения вы сможете создать собственный проект и получите подготовку к собеседованиям.

О курсе

Программа курса

Основы программирования и алгоритмов

На этом курсе начинают с базовых понятий программирования. Студенты разбираются с алгоритмами, переменными, типами данных и условными операторами. Учат правильно называть переменные и понимают разницу между циклами for, while и do-while. Также объясняют принципы компиляции кода и сферы применения Java.

Операторы и системы счисления

Далее курс охватывает математические, бинарные и логические операторы. Студенты учатся работать с двоичной системой счисления, переводить числа между системами и понимают булеву алгебру. Дополнительно знакомятся с тернарным оператором и получают первые навыки работы с Git.

Массивы и практическое применение

Здесь рассматривают одномерные и многомерные массивы, включая матрицы. Студенты учатся обходить массивы, понимают ошибку ArrayIndexOutOfBound и осваивают алгоритм пузырьковой сортировки. Практические занятия помогают закрепить эти знания.

Классы, объекты и функции

Этот блок посвящен основам объектно-ориентированного программирования. Студенты понимают разницу между классами и объектами, учатся создавать функции и правильно их называть. Также изучают рекурсию, стек вызовов и обучаются использовать точки останова для отладки кода.

Работа с Git и системами контроля версий

Курс детально рассматривает Git - от базовых понятий commit и веток до более сложных операций push, fetch, merge и pull. Студенты понимают, что такое pull request и как Git используется в реальных проектах с code reviews и feature branches.

Тестирование и Maven

Здесь объясняют важность тестирования программного обеспечения. Студенты знакомятся с различными видами тестирования, TDD и TLD подходами, а также получают первые навыки работы с Maven.

Углубленное ООП

Этот модуль охватывает более сложные аспекты объектно-ориентированного программирования. Студенты понимают разницу между heap и stack, изучают интерфейсы, статические поля и методы. Также рассматривают доменную модель, наследование, композицию и работу конструкторов.

Абстрактные классы и полиморфизм

Далее курс углубляется в абстрактные классы, полиморфизм и виртуальные таблицы методов. Студенты изучают перечисления, методы hashCode и equals, а также различные типы ссылок в Java.

Обработка ошибок и исключений

Этот блок посвящен различным подходам к обработке ошибок. Студенты понимают разницу между checked и unchecked исключениями, изучают try-catch-finally блоки. Также рассматривают NullPointerException, Optional и Null-Object Pattern для безопасной работы с null значениями.

Алгоритмы и структуры данных

Здесь студенты знакомятся с теорией сложности алгоритмов, нотацией О-большое. Изучают алгоритмы сортировки слиянием, линейный и бинарный поиск. Также рассматривают generics, коллекции и принципы boxing/unboxing.

Коллекции и структуры данных

Курс продолжает изучение коллекций - Queue, Dequeue, HashSet, HashMap. Студенты понимают принципы FIFO и LIFO, учатся создавать итераторы. Также изучают бинарные деревья, графы и алгоритмы их обхода.

Stream API и работа с файлами

Этот модуль охватывает функциональное программирование через Stream API, lambda-выражения и collectors. Также студенты учатся работать с файловой системой через IO/NIO, понимают разницу между синхронным и асинхронным программированием.

Аннотации, Reflection и базы данных

Здесь студенты изучают аннотации и reflection в Java. Затем переходят к основам SQL - реляционная модель, нормальные формы, транзакции ACID. Обучаются подключаться к базам данных из Java-приложений.

ORM и Hibernate

Курс объясняет, что такое ORM и какие задачи он решает. Студенты знакомятся с Hibernate, entity manager, созданием сущностей и связей между ними. Также получают базовые знания HQL.

NoSQL и операционные системы

Этот блок охватывает NoSQL базы данных, в частности MongoDB. Студенты понимают разницу между SQL и NoSQL, работают с JSON и BSON. Также изучают основы операционных систем, процессы, потоки и синхронизацию.

Linux и объектно-ориентированный дизайн

Здесь студенты получают практические навыки работы с Linux - файловая система, стандартные потоки, базовые команды терминала. Также изучают принципы SOLID, Unix philosophy и паттерны проектирования.

Многопоточность и сети

Этот модуль посвящен многопоточному программированию. Студенты понимают Thread и Runnable, race condition, dead lock. Изучают synchronized, volatile, mutex и semaphore. Также знакомятся с сетевыми основами - модель OSI, HTTP, cookies.

Web разработка и Servlets

Курс охватывает создание web-приложений с использованием Servlets. Студенты учатся создавать проекты в Maven, реализовывать Servlet, работать с фильтрами и паттерном Chain of Responsibility.

Микросервисы и Spring

Здесь объясняют разницу между монолитной и микросервисной архитектурами. Студенты изучают REST API, принципы IoC и DI в Spring. Также знакомятся с Spring Boot, MVC и Spring Data.

Финальный проект и паттерны проектирования

На завершение курса студенты получают задание для финального проекта. Они продумывают архитектуру, выбирают технологии, знакомятся с Agile. Также изучают паттерны Proxy, Facade, Bridge и Adapter перед защитой дипломной работы.

Дипломная работа и защита

Дипломная работа включает создание веб-приложения или веб-сайта с несколькими страницами. Студенты демонстрируют полученные знания, работают с базами данных. Защита состоит из демонстрации рабочего проекта и теоретического собеседования с независимым экспертом.

Дополнительные возможности

Курс включает 24 занятия по английскому языку для технических специалистов. Проводят тестовые собеседования с техническими специалистами и мастер-классы по составлению резюме. Каждый студент получает консультации с рекрутером и сопровождение менеджера до момента трудоустройства.

Что включено

Вечерние занятия
Выдается диплом/сертификат
Возможно трудоустройство
Реальный проект в портфолио
Сопровождение ментора