Курс "Основы программирования на языке JAVA" (Junior Java developer)

Стоимость 2500€
Общий объем обучения
200 академических часов, в том числе объем аудиторной и практической работы 120 академических часов и объем самостоятельной работы (дома) 80 академических часов
Täiskasvanuhariduse majandustegevusteade 214280
Учебная группа: Tarkvara ja rakenduste arendus ning analüüs
Язык обучения: Vene
Группа до 8 человек
После подачи налоговой декларации физического лица возможно получить 20% стоимости курса.
Целевая аудитория
Курс предназначен на лиц:
- ИТ-специалистов со средним и профессиональным образованием, желающих повысить свою квалификацию или получить новые знания в своей области;
- студенты высших и средних технических учебных заведений с IT-образованием;
- лица, имеющие опыт работы в области информационных технологий, желающие повысить свою квалификацию, получить новые знания или изменить сферу своей деятельности;
желающих получить знания основ программирования на языке JAVA, на уровне Junior Java developer
Желающие пройти данных курс должны обладать следующими навыками и знаниями:
-уверенный пользователь компьютера
- опыт написания различных скриптов/макросов (язык программирования не имеет значения)
УЧАЩИЙСЯ ДОЛЖЕН ПРИХОДИТЬ НА ОБУЧЕНИЕ СО СВОИМ ЛАПТОПОМ
Результаты обучения
На момент окончания курса учащийся:
- создает базовые java-модули, используя современные стандарты написания кода и современные возможности языка Java (1.8);
- применяет принципы объектно-ориентированного программирования;
- оптимизирует работу приложения, основываясь на выборе оптимальных алгоритмов;
- создает масштабируемые приложения с использованием эргономичных паттернов проектирования кода;
- поддерживает устойчивость и безопасность приложений с большим количеством потоков;
- имеет проф.уровень: junior software developer, programing language Java;
- имеет знания и навыки работы: с Java Core;
- знает инструменты сборки maven;
- владеет прикладными технологиями: Spring Core, Spring Data, Spring Web, Spring Security, Hibernate, JDBC
- знает систему контроля версий: GIT;
- использует базовые методологии разработки программного обеспечения: Agile, Kanban;
Данный курс основан на имитации реальной работы по разработке программного обеспечения. За время проведения студенты будут вовлечены в полноценный процесс разработки программного обеспечения: Представление, анализ и документирование “use cases”, прототипирование интерфейсов по взаимодействию пользователей с приложением, подготовка back-end и front-end частей. Основной акцент уделяется back-end части, а именно производительности, качеству и оптимальному построению кода. Студенты будут полноценно пользоваться современными инструментами по обеспечению командной работы, такими как Git, Jira, Confluence.
Преподаватели курса:
Олег Пасечник, IT-специалист, имеет высшее образование, разработчик программного обеспечения с опытом работы
Вадим Семенов, IT-специалист, имеет высшее образование, инженер-разработчик программного обеспечения с опытом работы
Программа курса
-
Основы программирования,базовое представление о языке Java, базовые принципы ООП
- в данной части курса студенты получат знания по основам программирования, познакомятся с общепринятыми конструкциями и приемами. Получат представление о парадигме Объектно Ориентированного Программирования, также разовьют практические навыки написания программ на языке программирования Java.
1.1. Основы программирования. (20 акад.ч)
-
Базовые понятия в программировании (переменные, присвоения, выполнение программ, Hello world;
-
Арифметические операторы и порядок их выполнения;
-
Логические операции и порядок их выполнения;
-
Конструкции обеспечивающие логические ветвления;
-
Массивы как простейшая структура данных;
-
Конструкции обеспечивающие циклическое выполнение кода (for, while, do while);
-
Базовые примеры комбинации массивов и циклических конструкций(перебор элементов, поиск, сортировка);
1.2. Особенности выполнения в среде Java (2 акад.ч)
-
Обзор языка Java;
-
Настройка среды;
-
Специфика файлов, соглашения в наименовании, точка входа;
1.3. Особенности синтаксиса Java (4 акад.ч)
-
Примитивные типы данных;
-
Приведение типов;
-
Что такое константы;
-
Что такое Enum;
1.4. Основы Объектно-ориентированного программирования. (24 ак. ч.)
-
Пользовательский тип данных. Создаем свой первый Class;
-
Конструкторы объектов. Детальное рассмотрение модели распределения памяти;
-
Сокрытие тонкостей работы класса. Инкапсуляция;
-
Группировка классов - package. Области видимости;
-
Выделение общей функциональности классов. Наследование;
-
Полиморфизм. Переопределение поведения;
-
Интерфейсы, абстрактные классы;
1.5 .Вспомогательные инструмент организации работы. (8 ак.ч.)
-
Основы работы с Jira https://www.atlassian.com/software/jira
-
Настройка проекта, доски (board);
-
Постновка персональных задач, выполнение, мониторинг и последующее обучение через Jira
-
Работа с Git
2. Продвинутые возможности языка Java
- в данной части курса студенты познакомятся с более специфическими особенностями языка программирования Java, такими как коллекции, многопоточность, функциональное программирование. Это позволит им реализовывать более сложные и приближенные к реальным задачи.
2.1. Структуры данных. Collection framework. (9 ак. ч.)
-
Структуры данных: Array vs List, Set, Map, Queue, Dequeue
-
Сложность алгоритма
-
Оптимизация алгоритмов
-
Практическая реализация одного из интерфейсов Collection
2.2. Функциональное программирование. Lambda, Stream. (9 ак. ч.)
-
Определение, основные понятия. Описание основных функций
-
Java 1.8: Функциональные интерфейсы
-
Java 1.8: Stream API
-
Работа со строками. Класс - String
2.3. Многопоточное программирование. Threads. (9 ак. ч.)
-
Определение, основные понятия. Описание основных функций
-
Синхронизация ресурсов
-
Работа с потоками Thread, Runnable, Callable.
-
Аннотации, Reflection
-
Базовые принципы Reflection
-
Декларативный подход в программировании. Аннотации.
-
Создание пользовательских аннотаций
2.4. Шаблоны проектирования (4 ак. ч.)
-
Что такое шаблон/паттерн их группы;
-
Объектные паттерны: Singleton;
-
Объектные паттерны: Factories + Abstract Factory;
-
Объектные паттерны: Builder;
3. Профессионально необходимые прикладные инструменты и технологии
- в данной части курса студенты изучают принципы, подходы в работе и настройки инструментов и технологий которые используются в реальных коммерческих проектах.
3.1. Основы работы с Базами Данных (12 ак. ч.)
3.2. Инструменты для сборки проектов. Maven.(4 ак. ч.)
-
Основы реляционных баз данных
-
Java средства работы с Базами Данных, JDBC
3.3. Основы работы Spring framework (12 ак. ч.)
-
Высокоабстракный способ работы с данными: Spring Data (8 ак.ч.)
4. Создание собственного Вэб проекта
- в данной части курса студенты под руководством преподавателя самостоятельно разрабатываю полноценное вэб приложение. Работа проходит с учетом всех полученных знаний и навыков, что позволяет закрепить пройденный материал. Результатом работы будет проект в https://github.com/, который можно использовать как площадку для улучшения навыков самостоятельно и как портфолио своих навыков что даст существенное преимущество при устройстве на работу.
4.1. Анализ идеи проекта(4 ак. ч.)
-
Подготовка “use cases”, определение границ MVP (Minimum Viable Product)
-
Документирование решений в Confluence: https://www.atlassian.com/software/confluence
-
Прототипирование принятых решений
4.2. Основы работы Вэб приложения, Spring mvc (4 ак. ч.)
-
Основы HTML (3 ак. ч.)
-
Применение на практике методологии разработки программного обеспечения
-
Декомпозиция задач;
-
Оценка времени выполнения (grooming);
-
Распределение задач между студентами, командная работа;
Программа курса соcтавлена на основе профессионального стандарта
B.2.1 Разработка продукта или проекта
1. вносит вклад в планирование проекта с точки зрения потребности во времени и других ресурсах;
2. Участвует в процессе выбора технологий и инструментов.
B.2.2 Дизайн приложения
1. Участвует в планировании архитектуры на основе требований к архитектуре системы (производительность, ремонтопригодность, масштабируемость, масштабируемость, доступность, безопасность и доступность);
2. использует в своей работе данные тестирования и прототипирования;
3. участвует в разработке пользовательского интерфейса.
B.2.3 Мониторинг технологических разработок
1. в курсе последних технологических достижений в области ИКТ, использует соответствующие источники информации.
B.2.4 Планирование и разработка
1. оценивает выполнимость проекта на основе указанных заказчиком условий и ограничений
2. планирует свою работу в соответствии с принятыми условиями создания проекта ;
3. разрабатывает и интегрирует программные компоненты на основе методологий и лучших практик, используемых в компании (включая стандарты кода, гибкие и классические методологии, автоматическое тестирование, шаблоны разработки программного обеспечения, нефункциональные требования);
4. гарантирует, что результаты его работы хранятся и документируются в системе управления версиями, используемыми компанией;
5. обеспечивает совместимость созданных программных компонентов с другими используемыми аппаратными и программными компонентами;
6. целенаправленно и эффективно использует средства разработки.
B.2.5 Тестирование
1. пишет (автоматические) тесты на самописный / записываемый код;
2. проверяет базовую функциональность и соответствие созданных им программных компонентов, используя подходящую и эффективную методологию тестирования.
B.2.6 Внедрение / установка / развертывание решения
1. Тестирует созданные программные компоненты можно установить (в том числе с помощью систем автоматической установки);
2. Устанавливает созданные программные компоненты в требуемую среду (включая тестовую, предварительную и производственную среду) в соответствии с процессом выпуска, используемым в компании;
3. Участвует в процессе внедрения.
B.2.7 Подготовка документации
1. обеспечивает доступность и актуальность документации на протяжении всего жизненного цикла созданного решения;
2. Создает документацию основаную на общепринятых передовых методах (в т.ч. стандарты документации и инструменты для языков программирования) и требованиях, установленных в компании.
Младший разработчик программного обеспечения, уровень 4, выполняет следующую работу:
Основная работа младшего разработчика программного обеспечения уровня 4, - написание исходного кода программного обеспечения. Он участвует в разработке системного дизайна и предлагает различные технические решения. Его основные задачи - дизайн продукта или проекта, проектирование приложений, планирование и разработка, системная интеграция, тестирование, участие в разработке решение, его реализации и документации .
Он может найти несоответствия в постановке задачи и предоставить аналитику информацию
для уточнения задачи, предоставить тестировщику исходные данные для проверки изменений и разработок.
Разработчик программного обеспечения работает в команде, самостоятельно решает свои рабочие задачи, которые являются частью работы команды.
Что такое профессиональный стандарт
Профессиональный стандарт - это документ, который описывает профессиональную деятельность и компетенцию, необходимые для работы по соответствующей профессии, то есть набор навыков, знаний и подходов, необходимых для успешного выполнения работы
Для чего нужен профессиональный стандарт
-
В качестве основы для составления учебных планов и программ обучения, отвечающих требованиям рынка труда;
-
Профессиональный стандарт – это основа для оценки компетентности;
-
Помощь работодателю в описании и представлении профессий, подборе сотрудников, составлении должностных инструкций, определении профессиональных требований к сотрудникам, планировании обучения;
-
Помощь работнику, который хочет выяснить между существующими и отсутствующими навыками, спланировать свое развитие и карьеру и запланировать обучение на продолжительный период;
-
Помощь в организатору обучения, студенту, родителю, консультанту и другим лицам в получении информации о том, какой работник требуется на рынке труда;
-
Основа для составления международных профессиональных сертификатов.