Java программирование

Базовый курс
Соединяющая страница для базового курсу Java

До начала осталось
Длительность курса 68 часов

Курс читается 3 раза в неделю начало с 18:30*


Групповые занятия
7250 5075грн
Записаться
Контакты
(044) 599-01-79
(093) 193-53-14
(050) 599-46-63
*Объявленный формат чтения занятий предварительный. За уточнениями обращайтесь, пожалуйста, к менеджеру.

До начала осталось
Длительность курса 68 часов

Курс читается 3 раза в неделю начало с 18:30*


Групповые занятия
7250 5075грн
Записаться
Контакты
(044) 599-01-79
(093) 193-53-14
(050) 599-46-63

Описание курса

Курс базового программирования предназначен для студентов, которые стремятся обучиться программированию на основе платформы Java Standard Edition. В ходе этого курса вы разовьете способность решать задания в максимально приближенной к реальности обстановке, приобретете навыки работать в команде. Мы обучим вас разработке и отладке аппликаций, ознакомим с основными элементами технологии и конструкциями языка Java Standard Edition, основными архитектурными и проектировочными приемами в рамках платформы. Вы научитесь основам Web-программирования и узнаете о сетевых возможностях Java. По окончании базового курса вы будете готовы к переходу на расширенный курс обучения.

Минимальные требования к слушателю

  • Базовые знания процедурного и объектно-ориентированного программирования

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

  • Общая характеристика языка Java
    • История языка Java. Байт-код. Виртуальная машина Java (JVM). Трансляция, интерпретация и компиляция. JIT-компиляция. JDK и его структура. Команды JDK: javac, java, appletviewer, jar (en10). Их использование и параметры. Поиск и загрузка классов. Создание и запуск первой приложения на Java. Выход из программы и завершения ее работы. Использование Eclipse и NetBeans IDE: создание и выполнение прикладных программ.
  • Типы данных и основные операции с ними
    • Алфавит языка. Комментарии. Ключевые слова. Простые (примитивные) типы данных. Идентификаторы, выбор имен идентификаторов. Переменные и константы. Объявления и инициализация переменных. Типы данных: простые и по ссылке. Область видимости и время жизни переменных. Операторы. Операции: арифметические, присваивания, отношения и логические. Преобразование и приведение числовых типов. Приоритет операций. Использование круглых скобок.
  • Поток управления
    • Составной оператор (блок). Условный оператор и его виды. Циклы: for, while, do while. Бесконечные циклы. Оператор switch. Прерывание потока управления, метки. Оператор goto.
  • Массивы
    • Объявления и инициализация массивов, в т.ч. анонимных. Линейные и многомерные массивы, «неравные» массивы. Итерация по элементам массива. Массивы и присвоения. Передача и возврат массивов в / из методов. Копирование массивов. Класс Arrays: заполнение, сравнение элементов и их сортировка. Поиск в массивах. Параметры командной строки. Методы: аргументы переменной длины.
  • Введение в ООП. Введение в UML.
    • Объектная модель:
      • Основные положения: абстрагирование, инкапсуляция, модульность, иерархия
    • Объекты и классы:
      • Объекты
      • Определение (с примерами)
      • Состояние
      • Поведение
      • Операции
      • Идентичность
      • Инкапсуляция
    • Классы и интерфейсы:
      • UML. НотацияUML. Диаграммы классов.
      • Отношение между объектами
      • Зависимости, их разновидности
      • Обобщение
      • Ассоциации
      • Реализации
      • Связи, их множественность
  • Объекты и классы
    • Классы. Поля и методы (определение, синтаксис объявления). Спецификаторы доступа public и private
    • Поля классов: инициализация явная и по умолчанию, спецификатор final и константы. Доступ к полям и методам
    • Методы: параметры (ссылки и простые типы) и возвращаемые, использование setта get- методов, перезагрузки методов, правила перезагрузки, ключевое слово strictfp
    • Конструкторы: конструкторы по умолчанию, вызов одного конструктора из другого
    • Блоки инициализации
    • Статические поля и методы: инициализация константы, статические блоки инициализации. Использование this для доступа к членам класса
    • Сбор мусора и удаления объектов
  • Наследование и полиморфизм. Пакеты.
    • Наследование и полиморфизм как инструмент создания ПО. Суперкласс и подклассы, отношение обобщения, наследование в Java. Вызов конструкторов суперклассов, порядок вызовов. Ключевое слово super ()
    • Переопределение методов, правила переопределения. Наследование и статические поля и методы классов. Абстрактные классы и методы, – понятие, вызов конструкторов, реализация методов в субклассы
    • Интерфейсы. «Множественное» наследование. Определение и реализация интерфейсов. Расширение интерфейсов. Композиция как альтернатива множественному наследованию
    • Полиморфизм. Иерархия наследования
    • Преобразование и приведение типов. Использование instanceof. Отказ от наследования: терминальные (final) методы и классы. Включение как альтернатива множественному наследованию
    • Пакеты. Вложенность пакетов. Повторное использование кода и пакеты. Защита доступа. Импорт: классов, статических методов и полей
  • Класс Object
    • Глобальный суперкласс Object
    • Методы equals (), hashCode (), toString (), finalize (), clone () и др
    • Правила реализации equals () и hashCode ()
    • Интерфейс Cloneableта и его реализация
    • Клонирование: поверхностное и глубокое

     

  • Внутренние классы. Перечисление
    • Синтаксис объявления
    • Создание объектов внутренних классов
    • Поля и методы внутренних классов
    • Вложенность внутренних классов и доступ к членам внешних классов
    • Ссылка this во внутреннем классе
    • Доступ к полям и методам внешнего класса с внутреннего
    • Внутренние классы и спецификаторы доступа
    • Вложенные интерфейсы
    • Применение внутренних классов
    • Внутренние локальные классы (Method-LocalInnerClasses)
    • Анонимные внутренние классы
    • Вложенные (внутренние статические) классы (staticnestedclasses)
    • Создание экземпляров
    • Доступ к экземпляру внешнего класса
    • Компиляция программ с внутренними классами
    • Перечисление. Перечисление как классы. Методы values (), valueof (), name (), ordinal (). Константы, конструкторы, методы и поля
    • Перечисление и конструкция switch. Импорт членов перечислений
  • Презентация программного проекта.Строки
    • Класс String. Неизменные объекты
    • Хранение строк в памяти
    • Основные операции класса String (создание, конкатенация, сравнение, поиск символов и подстрок в строках и др.). Преобразование простых типов данных. Разбивка строк: класс StringTokenizer. Переменные объекты: классы StringBuffer и StringBuilder
    • Основные методы. StringBuffer vs StringBuilder
    • Классы BigInteger и BigDecimal. Основные операции
    • Документирование кода
    • Включение комментариев
    • Документирование пакетов
    • Дескрипторы общего назначения
    • Комментарии к классам, методам и полей
    • Использование javadoc
  • Обработка ошибок и исключения
    • Подходы к обработке ошибок времени выполнения
    • Понятие исключения и исключительной ситуации
    • Иерархия классов исключений в Java
    • Контролируемые (что проверяются) и неконтролируемые (не проверяются) исключения
    • Генерация исключительной ситуации и оператор throw
    • Объявления контролируемых исключений, ключевое слово throws
    • throws и перезагрузки методов
    • Перехват исключений
    • Перехват «всех» исключений
    • Обработка исключений
    • Повторная генерация исключений
    • Блок finally: освобождение ресурсов
    • Создание собственной иерархии исключений
    • Регистрация ошибок, логирования: логеры, уровень логгер, уровень сообщений, обработчики (объекты подкласса java.util.logging.Handler)
    • Пример
  • Reflection
    • Основные возможности Reflection API
    • Класс Class
    • Использование Reflection API для получения указателей на функции
    • Использование Reflection API для доступа к частным членам
  • Система ввода-вывода
    • Потоки, иерархия классов потокового ввода-вывода: понятие потока, потоки ввода / вывода, механизм работы с потоками, иерархия потокового ввода-вывода
    • Субклассы FilterOutputStream и FilterInputStream
    • Байтовые потоки
    • Символьные потоки
    • Класс File. Класс RandomAccessFile
    • Сериализация и десериализация объектов: понятие, назначение, реализация
    • Пример
    • Интерфейс Externalizable
  • Универсальные типы. Классы коллекций
    • Параметризованные типы: классы и интерфейсы. Параметры типа
    • Ограничения, наложенные на параметризованные типы: простые типы, инстанциирование, суперкласс, исключение. Параметризованные типы и JVM
    • Понятие абстрактного типа данных (АТД)
    • Структуры данных: списки, стеки, множества, дерева, карты
    • Обход коллекций: интерфейсы Iteratorта и ListIterator, цикл «foreach»
    • Компараторы
    • Класс Collections: поиск и сортировка элементов, заполнения, синхронизован представления, неизменные представления и др
  • Многопоточность
    • Понятие потока. Состояние потока: создание потоков, -runnable и -runninig – потоки, waiting / blocked / sleeping-потоки, состояние потока dead
    • Приоритеты потоков. Метод yield ()
    • Метод join (). Потоки-демоны
    • Синхронизация: синхронизация методов, Синхронизационные блоки. Получение lock объекта и блокировки. Взаимодействие потоков (ThreadInteraction)
  • Работа с базами данных
    • Основы построения баз данных. Нормальные формы. Запросы SELECT, INSERT, UPDATE, DELETE
  • JDBC
    • Driver, Connection, Statement, ResultSet. Пул соединений. Data Access Object
  • Работа с XML
    • Знакомство с XML. Понятие формальной корректности и допустимости. Потоковый анализ на основе SAX. Анализ на основе DOM. Генерация Java-классов по схеме
  • Новое в Java8
  • Сетевые возможности Java
    • Класс URL. Класс URLConnection. Сокеты
  • Технология RMI
    • Общие понятия о технологиях распределенного программирования. Принципы организации RMI
  • Java Beans
    • Понятие о Java Beans
    • Проблема persistence. Сохранение бина в XML-файле
  • Основы веб-программирования
    • Принципы клиент-серверного взаимодействия
    • Понятие и жизненный цикл сервлета
    • Организация JSP-страницы
    • Предопределено переменные
    • Взаимодействие JSP та JavaBeans
    • Передача данных между страницами
    • Область видимости бина
  • Inversion of Control в Java.
    • Понятие Inversion of Control
    • Характеристика SpringIOC
  • Контрольный тест
  • Защита программного проекта

После изучения курса вы сможете:

  • Разрабатывать, проводить отладку приложений и внедрять аппликации в рамках платформы JavaSE
  • Быть знакомым с основными элементами технологии и конструкциями языка JavaSE
  • Знать основные архитектурные и проектировочные приемы в рамках платформы
  • Также курс предусматривает самостоятельное написание практического программного проекта под руководством преподавателя с его последующей презентацией

Лекторы курса

Преподаватель

*Объявленный формат чтения занятий предварительный. За уточнениями обращайтесь, пожалуйста, к менеджеру.
Продвинутый курс
соединительная статья для продвинутого курса java

До начала осталось
Длительность курса

Курс читается 3 раза в неделю начало с 18:30*


Групповые занятия
0 0грн
Записаться
Контакты
(044) 599-01-79
(093) 193-53-14
(050) 599-46-63
*Объявленный формат чтения занятий предварительный. За уточнениями обращайтесь, пожалуйста, к менеджеру.

До начала осталось
Длительность курса 42 часа

Курс читается 3 раза в неделю начало с 18:30*


Групповые занятия
5150 3605грн
Записаться
Контакты
(044) 599-01-79
(093) 193-53-14
(050) 599-46-63

Описание курса

Курс Java Core Advanced Topics имеет целью подготовить студентов к решению более серьезных задач при программировании на языке Java Данный курс будет полезен Java Junior Developers, а так же тем, кто уже знаком с Java Core и хотел бы получить дополнительные практические знания по ряду тем.

Курс даст Вам навыки необходимые для работы в реальных проектах, и поможет понять, что лежит в основе многих популярных фреймворков и то, как они работают. Вы ознакомитесь с архитектурой платформы JVM internals, изучите Java Reflection, Java Generics и Java Annotations.

Требования к слушателям

  • понимание Java Core

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

  • JVM internals: архитектура платформы, байт-код, class loader, garbage collector
  • Модульное тестирование. JUnit. Модульное тестирование с использованием Mock-объектов. Mockito. TDD.
  • The Class object. Java Reflection
  • Java Generics. Bounded Types. Wildcards
  • Java Annotations
  • Коллекции объектов: List, Map, Set, Queue. WeakHashMap. Итераторы. Java 8
  • Многопоточность. Основы многопоточности: Потоки выполнения, особенности параллельного выполнения. Java Memory Model (JMM)
  • Многопоточность: Особенность реализации volatile. Синхронизация потоков, взаимодействие потоков, шаблон Producer-Consumer
  • Многопоточность: Публикация объектов. Библиотека java.util.concurrent
  • SOLID (basic principles of object-oriented programming and design). Dependency injection (DI) and Inversion of control (IoC)
  • Java 8. Lambda expressions. Stream API

После изучения курса вы сможете

  • Напишите свой загрузчик классов и узнаете о его подводных камнях
  • Разработаете небольшой IoC контейнер (маленький Spring)
  • Научитесь писать модульные тесты и попробуете поработать по TDD
  • Узнаете что скрывается за понятием Java Memory Model, без понимания которой невозможно писать правильные многопоточные приложения
  • Также вы обучитесь основам многопоточности, синхронизации потоков и их взаимодействию
  • По завершении расширенного курса вы станете готовыми специалистами, программирующими на языке Java на высоком уровне

Лекторы курса

Преподаватель

*Объявленный формат чтения занятий предварительный. За уточнениями обращайтесь, пожалуйста, к менеджеру.
Разработка веб-приложений
соединительная статья для java разработка веб-приложений

До начала осталось
Длительность курса 44 часа

Курс читается 3 раза в неделю начало с 18:30*


Групповые занятия
5150 3605грн
Записаться
Контакты
(044) 599-01-79
(093) 193-53-14
(050) 599-46-63

Для кого этот курс

На данном курсе студенты научатся разрабатывать Web-приложения при помощи Spring MVC и REST. Вы ознакомитесь с инструментами для сборки, основными принципами объектно-ориентированного программирования и дизайна, объектно-реляционного отображения. Также вы узнаете о Web-контейнерах и сервлетах, архитектуре и слоях Web-приложений. По окончании курса студенты будут знакомы с архитектурой современных Web-приложений.

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

  • Maven/Ant build tools
  • SOLID (basic principles of object-oriented programming and design). Dependency injection (DI) and Inversion of control (IoC)
  • Spring Core
  • Object-relational mapping (ORM). Java Persistence API (JPA). Hibernate framework
  • Web Container. Servlets. Servlet container
  • Java Server Pages. MVC pattern
  • SpringMVC
  • Web application architecture. Web application layers. Packages structure
  • Spring RESTful. HATEOAS
  • Architecture of modern Web applications
  • Continuous Integration (CI) and Continuous Delivery (CD). Jenkins/TeamCity

Лекторы курса

Преподаватель

*Объявленный формат чтения занятий предварительный. За уточнениями обращайтесь, пожалуйста, к менеджеру.

До начала осталось
Длительность курса 44 часа

Курс читается 3 раза в неделю начало с 18:30*


Групповые занятия
5150 3605грн
Записаться
Контакты
(044) 599-01-79
(093) 193-53-14
(050) 599-46-63

Описание курса

На данном курсе Вы познакомитесь со Spring Core и спецификацией Java Persistence API (JPA). Далее будет рассмотрено, что представляет из себя Servlet container, а так же базовая технология для формирования отображения Java Server Pages (JSP). Затем перейдем к рассмотрению Spring MVC и стандартной архитектуре Веб-приложений. Потом будут рассмотрены RESTful Веб-сервисы, на основе которых сейчас создаются современные Веб (и не только) приложения.

В конце будет рассмотрено, как организован современный процесс разработки приложений с использованием систем Continuous Integration.

Во время курса Вами будет разработано учебное Веб-приложение (в соответствии с шаблоном MVС), взаимодействующее с СУБД с помощью JPA. Далее оно будет переписано на основе Spring MVC. Затем в него будет добавлена поддержка RESTful Веб-сервисов

Требования к слушателям

  • Java Junior Developers

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

  • Maven/Ant build tools
  • SOLID (basic principles of object-oriented programming and design). Dependency injection (DI) and Inversion of control (IoC)
  • Spring Core
  • Object-relational mapping (ORM). Java Persistence API (JPA). Hibernate framework
  • Web Container. Servlets. Servlet container
  • Java Server Pages. MVC pattern
  • SpringMVC
  • Web application architecture. Web application layers. Packages structure
  • Spring RESTful. HATEOAS
  • Architecture of modern Web applications
  • Continuous Integration (CI) and Continuous Delivery (CD). Jenkins/TeamCity

После изучения курса вы сможете:

  • Иметь необходимую базу для дальнейшего профессионального изучения Spring Core, SpringMVC и ORM-фреймворков
  • Разрабатывать приложения с использованием данных технологий

Лекторы курса

Преподаватель

*Объявленный формат чтения занятий предварительный. За уточнениями обращайтесь, пожалуйста, к менеджеру.