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

 

Модуль 1. Введение в технологии Java

 В этом модуле описываются основы технологий Java и рассматриваются интегрированные среды разработки приложений Java.

Уроки:

  • виртуальная машина Java, понятие об управляемой среде выполнения;
  • типы приложений Java;
  • среды и средства разработки Java-приложений.

Практическое занятие:

  • настройка переменных окружения для выполнения Java-программ;
  • написание первой программы;
  • компиляция, исправление ошибок, выполнение программы;
  • отладка простой демонстрационной программы;
  • работа в интегрированных средах разработки: NetBeans и Eclipse;

 Модуль 2. Основы объектно-ориентированного проектирования в Java

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

Уроки:

  • процедурное и объектно-ориентированное программирование;
  • концепции моделирования;
  • классы; различие между классом и типом объекта;
  • использование конструкторов;
  • использование модификаторов доступа для реализации идеи инкапсуляции;
  • использование интерактивной документации Java API.

Практическое занятие:

  • объектно-ориентированный анализ и проектирование классов для задач из различных предметных областей;

 Модуль 3. Идентификаторы, переменные, типы данных

В этом модуле определяются правила формирования идентификаторов, рассматриваются переменные и типы данных.

Уроки:

  • алфавит языка Java; комментарии; правила оформления исходных кодов;
  • идентификаторы, зарезервированные слова;
  • переменные и константы; модификаторы переменных; примитивные и ссылочные типы; встроенные типы данных, представление литералов встроенных типов;
  • объявление переменной типа класса;
  • создание объекта и инициализация по умолчанию;
  • классы-оболочки для примитивных типов;
  • управляющие последовательности. Символы Unicode.

Практическое занятие:

  • создание приложений, использующих встроенные типы данных и литералы различных типов;
  • создание приложений, демонстрирующих возможности работы с символами Unicode, использование символов Unicode в составе идентификаторов.

 Модуль 4. Выражения и управление программным потоком

В этом модуле рассматривается структура программ Java, модульная организация программ, а также основные конструкции языка.

Уроки:

  • переменные экземпляра и локальные переменные, инициализация переменных;
  • понятие о программных операторах Java, их описание и использование;
  • булевые выражения и их использование в управляющих конструкциях;
  • совместимость типов при присвоении и необходимость приведения фундаментальных типов;
  • управляющие структуры: условия, оператор выбора, циклы. Вложенные управляющие структуры;
  • операторы прерывания.

Практическое занятие:

  • создание приложений, реализующих основные управляющие конструкции.

 Модуль 5. Массивы

В этом модуле рассматриваются массивы, являющиеся важнейшим объектным типом библиотеки языка Java.

Уроки:

  • объявление и создание массивов с элементами примитивного типа, типа класса или массива;
  • инициализация элементов массива;
  • определение количества элементов массива;
  • создание многомерного массива;

Практическое занятие:

  • создание приложений, реализующих различные операции над элементами массивов.

Модуль 6. Работа со строками

В этом модуле рассматриваются вопросы использования классов Java при работе со строками.

Уроки:

  • понятие строки;
  • класс String;
  • особенности классов StringBuffer и StringBuilder;
  • преобразование строк в другие типы данных;
  • синтаксический разбор строк;
  • понятие о регулярных выражениях.

Практическое занятие:

  • создание приложений, реализующих различные строковые типы данных.

 Модуль 7. Построение классов

В этом модуле рассматриваются основные концепции объектно-ориентированного проектирования классов.

Уроки:

  • определение наследования, полиморфизма, перегрузки, переопределения и вызов виртуального метода;
  • использование модификаторов доступа protected;
  • использование конструкторов;
  • операция создания и инициализации объекта.

Практическое занятие:

  • проектирование иерархии классов для задач из различных предметных областей;
  • реализация наследования и полиморфизма.

Модуль 8. Дополнительные характеристики классов

В этом модуле рассматриваются более сложные вопросы объектно-ориентированного проектирования.

Уроки:

  • создание статических переменных, методов и инициализаторов;
  • создание классов, методов и переменных с модификатором final;
  • создание и использование перечисляемых типов;
  • использование статического импорта;
  • создание абстрактных классов и методов;
  • создание и использование интерфейсов.

Практическое занятие:

  • проектирование объектных моделей с применением наследования, абстрактных классов, интерфейсов;
  • реализация различных шаблонов проектирования. 

Модуль 9. Исключения и диагностические утверждения

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

Уроки:

  • исключительные ситуации; иерархия исключительных ситуаций;
  • использование диагностических утверждений;

Практическое занятие:

  • создание программ обработки пользовательских исключений;
  • разработка приложений с использованием средств утверждений;
  • включение диагностических утверждений во время выполнения.

 Модуль 10. Структура коллекций и параметризованных типов

В этом модуле рассматриваются средства хранения данных, предлагаемые стандартной библиотекой (инфраструктура коллекций).

Уроки:

  • реализации основных интерфейсов структуры коллекций;
  • создание естественного и настраиваемого упорядочивания путем реализации интерфейсов Comparable и Comparator ;
  • использование параметризованных коллекций и параметров типов в параметризованных классах;
  • рефакторинг существующего непараметризованного кода;
  • хранение значений примитивных типов в коллекциях.

Практическое занятие:

  • разработка приложений, демонстрирующих работу с различными видами коллекций, наборами, списками, ассоциативными множествами;
  • создание программы для осуществления итераций по коллекции.

 Модуль 11. Ввод-вывод

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

Уроки:

  • создание и использование потоков ввода/вывода;
  • сериализация и десериализация объектов;
  • работа с файлами и папками; абстракция файла, класс File; навигация по файловой системе;
  • окна диалога выбора файлов и папок;
  • потоки ввода-вывода: общая схема работы;
  • консольный ввод-вывод;
  • произвольный доступ к данным, класс RandomAccessFile.

Практическое занятие:

  • разработка программы, использующей аргументы командной строки.
  • разработка приложений, осуществляющих взаимодействие с файловой системой и окном консоли (терминала);

Модуль 12. Построение пользовательского интерфейса с помощью Swing

В этом модуле описывается средства реализации пользовательского интерфейса, предоставляемые библиотекой Swing.

Уроки:

  • технология JFC Swing;
  • пакеты Swing;
  • составные части GUI: контейнеры, компоненты и менеджеры компоновки;
  • свойства контейнера: верхнего уровня, общего и специального назначения;
  • компоненты;
  • менеджеры компоновки;
  • однопоточная модель Swing;
  • создание GUI с помощью Swing компонент;

Практическое занятие:

Разработка приложения с графическим пользовательским интерфейсом с использованием менеджеров размещения и возможностей настройки интерфейса.

Модуль 13. Обработка событий

 В этом модуле описываются приемы обработки событий в Swing и рассматриваются основные типы событий, общие для всех графических компонентов.

Уроки:

  • события и обработка событий;
  • модель события в Java SE;
  • поведение GUI;
  • задание пользовательского действия, связанного с событием;
  • создание прослушивателей событий;
  • конкурентность в GUIs, основанных на Swing, и особенности приложений GUI, основанных на классе SwingWorker;
  • создание панели меню, меню и элементов меню в Java GUI;
  • изменение цвета и фонта компоненты.

Практическое занятие:

Разработка приложения с графическим пользовательским интерфейсом с использованием обработки событий клавиатуры и клавиши мыши.

 Модуль 14. Потоки

 В этом модуле рассматриваются принципы создания многопоточных приложении Java.

Уроки:

  • принципы построения многопоточных приложений: понятия процесса и потока; совместное использование данных потоками;
  • потоки в Java- API и жизненный цикл; механизмы синхронизации потоков по ресурсам и по событиям;
  • понятие о блокировках, взаимная блокировка и «условия гонок»;
  • пулы потоков.

Практическое занятие:

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

 Модуль 15. Сетевые возможности Java

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

Уроки:

  • общие сведения о семействе протоколов TCP/IP; использование сокетов TCP/UDP в Java;
  • использование классов ServerSocket и Socket для реализации TCP/IP клиентов и серверов;
  • доступ к содержимому сетевого ресурса по URL;
  • апплеты.

Практическое занятие:

  • разработка клиент-серверного приложения;
  • разработка апплета.

 Модуль 16. Создание Web-приложений при помощи Java EE

В этом модуле описываются основные технологии, реализуемые в редакции Java EE.


Уроки:

  • сервер HTTP на Java, создание Web-приложений;
  • сервлеты;
  • технология JSP, технология JSTL.

Практическое занятие:

  • разработка Web-приложения с использованием технологий сервлетов и JSP и размещение его на Web-сервере.

Модуль 17. Работа с XML

В этом модуле рассматриваются средства стандартной библиотеки, предназначенные для работы с данными XML и реализующие различные технологии обработки XML содержимого.


Уроки:

  • общие сведения о XML;
  • разбор документа XML с помощью SAX;
  • построение и модификация DOM-дерева документа XML;

Практическое занятие:

  • разработка приложения, выполняющего получение, проверку и обработку данных из документа XML.

 Модуль 18. Взаимодействие с базами данных

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

Уроки:

  • обзор JDBC; типы драйверов JDBC; подключение к СУБД;
  • операции с данными: простая выборка данных, модификация данных, параметрические запросы, выполнение хранимых процедур;
  • извлечение метаинформации, классы ResultsetMetaData и DatabaseMetaData;
  • обработка ошибок JDBC.

Практическое занятие:

  • разработка приложения, реализующего доступ к базе данных и обработку данных в различных режимах. 

 

Программа курса может корректироваться.