Запрос по курсу
ФИО: *
Телефон: *
E-mail: *
Выберите программу обучения: *
Источник информации о курсах: *
Комментарии:

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

Часть I Технологии программирования - 50 ак.часов

Модуль 1. Технологии программирования

В этом модуле раскрываются технологии программирования, этапы разработки программного обеспечения (ПО).

Уроки

  • программа как формализованное описание процесса обработки данных;
  • технология программирования как технология разработки надежных программных средств;
  • этапы разработки ПО, итеративный подход к разработке ПО;
  • жизненный цикл ПО;
  • введение в различные методологии разработки ПО (Agile/Scrum/Waterfall/Kanban).

Модуль 2. Алгоритмы

В этом модуле раскрываются основные понятия теории алгоритмов, описываются способы описания и создания алгоритмов.

Уроки

  • понятие алгоритма, основные требования, предъявляемые к алгоритмам;
  • способы описания алгоритмов;
  • основные типы алгоритмических моделей. Рекурсия и итерация;
  • оценка эффективности алгоритмов;
  • методы построения алгоритмов.

Практическое занятие: Реализация алгоритмов

  • разработка рекурсивного алгоритма вычисления факториала и чисел Фибоначчи.
  • разработка итерационного алгоритма вычисления факториала и чисел Фибоначчи.
  • реализация алгоритма по методу декомпозиции.

Модуль 3 Сортировка и поиск данных

В этом модуле объясняется, с помощью каких алгоритмов можно выполнять сортировку и поиск данных.

Уроки

  • свойства алгоритмов сортировки;
  • простые алгоритмы сортировки;
  • сложные алгоритмы сортировки;
  • поиск данных.

Практическое занятие: Организация сортировки и поиска данных

  • выполнение сортировки последовательности данных на основе алгоритмов сортировки выбором, вставкой, обменом.
  • реализация сортировки массива с помощью алгоритма сортировки Хоара и сортировки слиянием;
  • реализация алгоритма бинарного поиска.

Модуль 4. Типизация и структуры данных

В этом модуле объясняются понятие типа, виды типизации и структур данных.

Уроки

  • типизация языка;
  • общее понятие структуры данных;
  • реализация структур данных;
  • простейшие структуры данных, очередь, стек.

Практическое занятие: Реализация структур данных

  • построение очереди и стека.
  • построение бинарного дерева поиска.

Модуль 5. Основные парадигмы программирования

В этом модуле описываются парадигмы программирования.

Уроки

  • процедурное программирование;
  • использование процедур и функций;
  • передача параметров по ссылке и по значению;
  • базовые понятия ООП;
  • поля, свойства и методы класса.

Практическое занятие: Реализация алгоритмов в зависимости от парадигмы программирования

  • реализация алгоритма расчета площади многоугольника;
  • реализация алгоритма функции обмена;
  • создание иерархии классов;
  • реализация методов класса.

Модуль 6. Визуальное моделирование при анализе и проектировании. Основы Unified Modeling Language (UML)

В этом модуле описывается возможность применения визуального моделирования в процессе разработки и эволюции ПО, а также в различных видах деятельности по его созданию.

Уроки

  • анализ предметной области. Принцип декомпозиции;
  • сущность и принципы моделирования;
  • UML как воплощение идеи визуального моделирования;
  • словарь UML;
  • обзор основных диаграмм;
  • диаграмма Use Case.

Практическое занятие: Разработка модели сложной информационной системы

  • выполнение анализа функционирования системы;
  • определение набора актеров и вариантов использования;
  • разработка диаграммы Use Case.

Модуль 7. Основные диаграммы UML

В этом модуле объясняется, как создаются основные диаграммы.

Уроки

  • диаграмма последовательности (sequence diagram);
  • диаграмма классов (class diagrams);
  • диаграмма состояний (statechart diagram);
  • диаграмма деятельности (activity diagrams).

Практическое занятие: Разработка диаграмм

  • разработка основных диаграмм UML для визуального представления модели сложной информационной системы.

Модуль 8. Работа с GitHub

В этом модуле рассматривается использование сервиса для совместной работы.

Уроки

  • основы систем контроля версий: определение, функции, основные решения;
  • обзор наиболее популярной системы GIT.

Практическое занятие:

  • создание своего первого репозитория, сохранение в нем изменений;
  • регистрация на GitHub и связь своего локального репозитория с удаленным. 

Часть II Программирование на Java (базовые возможности) - 65 ак.часов

1. Введение. IDE. Типы данных
2. Классы, объекты, модификаторы доступа, базовый синтаксис
3. Статические и нестатические блоки, поля и методы, final
4. Git, циклы for и forEach
5. Алгоритмы и структуры данных, массивы
6. String, StringBuilder, StringBuffer
7. ООП. Абстрактные классы и интерфейсы
8. Внутренние, вложенные и анонимные классы. SOLID
9. Исключения. Debugger
10. Коллекции. Generics
11. Работы с чтением и записью файлов
12. Паттерны проектирования (Factory, Builder, Prototype...) 
13. Работа с датой и временем
14. Лямбда выражения
15. Функциональное программирование
16. Многопоточность

Часть III Основы разработки БД - 35 ак.часов

1. Введение в базы данных
     Основы реляционных баз данных. СУБД. Основные компоненты. Таблицы.
2. Нормализация баз данных
     Приведение к 3NF, денормализация, индексы 
3. Обеспечение целостности данных
     Отношения, целостность данных, типизация, реализация ограничений 
4. Знакомство с СУБД PostgreSQL, синтаксис и операторы PL/pgSQL
     История и развитие СУБД PostgreSQL, характеристики, архитектура, IDE pgAdmin 
5. Создание баз данных, проектирование таблиц, настройка индексов
     Концепции файлов БД, страницы, журнал предзаписи, объекты БД, табличные пространства,
     типизация, постоянные и временные таблицы, механизм индексирования PostgreSQL 
6. Основы SQL-запросов (DDL/DML/DCL), представления
     Извлечение, вставка, обновление, удаление, слияние данных, типы соединений,
     построение представлений
7. Функции, хранимые процедуры и триггеры
     Условные выражения, циклы, операторы, встроенные и пользовательские функции, перегрузка,
     защита от внедрений, обработка ошибок, реализация хранимых процедур и триггеров 
8. Обзор NoSQL СУБД
     Обзор и основные подходы в работе с NoSQL базами данных. Neo4j/MongoDB 

Часть IV Программирование на Java (расширенные возможности) - 40 ак.часов
проводится преподавателями -  представителями IT индустрии


1. Http, REST, JSON, Spring Initializr
2. SpringBoot. Maven. Структура проекта. Контроллеры
3. Аннотации. Сервисы
4. Spring Jpa. PostgreSQL
5. Пагинация, сортировка фильтрация. HQL dialect
6. Swagger-UI. Конфигурационные классы. Обработка исключений
7. Модульное тестирование. JUnit, Mockito, SpringBootTest
8. Spring Security, JWT Token
9. Docker и Kafka (базовые понятия)

Часть V Работа над проектом - 60 ак.часов

 

Программа может корректироваться