Основы программирования на языке JAVA 

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

 

Преподаватель курса

Вадим Семенов, имеет высшее образование, окончил ТТУ по специальности «Информатика»

разработчик программного обеспечения, имеет опыт преподавания

Олег Пасечник, имеет высшее образование, опыт преподавания курсов, разработчик программного обеспечения 

 

ПРОГРАММА КУРСА

1. Базовое представление о языке 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. Области видимости;

Выделение общей функциональности классов. Наследование;

Полиморфизм. Переопределение поведения;

Интерфейсы, абстрактные классы;

 

 

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

 

2.3. Работа со строками. Класс – String. Многопоточное программирование. Threads.  (9 ак. ч.)

 

Определение, основные понятия. Описание основных функций

Синхронизация ресурсов. Работа с потоками Thread, Runnable, Callable.

 

2.4. Аннотации, Reflection

Базовые принципы Reflection

Декларативный подход в программировании. Аннотации.

Создание пользовательских аннотаций

 

2.5. Шаблоны проектирования  (4ак. ч.)

 

Что такое шаблон/паттерн их группы;

Объектные паттерны: Singleton;

Объектные паттерны: Factories + Abstract Factory;

Объектные паттерны: Builder;

 

 

3. Профессионально необходимые прикладные инструменты и технологии

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

 

3.1. Инструменты для сборки проектов. Maven.(4 ак. ч.)

 

3.2. Основы работы с Базами Данных(12 ак. ч.)

Основы реляционных баз данных Java средства работы с Базами данных

 

3.3. Основы работы Spring framework(12 ак. ч.)

 

3.4. Основы работы Вэб приложения, Spring mvc (4 ак. ч.)

 

3.5. Основы HTML (3 ак. ч.)

 

3.6. Инструменты командной работы, Git (4 ак. ч.) 

 

 

4. Создание собственного web-проекта

- в этой части курса студенты под руководством преподавателя самостоятельно разрабатываю полноценное вэб приложение. Работа проходит с учетом всех полученных знаний и навыков, что позволяет закрепить пройденный материал. Результатом работы будет проект в https://github.com/, который можно использовать как площадку для улучшения навыков самостоятельно и как портфолио своих навыков что даст существенное преимущество при устройстве на работу. 

Примечание

Данный курс предполагает большой объём самостоятельной работы, соответственно, желание учиться и развиваться во внеурочное время являются решающим фактором, от которого напрямую зависит конечный результат.

Please reload