Модуль 1
176,00ч

Учебный модуль 1. Java-разработчик

Основные темы учебного модуля:
Разновидности программного обеспечения, принципы их работы.
Веб-приложения и две их основных составляющие — frontend и backend.
Примеры ПО на Java (enterprise-решения).
Иммутабельность.
Интерфейс Cloneable.
Интерфейс Serializable.
Сериализация и десериализация.
Связи ManyToOne и OneToMany, Связь ManyToMany, HQL.
Интерфейс Callable.
Протокол HTTP. Методы HTTP-запросов GET и POST и другие.
Сложные структуры данных в Redis.
Реализации основных алгоритмов в коде на языке Java, основные принципы реализации, а также алгоритмы.
Принципы работы ​​с большими данными в Java.
Часов в программе
50,00 часов
лекции
106,00 часов
практика
20,00 часов
промежуточная аттестация
176,00 часов
всего
Материально-технические условия реализации программы:
Вид занятий: лекционные и практические занятия.
Требуемое ПО:
Любая современная операционная система и настроенная в зависимости от языка программирования среда разработки: любая привычная IDE, для Python — установленный интерпретатор с python.org и любая привычная IDE.
Информационные ресуры
Тип Boolean и операторы сравнения в Java. — URL: https://skillbox.ru/media/base/tip_boolean_i_operatory_sravneniya_v_java/
Как использовать циклы в языке Java. Полное руководство. — URL: https://skillbox.ru/media/base/kak-ispolzovat-tsikly-v-yazyke-java-polnoe-rukovodstvo/
Массивы в Java: создаем, заполняем, используем. — URL: https://skillbox.ru/media/base/massivy_v_java_sozdayem_zapolnyaem_ispolzuem
Регулярные выражения (RegEx). — URL: https://regex.sorokin.engineer/ru/latest/regular_expressions.html#introduction
Регулярные выражения в Java. — URL: https://javarush.ru/groups/posts/regulyarnye-vyrazheniya-v-java
Образовательные ресуры
Реализация программы дополнительного профессионального образования предусматривает использование дистанционных образовательных технологий, применяемых для преподавания теоретических разделов учебных модулей, выполнения практических ситуаций, а также для промежуточной аттестации, применяемой с использованием асинхронной формы проведения занятий.
Асинхронное обучение — это метод доставки учебного материала обучающемуся с помощью размещения контента учебного курса на платформе дистанционного образования Skillbox 2.0.
Преподаватель и обучающийся не контактируют напрямую.
Лекционные занятия представлены в виде видеоконтента (электронный учебный курс).
Обучающийся на программе профессиональной переподготовки получает бесплатный доступ к электронной библиотечной системе Znanium.

Учебно-методические материалы

Методы, формы и технологии

Реализация программы дополнительного профессионального образования предусматривает использование дистанционных образовательных технологий, применяемых для преподавания теоретических разделов учебных модулей, выполнения практических ситуаций, а также для промежуточной аттестации, применяемых с использованием асинхронной формы проведения занятий.
Асинхронное обучение — это метод доставки учебного материала обучающемуся с помощью размещения контента учебного курса на платформе дистанционного образования Skillbox 2.0.
Преподаватель и обучающийся не контактируют напрямую.
Лекционные занятия представлены в виде видеоконтента (электронный учебный курс).
В рамках практических занятий применяется кейс-технология, или технология ситуационного анализа. Это метод активного обучения на основе реальных ситуаций. Слушателю предлагается короткий текст с подробным описанием ситуации и задача, требующая решения. Целью этого метода является максимальное вовлечение каждого слушателя в самостоятельную работу по решению поставленной проблемы или задачи, развитие самостоятельного мышления, применение теоретических знаний к решению практических задач. Кейс помогает совершенствовать компетенции, необходимые для Java-разработки. Преимуществом кейсов является возможность оптимально сочетать теорию и практику, что важно при подготовке специалистов в сфере веб-разработки.
Каждый слушатель в течение всего периода обучения обеспечивается индивидуальным неограниченным доступом к электронно-библиотечной системе (Znanium) и к электронной информационно-образовательной среде.

Методические разработки

Рекомендации по проведению обучения для лиц с ОВЗ.

Материалы курса

Разбор основных разновидностей программного обеспечения, принципы их работы, терминология в терминологии (программы, приложения и программное обеспечение, разработка и программирование). Изучение веб-приложений и двух их основных составляющих — frontend и backend. Студенты узнают, в каких компаниях Java используется чаще всего, примеры ПО на Java (enterprise-решения). Изучение булевых операций, трёх основных из них — И, ИЛИ и НЕ, приоритетность булевых операторов. Понятие тернарного оператора. Изучение понятия инкапсуляции и создание классов с применением этого принципа, изучение POJO-классов, а также принципов их создания, создание геттеров и сеттеров. Ознакомление с понятием иммутабельности (для чего она нужна) и создание иммутабельных классов при необходимости. Изучение типов переменных: какие передаются по ссылке, а какие — по значению, как правильно копировать объекты. статическими переменными (понятие). Значение статистической переменной. Статические методы, особенности применения.
Константы = статические переменные, которые нельзя изменять.
Что такое примитив. Сходства с объектами. Отличия от объектов. Виды примитивов
Биты и байты.
Числа и символы.
Классы-обёртки, boxing и unboxing.
Арифметические операции.
Остаток от деления.
Операции с присвоением.
Операции сравнения.
Класс Math.
Точность чисел float и double.
Сравнение чисел float и double.
Точность малых и больших чисел.
Особенности систем счисления.
Деление 1 на 10 в двоичной системе.
Важные моменты.
Работа с символами.
Получение и перебор символов.
Удаление пробельных символов.
Кодировки (зачем их знать).
Строки и String Pool.
Попадание строк в String Pool.
Непопадание строк в String Pool.
Интернирование строк
Работа со статическими методами с учётом наследования классов, Все классы в Java унаследованы от класса Object.
Интерфейсы (поведенческие, маркерные).
Примеры в Java.
Интерфейс Cloneable.
Интерфейс Serializable.
Сериализация и десериализация.
Вложенные классы. Статические вложенные классы. Нестатические внутренние классы. Локальные классы и анонимные классы.
Связи ManyToOne и OneToMany. Связь ManyToMany. HQL.
Зачем нужна многопоточность, состояние гонки и критические секции. Атомарные переменные.
Ключевое слово Volatile. Synchronized-методы и блоки. Потокобезопасные классы. Интерфейс Callable.
Протокол HTTP. Запрос и ответ. Методы HTTP-запросов GET, POST и другие. Статус-коды HTTP-ответов. Адресация сетевых ресурсов. HTTP-заголовки. Версии протокола HTTP и HTTPS.
Сложные структуры данных в Redis. Сравнение Redis vs MySQL. Основные факторы, влияющие на производительность программного обеспечения, как измерять и повышать производительность в тех или иных случаях.
Принципы работы ​​с большими данными в Java.
На занятии вы узнаете о реализации основных алгоритмов в коде на языке Java, основных принципах такой реализации, а также о самих этих алгоритмах. Поймёте, как оценивать сложность выполнения алгоритмов. Разберёте различные структуры данных, их функционал и узнаете, по каким принципам они работают.

Учебная литература

1. Васюткина, И. А. Технология разработки объектно-ориентированных программ на JAVA / Васюткина И.А. — Новосибирск: НГТУ, 2012. — 152 с. — ISBN 978-5-7782-1973-1. — Текст: электронный. — URL: https://znanium.com/catalog/product/557111
2. Методическое обеспечение профессионального образования: научно-педагогический альманах. — Владивосток: Эксперт-Наука, 2021. — № 2 (12). — 58 с. — ISSN 2617-9873. — Текст: электронный. — URL: https://znanium.com/catalog/product/1867571
3. Гуськова, О.И. Объектно ориентированное программирование в Java : учебное пособие / О. И. Гуськова. — Москва: МПГУ, 2018. — 240 с. — ISBN 978-5-4263-0648-6. — Текст: электронный. — URL: https://znanium.com/catalog/product/1020593

Темы

1.1. Введение в Java 1.2. Синтаксис языка 1.3. Объекты и классы 1.4. Примитивы 1.5. Числа и даты 1.6. Строки 1.7. Массивы и коллекции 1.8. Наследование 1.9. Абстрактные классы и интерфейсы 1.10. Исключения, отладка, тестирование и логирование 1.11. Работа с файлами и сетью 1.12. Многопоточность 1.13. Протокол HTTP 1.14. Разработка веб-приложений 1.15. Нереляционные базы данных и очереди 1.16. Разработка Desktop-приложений 1.17. Производительность и оптимизация 1.18. Алгоритмы 1.19. Структуры данных 1.20. Распределённые хранилища и вычисления 1.21. Паттерны проектирования 1.22. Особенности ООП в Java 2.13. Работа с MySQL в Java
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
4,00ч
Практические занятия
8,00ч
Всего
12,00ч
Лекции
4,00ч
Практические занятия
14,00ч
Всего
18,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Всего
6,00ч
Промежуточная аттестация 20,00 часов
Промежуточная аттестация по Учебному модулю 1 "Java-разработчик" проводится путем выполнения практического задания.