• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2017/2018

Java-технологии в разработке приложений

Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус: Курс по выбору (Программная инженерия)
Направление: 09.03.04. Программная инженерия
Когда читается: 2-й курс, 3, 4 модуль
Формат изучения: без онлайн-курса
Язык: русский
Кредиты: 4
Контактные часы: 76

Программа дисциплины

Аннотация

Язык программирования Java был разработан в начале 90-х гг. XX века в компании Sun Microsystems. Основным требованием к разрабатываемому языку была возможность выполнять код на различных аппаратных платформах без его перекомпиляции и пересборки. Язык в значительной степени унаследовал синтаксис C++, но имеет упрощенную по сравнению с С++ объектную модель и меньше возможностей напрямую работать с аппаратной частью. Приложения Java компилируются в специальный промежуточный машинный код (байт-код) и запускаются под управлением виртуальной Java-машины. Помимо этого к основным особенностям языка можно отнести: полную объектную ориентированность, встроенный «сборщик мусора», дополнительные средства для повышения надежности и стабильности кода.
Цель освоения дисциплины

Цель освоения дисциплины

  • Выделять Java среди других языков программирования
  • Называть основные свойства и отличительные особенности Java
  • Применять синтаксис Java при разработке программ
  • рименять библиотеку классов Java при разработке программ
Планируемые результаты обучения

Планируемые результаты обучения

  • Выделять Java среди других языков программирования
  • Называть основные свойства и отличительные особенности Java
  • Применять синтаксис Java при разработке программ
  • Применять параметризацию при написании Java-программ
  • Применять базовую библиотеку ввода-вывода
  • Создавать классы, методы и интерфейсы на языке Java
  • Применять бибилиотеку Stream API и лямбда-выражения при разработке Java-программ
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение
    Введение Как и почему появился язык Java? Основные ключевые особенности языка (кросс-платформенность, байткод, полная объектная ориентированность, надежность и безопасность кода) Основные инструменты разработки на Java (JSDK, Eclipse, NetBeans).
  • Синтаксис Java
    Идентификаторы. Константы. Комментарии. Ключевые слова. Блоки кода. Простые типы данных (byte, short, int, long, float, double, char, boolean). Объявление и инициализация переменных. Время жизни и область действия переменных. Автоматическое и явное преобразование типов. Массивы. Операции. Управляющие операторы (if, switch, while, do while, for, break, continue, return).
  • Классы, интерфейсы, пакеты
    Создание объектов. Конструкторы. Ссылочные переменные. Методы. Перегрузка методов. Модификатор static. Ссылочная переменная this. Вложенные классы. Анонимные вложенные классы. Наследование. Порядок вызова конструкторов при наследовании. Динамическая диспетчеризация ссылок. Переопределение методов. Абстрактные методы и классы. Интерфейсы. Объявление и реализация интерфейсов. Модификатор final. Класс Object. Аннотации. Перечисления. Пакеты. Уровни доступа к данным с учетом пакетов. Импортирование имен классов. Архитектура Java-программы.
  • Параметризация типов в Java
    Параметризация классов. Параметризация методов. Ограниченная параметризация. Подтипизация. Универсальные символы (wildcards) Очистка типов.
  • Потоки и лямбда-выражения.
    Функциональные интерфейсы. Лямбда-выражения. Stream API. Конвейерные и терминальные потоки.
  • Библиотека классов Java
    Оболочки примитивных типов. Управление памятью. Класс System. Загрузка классов. Классы String и StringBuffer. Другие полезные классы(java.lang).
  • Коллекции
    Структура коллекций. Интерфейсы: Collection, List, Set, SortedSet, Map, SortedMap. Абстрактные классы-коллекции. Итераторы и компараторы. Списки: ArrayList, LinkedList. Отображения: HashMap, TreeMap. Множества: HashSet, TreeSet. Классы: Vector, Arrays, HashTable. Алгоритмы в коллекциях и их эффективность.
  • Аннотации и рефлексия в Java
    Механизм аннотаций. Reflection API
  • Обработка исключений
    Исключения в Java. Ключевые слова: try, catch, finally. Стек вызовов. Типы исключений (обязательные и необязательные к обработке). Ручное «выбрасывание» исключений (throw, throws). Условие “Catch or specify”.
  • Ввод-вывод
    Байтовые и символьные потоки. Классы InputStream и OutputStream и их непосредственные подклассы. Классы Reader и Writer и их непосредственные подклассы. Буферизованный ввод-вывод. Класс File, работа с файловой системой. Сериализация.
  • Многопоточность в Java
    Создание и завершение потоков в Java. Взаимодействие потоков и синхронизация. Мониторы и wait-set блоки. Пакет java.concurrency (Executors, Atomics, Queues, Locks, Concurrent collections)
  • Шаблоны проектирования в Java
    Понятие о шаблонах проектирования. Смысл использования шаблонов. Виды шаблонов. Примеры на языке Java.
  • Библиотека RxJava
    Observables. Subscribers. Schedulers. Operators.
Элементы контроля

Элементы контроля

  • неблокирующий домашние задания
  • неблокирующий сам работа
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (4 модуль)
    0.7 * домашние задания + 0.3 * сам работа
Список литературы

Список литературы

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

  • Виссер Дж. - Разработка обслуживаемых программ на языке Java - Издательство "ДМК Пресс" - 2017 - 182с. - ISBN: 978-5-97060-447-2 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/105834
  • Вязовик Н.А. - Программирование на Java - Национальный Открытый Университет "ИНТУИТ" - 2016 - 603с. - ISBN: - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100405
  • Кишори Шаран - Java 9. Полный обзор нововведений. Для быстрого ознакомления и миграции - Издательство "ДМК Пресс" - 2018 - 544с. - ISBN: 978-5-97060-575-2 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/108130
  • Пруцков, А.В. Программирование на языке Java. Введение в курс с примерами и практическими заданиями : учебник / А.В. Пруцков. — М. : КУРС, 2018.- 208 с. - ISBN 978-5-906923-51-6. - Режим доступа: http://znanium.com/catalog/product/1017180

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

  • Монахов В.В. - Язык программирования Java и среда NetBeans - Национальный Открытый Университет "ИНТУИТ" - 2016 - 450с. - ISBN: - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100544