Основы программирование на языке Java. Уровень 2.

О чём курс

Курс «Основы программирования на языке Java. Уровень 2» представляет собой логическое продолжение базового обучения и является необходимым этапом для тех, кто стремится перейти от написания простых скриптов к созданию полноценных профессиональных приложений. Программа курса сфокусирована на глубоком изучении объектно-ориентированного программирования (ООП) и его практическом применении в реальных задачах разработки. Это идеальный выбор для начинающих разработчиков, которые уже освоили синтаксис Java, но нуждаются в квалифицированном наставничестве для закрепления навыков проектирования и работы с современными инструментами разработки.

В процессе обучения студенты не просто изучают теорию, а погружаются в экосистему Java, осваивая инструменты, без которых невозможно представить работу в современной IT-компании. Курс охватывает широкий спектр критически важных тем: от автоматизации сборки проектов с помощью Maven до обеспечения качества кода через модульное тестирование (JUnit) и методологию TDD (разработка через тестирование). Особое внимание уделяется работе с данными: студенты научатся эффективно взаимодействовать с реляционными базами данных (MySQL) через JDBC и Hibernate, освоят принципы работы с XML и сериализацию объектов. Кроме того, программа включает изучение паттернов проектирования, которые помогают писать чистый, поддерживаемый и масштабируемый код, а также работу с многопоточностью, сетевыми протоколами и архитектурными шаблонами, такими как MVC.

Формат обучения предполагает интенсивную практику под руководством наставника. Каждое занятие сопровождается домашними заданиями, которые позволяют закрепить полученные знания на конкретных примерах — от создания сетевых чатов до разработки сложных систем управления данными. Вы научитесь использовать систему контроля версий Git и платформу GitHub, что является стандартом индустрии для командной работы. На выходе вы получите не только теоретическую базу, но и портфолио реализованных проектов, демонстрирующих ваше умение применять паттерны проектирования, работать с базами данных, обеспечивать многопоточность и создавать архитектурно грамотные приложения. Этот курс — ваш мост от уровня «новичок» к уверенному владению инструментарием Java-разработчика, готового к решению задач промышленного уровня сложности.

Программа обучения

Занятие1. Механизмы сборки проектов. Системы контроля версий. Основы тестирования. Сборка проекта с помощью Maven; Конфигурационный файл Maven; Управление записимостями; Подключение библиотеки тестирования JUnit; Создание простейших тестов; Методы сравнения результатов; Разработка через тестирование (TDD); Контроль версий на Github. Домашнее задание: Создание git-репозитория. Создание через TDD программы обработкиматриц. Литература и ресурсы: Электронный учебник Git Конфигурационный файл Maven Занятие 2. Паттерны «Компоновщик» и «Итератор». Паттерн «Итератор (Iterator)» и его реализация; Обход коллекций с помощью паттерна «Итератор»; «Итератор» в java.util; Деревья как структуры данных; Паттерн «Компоновщик (Composite)». Узлы и листья; Реализация паттерна компоновщик на примере вложенных категорий товаров в интернет-магазине; Модификация паттерна «Итератор» для обхода дерева категорий. Домашнее задание: Обработка ошибок, создание исключений для работы с деревом. Доработка категорий. Литература и ресурсы: Деревья. Паттерн «Компоновщик». Основные представления деревьев как структур данных. Занятие 3. Синтаксический анализ. Введение в синтаксический анализ; Классификация анализаторов, грамматики; Нисходящие анализаторы, метод рекурсивного спуска; Факторы, термины, выражения; Анализ арифметического выражения; Создание парсера математического выражения методом рекурсивного спуска с возвратами. Домашнее задание: Добавление вычисления степеней. Вычисление тригонометрических функций и экспоненты. Литература и ресурсы: Основы синтаксического анализа. Грамматики. Рекурсия. Метод рекурсивного спуска. Занятие 4. Способы сохранения объектов (локальные репозитории). Сериализация объектов; Интерфейс Serializable; Объектные потоки ввода-вывода; Условия успешной упаковки и распаковки объектов; XML репозитории. Синтаксис XML; Библиотека работы с XML; Применение упаковки объектов на примере телефонной книги Домашнее задание: Реализация простейшей библиотеки работы с XML - файлами. Литература и ресурсы: Особенности сериализации. Занятие 5. Основы работы с реляционными базами данных. Виды СУБД; Установка сервера MySQL и приложения MySQL Workbench; Создание схем и таблиц; Виды полей таблиц; Основы языка SQL; Виды запросов, CRUD; Библиотека JDBC; Составление статических и динамических запросов на Java. Домашнее задание: Реализация сохранения контактов в телефонной книге. Литература: Язык запросов SQL MySQL - server Занятие 6. Hibernate. Аннотации. Механизм аннотаций в Java; Библиотека Hibernate; Конфигурационный файл Hibernate; Классы - сущности; Аннотации в Hibernate; CRUD с помощью Hibernate. Домашнее задание: Подключение Hibernate к телефонной книге. Реализация возможности необязательного заполнения некоторых полей. Литература: Основные аннотации Hibernate. Связи таблиц в БД. Занятие 7. Параллелизм и нити. Основы распределенного выполнения программных систем; Процессы и потоки; Класс Thread; Интерфейс Runnable; Особенности метода run(); Способы корректной работы нескольких потоков; Ожидание выполнения потоков; Синхронизация методов и блоков. Домашнее задание: Многопоточное заполнение дерева. Реализация запуска графического интерфейса в отдельном потоке. Литература и ресурсы: Процессы и потоки. Синхронизация. Занятие 8. Основы работы в сети. Стек сетевых протоколов; Архитектура «клиент-сервер»; Протокол пользовательских датаграмм; Реализация параллельного обмена датаграммами между клиентом и сервером; Протокол TCP/IP; Создание простейшего сетевого чата; Надежность передачи данных по сети. Сериализация передаваемых объектов; Передача объектов и файлов по сети. Домашнее задание: Совершенствование сетевого чата. Передача сообщений адресованному клиенту. Литература и ресурсы: Сетевые протоколы. Сокеты. Адресация в сети. Занятие 9. Паттерны «Одиночка» и «Наблюдатель». UML диаграммы; Необходимость в использовании паттерна «Одиночка (Singleton)»; Простейшая реализация паттерна; Многопоточный доступ к «одиночке»; Коррек тная реали зация па т терна «Одиночка» с применением синхронизации потоков; Паттерн «Наблюдатель (Observer)»;• Создание клиент-серверного чата на основе паттерна «Наблюдатель»; «Наблюдатель» в java.util. Домашнее задание: Реализация в чате совместной работы «Одиночки» и «Наблюдателя». Литература и ресурсы: Примеры применения паттерна «Наблюдатель». Язык UML диаграмм. Занятие 10. Паттерн MVC. Основы MVC и области применения; MVC как совокупность паттернов; Распределение обязанностей классов в соответствии с MVC; Организация доступа к объектам в БД. DAO; Реализация приложения для управления наличием товаров на складе. Домашнее задание: Добавление проверки валидности данных, получаемых/передаваемых из/в БД. Изменение предыдущих проектов, использующих графический интерфейс, в соответствии с патроном MVC. Литература: MVC и веб. Модификации MVC. Совместное применение паттернов проектирования и многое другое!

Складчина создана 23 января 2015 г. · описание обновлено 2 мая 2026 г.

Теги курса

Инструменты

Другие материалы школы 12

L LevelUp Все материалы
1 976 ₽ 7 990 ₽