SlideShare a Scribd company logo
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
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
 Инициализация членов класса
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
 Паттерны и антипаттерны
 Типичные ошибки начинающих разработчиков
 Практическая работа
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 – Обработка событий от интерфейсных элементов
 Типы событий и обработчиков
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
 Практическая работа
Итоговое тестирование
Ad

Recommended

Java 1 - Java Fund
Java 1 - Java Fund
Alexander Babich
 
Azure DevOps Training
Azure DevOps Training
Alexander Babich
 
Excel для практиков
Excel для практиков
Alexander Babich
 
.NET Development
.NET Development
Alexander Babich
 
SECR
SECR
Alexander Babich
 
Инструмент для разработки эл. курсов Course lab. WebSoft
Инструмент для разработки эл. курсов Course lab. WebSoft
Сообщество eLearning PRO
 
зуева татьяна - опыт автоматизации тестирования в Agile проекте
зуева татьяна - опыт автоматизации тестирования в Agile проекте
Magneta AI
 
Самоучитель CourseLab
Самоучитель CourseLab
Valery Leontyev
 
Courselab презентация_2013
Courselab презентация_2013
Валерий Иванченко
 
МиСПИСиТ (разработка программного модуля)
МиСПИСиТ (разработка программного модуля)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Как мы тестируем анализатор кода
Как мы тестируем анализатор кода
Tatyanazaxarova
 
МиСПИСиТ (литература по курсу)
МиСПИСиТ (литература по курсу)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Mail.ru Group
 
Составные части объектного подхода
Составные части объектного подхода
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Построение процесса тестирования
Построение процесса тестирования
Alexander Byndyu
 
геймификация
геймификация
WebSoft
 
Azure - обзор DevOps
Azure - обзор DevOps
Alexander Babich
 
Рабочая учебная программа
Рабочая учебная программа
Rauan Ibraikhan
 
МиСПИСиТ (введение)
МиСПИСиТ (введение)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
терминология vol.2
терминология vol.2
SBTech
 
Общие темы. Тема 02.
Общие темы. Тема 02.
Igor Shkulipa
 
0480196 746 b8_lyasin_d_n_sankov_s_g_osnovy_programmirovaniya_v_srede_c_bui
0480196 746 b8_lyasin_d_n_sankov_s_g_osnovy_programmirovaniya_v_srede_c_bui
Anastasia Snegina
 
Методоллогии Agile
Методоллогии Agile
Ural Federal University named after First President of Russia B.N. Yeltsin
 
TAP
TAP
miraj84
 
МиСПИСиТ (общие принципы разработки)
МиСПИСиТ (общие принципы разработки)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Ошибки начинающих Tdd практиков, плюсы применения
Ошибки начинающих Tdd практиков, плюсы применения
zheldak
 
Терминология как основной способ поиска разработчиков или как не опозорится п...
Терминология как основной способ поиска разработчиков или как не опозорится п...
SBTech
 
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
QA Club Minsk
 
Алексей Иванов -- курс по стыку системной и программной инженерий
Алексей Иванов -- курс по стыку системной и программной инженерий
Anatoly Levenchuk
 
Java Core.docx
Java Core.docx
VolodymyrBurmus
 

More Related Content

What's hot (20)

Courselab презентация_2013
Courselab презентация_2013
Валерий Иванченко
 
МиСПИСиТ (разработка программного модуля)
МиСПИСиТ (разработка программного модуля)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Как мы тестируем анализатор кода
Как мы тестируем анализатор кода
Tatyanazaxarova
 
МиСПИСиТ (литература по курсу)
МиСПИСиТ (литература по курсу)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Mail.ru Group
 
Составные части объектного подхода
Составные части объектного подхода
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Построение процесса тестирования
Построение процесса тестирования
Alexander Byndyu
 
геймификация
геймификация
WebSoft
 
Azure - обзор DevOps
Azure - обзор DevOps
Alexander Babich
 
Рабочая учебная программа
Рабочая учебная программа
Rauan Ibraikhan
 
МиСПИСиТ (введение)
МиСПИСиТ (введение)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
терминология vol.2
терминология vol.2
SBTech
 
Общие темы. Тема 02.
Общие темы. Тема 02.
Igor Shkulipa
 
0480196 746 b8_lyasin_d_n_sankov_s_g_osnovy_programmirovaniya_v_srede_c_bui
0480196 746 b8_lyasin_d_n_sankov_s_g_osnovy_programmirovaniya_v_srede_c_bui
Anastasia Snegina
 
Методоллогии Agile
Методоллогии Agile
Ural Federal University named after First President of Russia B.N. Yeltsin
 
TAP
TAP
miraj84
 
МиСПИСиТ (общие принципы разработки)
МиСПИСиТ (общие принципы разработки)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Ошибки начинающих Tdd практиков, плюсы применения
Ошибки начинающих Tdd практиков, плюсы применения
zheldak
 
Терминология как основной способ поиска разработчиков или как не опозорится п...
Терминология как основной способ поиска разработчиков или как не опозорится п...
SBTech
 
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
QA Club Minsk
 
Как мы тестируем анализатор кода
Как мы тестируем анализатор кода
Tatyanazaxarova
 
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Mail.ru Group
 
Построение процесса тестирования
Построение процесса тестирования
Alexander Byndyu
 
геймификация
геймификация
WebSoft
 
Рабочая учебная программа
Рабочая учебная программа
Rauan Ibraikhan
 
терминология vol.2
терминология vol.2
SBTech
 
Общие темы. Тема 02.
Общие темы. Тема 02.
Igor Shkulipa
 
0480196 746 b8_lyasin_d_n_sankov_s_g_osnovy_programmirovaniya_v_srede_c_bui
0480196 746 b8_lyasin_d_n_sankov_s_g_osnovy_programmirovaniya_v_srede_c_bui
Anastasia Snegina
 
Ошибки начинающих Tdd практиков, плюсы применения
Ошибки начинающих Tdd практиков, плюсы применения
zheldak
 
Терминология как основной способ поиска разработчиков или как не опозорится п...
Терминология как основной способ поиска разработчиков или как не опозорится п...
SBTech
 
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
QA Club Minsk
 

Similar to Java 2 - Java Intro (20)

Алексей Иванов -- курс по стыку системной и программной инженерий
Алексей Иванов -- курс по стыку системной и программной инженерий
Anatoly Levenchuk
 
Java Core.docx
Java Core.docx
VolodymyrBurmus
 
Java Core. Lecture# 1. Intro
Java Core. Lecture# 1. Intro
Anton Moiseenko
 
Junior java standard edition developer
Junior java standard edition developer
Dmitriy Neguritsa
 
C# programming
C# programming
Alexander Babich
 
Готовимся к Java SE 7 Programmer: от новичка до профессионала за 45 дней
Готовимся к Java SE 7 Programmer: от новичка до профессионала за 45 дней
SkillFactory
 
Java осень 2013 лекция 1-1
Java осень 2013 лекция 1-1
Technopark
 
Java осень 2014 занятие 1
Java осень 2014 занятие 1
Technopark
 
Programming Java - Lection 01 - Basics - Lavrentyev Fedor
Programming Java - Lection 01 - Basics - Lavrentyev Fedor
Fedor Lavrentyev
 
Java Эффективное программирование 3 е издание 3rd Edition Джошуа Блох
Java Эффективное программирование 3 е издание 3rd Edition Джошуа Блох
puogjyor480
 
Java весна 2014 лекция 1
Java весна 2014 лекция 1
Technopark
 
Android - 01 - Java Basics
Android - 01 - Java Basics
Noveo
 
Есть ли жизнь без ООП? Суть ООП для новичков
Есть ли жизнь без ООП? Суть ООП для новичков
GoIT
 
QA Automation course 2014 - DIO-soft, Kyiv
QA Automation course 2014 - DIO-soft, Kyiv
Sergey Kochergan
 
Основы Java. ООП. Объекты, классы, интерфейсы
Основы Java. ООП. Объекты, классы, интерфейсы
Sergey Nemchinsky
 
я.прогр птп
я.прогр птп
Anastasia Snegina
 
C++ осень 2013 лекция 1
C++ осень 2013 лекция 1
Technopark
 
Буклет Технопарка
Буклет Технопарка
Dmitry Voloshin
 
Step 1
Step 1
DmitryTrushkin
 
Павел Павлов - Scala для профессионалов - Joker 2013
Павел Павлов - Scala для профессионалов - Joker 2013
ScalaNsk
 
Алексей Иванов -- курс по стыку системной и программной инженерий
Алексей Иванов -- курс по стыку системной и программной инженерий
Anatoly Levenchuk
 
Java Core. Lecture# 1. Intro
Java Core. Lecture# 1. Intro
Anton Moiseenko
 
Junior java standard edition developer
Junior java standard edition developer
Dmitriy Neguritsa
 
Готовимся к Java SE 7 Programmer: от новичка до профессионала за 45 дней
Готовимся к Java SE 7 Programmer: от новичка до профессионала за 45 дней
SkillFactory
 
Java осень 2013 лекция 1-1
Java осень 2013 лекция 1-1
Technopark
 
Java осень 2014 занятие 1
Java осень 2014 занятие 1
Technopark
 
Programming Java - Lection 01 - Basics - Lavrentyev Fedor
Programming Java - Lection 01 - Basics - Lavrentyev Fedor
Fedor Lavrentyev
 
Java Эффективное программирование 3 е издание 3rd Edition Джошуа Блох
Java Эффективное программирование 3 е издание 3rd Edition Джошуа Блох
puogjyor480
 
Java весна 2014 лекция 1
Java весна 2014 лекция 1
Technopark
 
Android - 01 - Java Basics
Android - 01 - Java Basics
Noveo
 
Есть ли жизнь без ООП? Суть ООП для новичков
Есть ли жизнь без ООП? Суть ООП для новичков
GoIT
 
QA Automation course 2014 - DIO-soft, Kyiv
QA Automation course 2014 - DIO-soft, Kyiv
Sergey Kochergan
 
Основы Java. ООП. Объекты, классы, интерфейсы
Основы Java. ООП. Объекты, классы, интерфейсы
Sergey Nemchinsky
 
C++ осень 2013 лекция 1
C++ осень 2013 лекция 1
Technopark
 
Буклет Технопарка
Буклет Технопарка
Dmitry Voloshin
 
Павел Павлов - Scala для профессионалов - Joker 2013
Павел Павлов - Scala для профессионалов - Joker 2013
ScalaNsk
 
Ad

More from Alexander Babich (20)

Актуальні курси з мого арсеналу (Бабич О.В.)
Актуальні курси з мого арсеналу (Бабич О.В.)
Alexander Babich
 
M365: Word, Excel, PowerPoint...
M365: Word, Excel, PowerPoint...
Alexander Babich
 
M365: Інші сервіси та застосунки
M365: Інші сервіси та застосунки
Alexander Babich
 
M365: OneDrive
M365: OneDrive
Alexander Babich
 
M365: Завершення
M365: Завершення
Alexander Babich
 
M365: SharePoint
M365: SharePoint
Alexander Babich
 
M365: рекомендації
M365: рекомендації
Alexander Babich
 
M365: Огляд платформи Microsoft365
M365: Огляд платформи Microsoft365
Alexander Babich
 
M365: Вступ
M365: Вступ
Alexander Babich
 
M365: Роздаткові матеріали
M365: Роздаткові матеріали
Alexander Babich
 
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptx
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptx
Alexander Babich
 
Ви обрали професію програміста
Ви обрали професію програміста
Alexander Babich
 
Змішане навчання в ППФК
Змішане навчання в ППФК
Alexander Babich
 
Формування професійних інтересів студентів
Формування професійних інтересів студентів
Alexander Babich
 
День відкритих дверей' 2021
День відкритих дверей' 2021
Alexander Babich
 
Спробуйте Python
Спробуйте Python
Alexander Babich
 
06. Обучение и сертификация по Azure
06. Обучение и сертификация по Azure
Alexander Babich
 
05.Внедрение Azure
05.Внедрение Azure
Alexander Babich
 
04.Службы Azure - подробнее
04.Службы Azure - подробнее
Alexander Babich
 
03.Сколько стоит облако
03.Сколько стоит облако
Alexander Babich
 
Актуальні курси з мого арсеналу (Бабич О.В.)
Актуальні курси з мого арсеналу (Бабич О.В.)
Alexander Babich
 
M365: Word, Excel, PowerPoint...
M365: Word, Excel, PowerPoint...
Alexander Babich
 
M365: Інші сервіси та застосунки
M365: Інші сервіси та застосунки
Alexander Babich
 
M365: Завершення
M365: Завершення
Alexander Babich
 
M365: рекомендації
M365: рекомендації
Alexander Babich
 
M365: Огляд платформи Microsoft365
M365: Огляд платформи Microsoft365
Alexander Babich
 
M365: Роздаткові матеріали
M365: Роздаткові матеріали
Alexander Babich
 
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptx
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptx
Alexander Babich
 
Ви обрали професію програміста
Ви обрали професію програміста
Alexander Babich
 
Змішане навчання в ППФК
Змішане навчання в ППФК
Alexander Babich
 
Формування професійних інтересів студентів
Формування професійних інтересів студентів
Alexander Babich
 
День відкритих дверей' 2021
День відкритих дверей' 2021
Alexander Babich
 
06. Обучение и сертификация по Azure
06. Обучение и сертификация по Azure
Alexander Babich
 
05.Внедрение Azure
05.Внедрение Azure
Alexander Babich
 
04.Службы Azure - подробнее
04.Службы Azure - подробнее
Alexander Babich
 
03.Сколько стоит облако
03.Сколько стоит облако
Alexander Babich
 
Ad

Java 2 - Java Intro

  • 1. Alexander V.Babich Call:+38(066)2906604 Email:[email protected] 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:[email protected] 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:[email protected] 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:[email protected] 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:[email protected] 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  Практическая работа Итоговое тестирование