Программирование на Java SE 11 (Уровень 1)

Цель курса

В данном  курсе студенты будут изучать разработку приложений с использованием языка программирования Java Platform, Standard Edition (Java SE) 11. Курс начинается с введения в язык программирования Java и с обзора принципов объектно-ориентированной (OO) разработки перед тем, как сосредоточиться на создании объектно-ориентированных приложений на Java. Курс предоставляет студентам краткий обзор синтаксиса языка Java, включая пакеты, классы, методы, переменные, условные операторы и управление потоками. Студенты узнают о роли наследования и интерфейсов в Java, о применении шаблонов разработки в спроектированных ими приложениях, о создании и обработке исключений и о том, как производить рефакторинг кода. Кроме того, этот курс раскрывает различные новые функции Java SE 11. Студенты также узнают о различных прикладных программных интерфейсах Java (API), сосредотачиваясь на API, широко используемых в реальных приложениях Java, таких как Наборы, Ввод/Вывод, Потоки и других служебных классах. Практические лабораторные упражнения представлены в течение курса, позволяя студентам исследовать язык Java и закрепляя изученные в ходе лекций понятия. В лабораторных работах студенты создают и отлаживают код Java и работу с API Java при использовании средств разработки Java, предоставленных Eclipse. Эти средства разработки включают инструменты, необходимые для написания и исполнения кода Java, интегрированный отладчик, инструменты рефакторинга и инструменты тестирования JUnit.

 

По окончании курса слушатели смогут:

  • Описать основные принципы объектно-ориентированного программирования
  • Использовать синтаксис Java для разработки Java приложений
  • Использовать наследование и интерфейсы в приложениях Java
  • Описать, как шаблоны разработки используются в проектировании приложений
  • Проводить рефакторинг кода Java
  • Описать и использовать некоторые из важных классов API и интерфейсов, доступных Java, включая: классы обертки для примитивных типов данных, коллекции, классы-утилиты, классы ввода-вывода, потоки, исключения
  • Создавать и использовать JavaBeans
  • Использовать средства разработки Java в Eclipser
  • Выполнять отладку Java приложений
  • Выполнять тестирование приложений Java, используя JUnit

Основные темы:

  • Введение в язык программирования Java
    • История развития и особенности Java
    • Эволюция стандарта Java SE
    • Модель выполнения Java: байт-код и виртуальная машина Java
    • Типы программ и компонентов, создаваемых на Java
  • Средства разработки приложений Java
    • JRE и JDK: основные программы и утилиты
    • Компиляция и запуск приложений из командной строки
    • Использование jshell
    • Разработка, компиляция и запуск приложений в IDE Eclipse
  • Упражнение: Работа с инструментами Java разработки
  • Объектно-ориентированное программирование
    • ООП и его отличия от процедурного программирования
    • Понятие объекта и класса
    • Взаимодействие между объектами
    • Принципы разработки в ООП: инкапсуляция и полиморфизм
    • Введение в унифицированный язык моделирования UML
  • Примитивные типы
    • Типизация в Java
    • Примитивные типы, литеральное представление их значений, размещение в памяти
    • Точность при вычислениях с плавающей точкой, модификатор strictfp
    • Unicode в Java
    • Явные и неявные преобразования типов, риск потери точности
    • Операции с примитивными типами: арифметические, логические, бинарные операторы
    • Верхние и нижние переполнения при операциях, специальные значения типов с плавающей точкой
    • Объявление и инициализация переменных и констант
    • Комментарии
  • Ссылочные типы
    • Ссылочные типы в Java и особенности их сравнения
    • Оператор new
    • Массивы и операции с ними
    • Классы-оболочки примитивных типов
    • Строки и операции с ними
    • Перечисления (enum) и операции с ними
  • Управление потоком выполнения программы
    • Операторы условных переходов (if, if-else, switch)
    • Циклы (while, do-while, for, break, continue)
    • Форма цикла for для итерируемых объектов
    • Метки
    • Оператор return
    • Блоки и области видимости переменных
  • Отладка
    • Режим отладки в IDE Eclipse
    • Точки останова, пошаговое выполнение, отслеживание значений переменных и выражений
  • Упражнение: Отладка
  • Создание классов
    • Объявление классов в Java
    • Объявление членов класса: поля и методы
    • Модификаторы доступа: public, protected, private, по умолчанию
    • Статические члены класса
    • Абстрактные классы
    • Инициализаторы: статические и экземпляра класса
    • Перегрузка методов
    • Объявление конструкторов, конструкторы по умолчанию, цепочки конструкторов
    • Управление памятью в Java: сборщик мусора
    • Вложенные классы
    • Роль пакетов в Java и видимость классов
    • Основные стандартные пакеты Java
  • Упражнение: Создание классов
  • Наследование
    • Наследование полей и методов
    • Иерархия классов
    • Доступ к членам классов-родителей: this и super
    • Вызов конструкторов и иерархия классов
    • Роль абстрактных классов
    • Полиморфизм через наследование: поиск вызываемого метода
    • Рефакторинг с использование наследования: на примере шаблона «Стратегия»
  • Упражнение: Наследование
  • Интерфейсы
    • Объявление интерфейсов в Java
    • Реализация интерфейсов классами
    • Методы интерфейсов по умолчанию
    • Наследование интерфейсов: множественное наследование и конфликты наследования
    • Полиморфизм через интерфейсы
  • Упражнение: Интерфейсы
  • Исключения и их обработка
    • Объектно-ориентированная обработка нештатных ситуаций
    • Исключения в Java и правила их обработки: Throwable, Error, Exception, RunTimeException
    • Обработчики исключений: try-catch-finally
    • Объявление и генерация исключений: throw
    • Автоматическое закрытие ресурсов: try-with-resources
  • Упражнение: Исключения и их обработка
  • Ввод-вывод и сериализация
    • Эволюция ввода/вывада в Java: io, nio, nio.2
    • Потоки ввода/вывода: байтные и символьные
    • Работа с файлами: File
    • Каналы и буферы
    • NIO.2: Path, Files, FileSystem
    • Сериализация объектов в Java
    • Роль поля serialVersiomUID
    • Модификатор transient
  • Упражнение: Ввод-вывод и сериализация
  • Регулярные выражения
    • Язык регулярных выражений Java
    • Подготовка регулярных выражений
    • Применение шаблонов к строкам
  • Даты и время
    • Представление дат и времени в Java
    • Календари
    • Моменты, промежутки, продолжительности
    • Операции над датами и промежутками времени
  • Обзор библиотеки утилит Java
    • Классы пакета java.util

Рекомендуемая литература:

Если бы каждый Java-разработчик прочитал эти книги, было бы гораздо меньше неработающего кода.
1. "Java. Эффективное программирование" — Джошуа Блох
Эта книга содержит более 50 полезных правил и тонкостей, предлагает решение задач программирования, с которыми большинство разработчиков сталкиваются каждый день. Описывает приемы, которыми пользуются эксперты, создававшие платформу Java. А также показывает, что следует и не следует делать для получения понятного, надежного и эффективного кода.
2. "Философия Java" — Брюс Эккель
В этой книге автор рассказывает об основных проблемах написания кода: в чем их суть и какой подход использует Java в их разрешении. Обсуждаемые в каждой главе черты языка неразрывно связаны с тем, как они используются для решения определенных задач.
3. "Java Concurrency in Practice" — Goetz B., Peierls T.
Java SE 5 и 6 — огромный шаг для развития параллельных приложений с улучшением виртуальной машины Java для поддержки высокой производительности. В этой книге автор объясняет не только то, как это работает и как этим пользоваться, но и шаблоны проектирования.
4. "Паттерны проектирования" — Эрик Фримен, Элизабет Фримен
Паттерны появились, потому что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. В этой книге найденные решения воплощены в краткой и легко применимой на практике форме.
5. "Java Puzzlers" — Joshua Bloch
Любой человек с практическими знаниями Java поймет головоломки из этой книги, но даже самый опытный посчитает их полезными.
6. "Изучаем Java" — Кэти Сиерра, Берт Бейтс
Эта книга очень хорошо подходит для начинающих. В ее основу положен метод обучения на практике, а полезная информация сопровождается визуальным рядом. Все теория закрепляется интересными примерами и тестами.
7. "Java. Библиотека профессионала. Том 1. Основы." — Кей С.Хорстманн, Гари Корнелл
"Java. Библиотека профессионала. Том 2. Расширенные средства программирования." — Кей С.Хорстманн, Гари Корнелл
В этом надежном и полезном практическом руководстве описаны важные языковые средства и библиотеки, проиллюстрированные тщательно подобранными и проверенными на практике примерами. Приведенные примеры просты для понимания, практичны и послужат неплохой отправной точкой для написания собственного кода.
8. "Java в примерах" — Дэвид Флэнаган
Эта книга содержит 164 законченных практических примера: свыше 17900 строк тщательно прокомментированного, профессионально написанного Java-кода, работающего с 20 различными программными интерфейсами, такими как: сервлеты, JSP, XML, Swing и Java 2D.
9. "Язык программирования Java SE 11" — Джеймс Гослинг, Билл Джой
Книга в равной степени может служить как учебником, так и справочником по языку Java. А многочисленные упражнения позволят попрактиковаться в использовании этого самого популярного в настоящее время языка программирования.
10. "Структура данных и алгоритмы Java" — Роберт Лафоре
Первая часть книги представляет собой введение в алгоритмизацию и структуры данных, а также содержит изложение основ объектно-ориентированного программирования. Следующие части посвящены различным алгоритмам и структурам данных, рассматриваемым от простого к сложному: сортировка, абстрактные типы данных, связанные списки, рекурсия, древовидные структуры данных, хеширование, пирамиды, графы.

Первое занятие 14 сентября 2020 года.

Стоимость обучения — 5000 р.

Время проведения занятий: понедельник, среда с 19-00 до 21-30; суббота с 10-00 до 12-45.

*Вы можете пройти обучение бесплатно. Для этого необходимо выполнить следующие условия:

  1. Посетить 90% занятий.
  2. Выполнить все самостоятельные практические работы, предполагаемые в курсе. Практические работы проводятся по пошаговым методичкам, при возникновении затруднений инструктор поможет их разрешить. 

До начала занятий производится 100% предоплата, в случае выполнения условий, написанных выше, слушателю возвращается полная стоимость обучения (банковским переводом на карту).

Образец договора на курс "Основы программирования на Java SE 11"

Записаться на курс

ПРИ ПОДДЕРЖКЕ

КОНТАКТЫ

  • Учебный Центр КУДИЦ
  • 117485 Москва, улица Профсоюзная, 84/32
  • +7 (495) 246-00-96
  • ew@qdts.ru