1. Alexander V.Babich Call:+38(066)2906604
Email:alexander.taurus@gmail.com
Visit:http://www.linkedin.com/in/ababich
Page1 of5http://ProductivityBlog.com.ua
MultitaskingAsaLife Style
Основыпрограммирования на языке Java (уровень II)
Описание тренинга
В течение пяти дней под руководством опытного инструктора студенты последовательно рассмотрят
синтаксис языка программирования Java, основы объектно-ориентированного программирования с
использованием Java, создание графического пользовательского интерфейса с помощью Swing API,
механизмы обработки исключений, организации ввода/вывода, работу с потоками, а также создание сетевых
приложений. Каждый модуль курса включает обсуждение теоретических вопросов, которое завершается
выполнением лабораторной работы, позволяющей студентам на собственном опыте преимущества и
недостатки технологии. Для выполнения лабораторных работ курса будет использоваться Netbeans IDE, что
позволит студентам познакомиться с этойзамечательной средой разработки, научиться документировать свои
проекты, выполнять рефакторинг, отладку и тестирование кода, разрабатывать приложения на платформе
Netbeans. Также не будут забыты вопросы использования шаблонов проектирования, UML-проектирования,
кодогенерации и антипаттернов.
По завершении тренинга студенты смогут попробовать сдать небольшой практический тест и самостоятельно
оценить степень усвоения материала курса и свою готовность к применению полученных знаний на практике.
Курс также может рассматриватьсякак подготовка к сдаче сертификационного теста Java SE 7 Programmer I
(1Z0-803).
Продолжительность курса
5 Дней (40 академических часов)
В ходе тренинга студенты научатся:
Создавать объектно-ориентированные Java-приложения с основных принципов ООП,таких как
инкапсуляция, наследование и полиморфизм
Компилировать в байт-код и запускать Java-приложения на выполнение
Использовать типы данных и выражения
Применять механизмы обработкиисключений
Документировать свои приложения
Выполнять рефакторинг существующего кода
Отлаживать,тестировать ипрофилировать свои проекты
Проектировать приложения с помощью UML-диаграмм ивыполнять кодогенерацию и обратный
инжиниринг
Создавать графические Java-приложения с использованием соответствующих компонентов Swing API
Реализовать ввод/вывод для работы с файловой системой
Создавать многопоточные Java-приложения
Использовать сокеты для организации взаимодействия в реальном временипо протоколу TCP/IP
Разрабатывать приложения для платформы Netbeans
2. Alexander V.Babich Call:+38(066)2906604
Email:alexander.taurus@gmail.com
Visit:http://www.linkedin.com/in/ababich
Page2 of5http://ProductivityBlog.com.ua
MultitaskingAsaLife Style
Целевая аудитория
Курс предназначен для программистов, уже имеющих некоторый опыт разработчки с использованием других
языков и технологий программирования и заинтересованных в изучении языка Java, плюс возможно,
планирующих сертифицироваться на получение статуса Oracle Certified Professional, Java Programmer.
Пререквизиты
Для успешного освоения материала курса слушателидолжны:
Иметь представление о принципах объектно-ориентированного программирования
Уметь создавать икомпилировать простейшие C/C++/C#-программы
Желательно (но не необязательно) также прохождение тренинга "Введение в язык программирования Java
(уровень I)"
Программа курса
Модуль 1 – Введение
Обзор технологии Java.
Преимущества инедостатки Java в сравнении с конкурирующими технологиями
Структура простого Java-приложения
Компиляция и запуск Java-приложения.
IDE Netbeans. Основные возможности среды разработки
Лабораторная работа
Модуль 2 – Объектно-ориентированное программирование. Документирование программ
Абстракция, инкапсуляция, и пакетирование
Повторное использования Java-кода
Понятия класса,атрибутов, методов,конструкторов, пакетов
Использование модификаторов доступа (private и public)
Вызов методов объекта класса
Использование онлайн-документации по Java API
JavaDoc-комментарии. Генерация документации в Netbeans
Лабораторная работа
Модуль 3 – Идентификаторы, ключевые слова и типы
Использование комментариев
Правила формирования идентификаторов
Ключевые слова языка Java
Примитивные типы данных
Числовые и текстовые типы
Ссылочные типы
BigInteger и BigDecimal
Объявление переменных
Создание объектов класса с использованием ключевого слова new
Инициализация членов класса
3. Alexander V.Babich Call:+38(066)2906604
Email:alexander.taurus@gmail.com
Visit:http://www.linkedin.com/in/ababich
Page3 of5http://ProductivityBlog.com.ua
MultitaskingAsaLife Style
Лабораторная работа
Модуль 4 – Выражения, управление выполнением программы
Instance- и локальные переменные
Инициализация переменнных
Основные операторы языка Java
Приведение типов при присваивании значений переменным
Логические выражения, особенности их синтаксиса и применения
Использование основных алгоритмических конструкций (if, switch, for, while, do), ключевые слова
break и continue
Лабораторная работа
Модуль 5 – Массивы
Декларирование массивов
Инициализация элементов массива
Определение количества элементов массива
Многомерные и зазубренные массивы
Операции над массивами,копирование данных массива в другой массив
Лабораторная работа
Модуль 6 – Проектирование иерархии классов. Знакомство с UML
Основные принципы ООП: инкапсуляция, наследование, полиморфизм
Перегрузка и переопределение методов
Использование модификаторов доступа protected и default (package-friendly)
Использование конструкторов, создание нескольких конструкторов класса
Процесс создания и инициализации объекта
Знакомство с UML. Использование EasyUML для Netbeans.
Кодогенерация на основе диаграммы классов. Обратныйинжиниринг
Лабораторная работа
Модуль 7 – Особенности создания классов
Создание статических переменных, методов и инициализаторов
Final-классы, методы ипеременные
Создание и использование перечислений
Использование статического импорта
Создание абстрактных классов иметодов
Создание и использование интерфейсов
Лабораторная работа
Модуль 8 – Рефакторинг. Типичные архитектурные решения и антипаттерны
Понятие о рефакторинге
Выполнение рефакторинга в Netbeans
Паттерны и антипаттерны
Типичные ошибки начинающих разработчиков
Практическая работа
4. Alexander V.Babich Call:+38(066)2906604
Email:alexander.taurus@gmail.com
Visit:http://www.linkedin.com/in/ababich
Page4 of5http://ProductivityBlog.com.ua
MultitaskingAsaLife Style
Модуль 9 – Обработка ошибок и исключений. Отладка, тестирование и профилирование
Обработка исключительных ситуаций
Блок try…catch…finally
Категории исключений
Общие типы исключений
Описание собственных типов исключений
Отладка кода в среде Netbeans
Понятие о тестировании ПО. Unit-тесты.
Написание и выполнение jUnit-тестов в Netbeans
Профилирование проекта в Netbeans
Лабораторная работа
Модуль 10 – Коллекции и дженерики
Понятие коллекции, особенности поведения и использования коллекций
Интерфейс Map
Использование generic-коллекций
Использование типов в generic-классах
Рефакторинг существующего кода
Перебор всех элементов коллекции
Лабораторная работа
Модуль 11 – Основы ввода-вывода
Работа с аргументамикомандной строки и свойствамисистемы
Использование класса Properties
Сериализация и десериализация объектов
Работа с потокамиввода-вывода
Лабораторная работа
Модуль 12 – Работа с консолью и файловой системой
Ввод данных с консоли
Вывод наконсоль
Файлы и потоки ввода-вывода
Лабораторная работа
Модуль 13 – Создание графического интерфейса пользователя
Обзор JFC и Swing
Структура Swing API,Swing-пакеты
Основные интерфейсные элементы: контейнеры, компоненты и менеджеры разметки
Свойства контейнеров, компонентов и менеджеров разметки
Описание однопоточного Swing-приложения
Построение графического интерфейса пользователя с помощью Swing
Понятие о JavaFX
Лабораторная работа
Модуль 14 – Обработка событий от интерфейсных элементов
Типы событий и обработчиков
5. Alexander V.Babich Call:+38(066)2906604
Email:alexander.taurus@gmail.com
Visit:http://www.linkedin.com/in/ababich
Page5 of5http://ProductivityBlog.com.ua
MultitaskingAsaLife Style
Модель событий Java SE
Поведение графического интерфейса, генерация событий
Обработка событий
Распараллеливание обработки в Swing-приложении, использование класса SwingWorker
Лабораторная работа
Модуль 15 –Тонкая настройка пользовательского интерфейса
Созданиеменюи других типовых интерфейсных элементов
Настройка свойств компонентов (шрифты, цвета и т.д.)
Лабораторная работа
Модуль 16 – Многопоточность в Java
Понятие потока
Создание потоков
Управление потоками и написание кросс-платформенного многопоточного кода
Проблемы при работе нескольких потоков с общими данными
Использование wait и notify для управления потоками
Использование ключевого слова synchronized для защиты данных
Лабораторная работа
Модуль 17 – Работа с сетью
Создания сетевых подключений
Работа с TCP/IP
Классы для реализации сервера и клиента (ServerSocket и Socket)
Лабораторная работа
Модуль 18 – разработка приложений для платформы Netbeans
Обзор платформы Netbeans
Разработка подключаемых модулей
Разработка клиентских приложений
Примеры приложений на платформе Netbeans
Практическая работа
Итоговое тестирование