Темы для сертификации Java SE8 OCA programmer I

by @java8oca_ru
Темы для сертификации Java SE8 OCA programmer I

Модуль 1: Вступление

Урок 1: Почему я хочу пройти Oracle Certified Associate Java Programmer I экзамен

Урок 2: Путь сертификации

Урок 3: Стратегия подготовки

Урок 4: Стратегия прохождения экзамена

  4.1: Как понимать вопросы экзамена

  4.2: Подготовка к экзаменационным вопросам, уверенность, и другие ресурсы

Модуль 2: Основы Java 

Урок 1: Определить область действия переменных

  1.1: Значение области видимости, блоков, и фигурные скобки

  1.2: Особые случаи области видимости

Урок 2: Определение структуры Java класса

  2.1: Java класс файлы: Содержание и правила наименований

  2.2: Java классы: Класс, переменные класса, методы и конструкторы

Урок 3: Создание исполняемого Java приложения с методом main; запуск программы Java из командной строки; включая вывод в консоль

  3.1: Создание исполняемого Java приложения с методом main

  3.2: Запуск Java из командной строки

  3.3: Управление classpath-ом

  3.4: Работа с выводом в консоль

Урок 4: Импорт других Java пакетов , чтобы сделать их доступными в вашем коде

  4.1: О пакетах и их предназначении

  4.2: Порядок выражений, wildcard импорты(всех классов-через оператор * ), импортирование подпакетов, и обработка дублирующих имен класс

Урок 5: Сравнение и различие особенностей и компонентов таких как Java: платформонезависимость,объектно ориентированность, инкапсуляция, и т.д.

  5.1: Понимание модели исполнения Java

  5.2: Понимание значений потоков и сборщика мусора(garbage collection)

  5.3: Понимание значений объектно-ориентированности и инкапсуляции

Модуль 3: Работа с типами данных в Java

Урок 1: Объявить и инициализировать переменные (включая приведение примитивных типов данных)

  1.1: Используем общую форму простого объявления

  1.2: Используем общую форму инициализированного объявления

  1.3: Понимание примитивных типов целочисленных, буквенная форма

  1.4: Понимание примитивных типов с плавающей точкой, буквенная форма

  1.5: Понимание примитивных типов логических и символьных, буквенная форма

  1.6: Приведение примитивных типов

Урок 2: Отличие между ссылочными переменными и примитивными переменными

  2.1: Использование оператора == с примитивами и ссылками

  2.2: Понимание устройства передачи аргументов в метод

Урок 3: Знать как читать или писать в объектные поля

  3.1: Выделение поля из выражение ссылок

  3.2: Использование "this" к полями доступа

  3.3: Примеры кода

Урок 4: Объяснение Жизненного цикла Объекта (создание, "отцепление ссылки переназначением" и сборка мусора)

  4.1: Понимание (выделения памяти)allocation и referencing(создание ссылок)

  4.2: Сборка мусора

Урок 5: Разработка кода который используется wrapper классами такими как Boolean, Double, и Integer

  5.1: Понимание и идентификация wrapper объектов(или объектов обёрток), понимание autoboxing-га

  5.2: Использование API класса Integer

Модуль 4: Использование Операторов и конструкций Решения

Урок 1: Используем Java операторы; включая скобки для переопределения операторов и их приоритетов

  1.1: Использование операторы, операнды, и выражения

  1.2: Использование арифметических операторов + - * / %

  1.3: Использование оператора + со строками(Strings)

  1.4: Продвижение операндов

  1.5: Использование операторов инкремента и декремента

  1.6: Использование операторов shift(сдвига)

  1.7: Использование операторов сравнения

  1.8: Использование операторов логических

  1.9: Использование операторов short-circuit

  1.10: Использование операторов присвоения

  1.11: Понимание совместимость присвоения

  1.12: Понимание других элементов выражений

  1.13: Использование скобок и приоритетов операторов

Урок 2: Тест равенства между Strings(Строками) и другими объектами применяя == и метод equals ()

  2.1: Понимание выражения оператора == и намеренное использование выражения equals ()

  2.2: Определяем если выражение equals() имплементировано, и реализация equals()

Урок 3: Создание if и if/else и тернарных конструкций

  3.1: Понимание базовой формы конструкций if и if/else

  3.2: Использование скобок со структурой if/else. Эффект от "else if"

  3.3: Понимание if / else if / else структуры

  3.4: Использование тернарных операторов

Урок 4: Использование switch выражения

  4.1: Использование общей формы конструкций switch, case, break, and default

  4.2: Примеры кода для общей формы конструкций switch

  4.3: Понимание конструкции break

  4.4: Определение типов для конструкции switch

Модуль 5: Создание и использование Arrays

Урок 1: Объявлять, создавать экземпляры, инициализировать и использовать одномерный массив

  1.1: Понимание простых объявлений массивов, и переменных типа массив

  1.2: Создание экземпляра массива, длина массива

  1.3: инициализация массива через итерации, индексы к массивам

  1.4: Использование комбинированного определения и инициализации массивов

  1.5: Использование немедленное создание массива вне объявления

  1.6: Инициализация массивов через копирование

Урок 2: Объявить, инстанцировать, инициализировать и использовать многомерные массивы

  2.1: Объявление многомерных массивов

  2.2: Использование немедленной инициализации многомерных массивов

  2.3: Использование итеративной инициализации многомерных массивов

  2.4: Примеры кода для многомерных массивов

Модуль 6: Использование Loop конструкций

Урок 1: Создать и использовать циклы while

  1.1: Создание и использование циклов while

  1.2: Примеры кода цикла while

Урок 2: Создать и использовать циклы for, включая улучшенный цикл for(также называемый как foreach)

  2.1: Понять простое использование цикла for

  2.2: Понять секцию инициализации цикла for

  2.3: Понимание секции теста(проверки) цикла for

  2.4: Понимание инкрементальной секции цикла for

  2.5: Опущение секции цикла for

  2.6: Примеры кода для базового цикла for

  2.7: Понять как простое использование улучшенного цикла for

  2.8: Идентификация действительных целей расширенного цикла for

  2.9: Использование расширенного цикла for с генерик коллекциями

  2.10: Примеры кода расширенного цикла

Урок 3: Создание и использование do/while циклов

  3.1: Создание и использование do/while циклов

Урок 4: Сравнение loop конструкций(циклов)

  4.1: Сравнение while и do while циклов

  4.2: Сравнение while и простого for циклов

  4.3: Сравнение while и расширенных циклов for работающих on Iterables

  4.4: Сравнение while и расширенных циклов for работающих on arrays

Урок 5: Использование break и continue операторов

  5.1: Использование break из одного цикл

  5.2: Использование continue в одном цикл

  5.3: Использование маркировки break из множественных циклов

  5.4: Использование маркировки continue из множественных циклов

Модуль 7: Работа с методами и инкапсуляцией

Урок 1: Создание методов с аргументами и возвращаемые значения включенные в перегруженные методы

  1.1: Создание "Методов"

  1.2: Примеры кода для обычных методов

  1.3: Понимание базового синтаксиса перегруженных методов

  1.4: Понимание правил и рекомендаций при использовании перегруженных методов

  1.5: Пример кода для перегруженных методов

  1.6: Использование списка аргументов переменной длины

Урок 2: Применение ключевого слова static к методам и полям

  2.1: Сравнение полей класса и полей объекта

  2.2: Использование статических методов

  2.3: Пример кода

Урок 3: Создание и перегрузка конструктора; включая воздействие на дефолтный конструктор

  3.1: Создание и перегрузка конструкторов

  3.2: Различия между дефолтным и пользовательско заданным конструкторами

Урок 4: Применение модификаторов доступа

  4.1: Использование модификатора доступа public и private

  4.2: Использование модификатора доступа default и protected

Урок 5: Применение принципов инкапсуляции к классу

  5.1: Проектирование инкапсуляции

  5.2: Реализация инкапсуляции

Урок 6: Определяем эффект воздействия ссылочных объектов и примитивных значений когда они передаются в методы и изменяют своё значение

  6.1: Изменение значений через локальные переменные метода

  6.2: Изменение значения локальных переменных метода

  6.3: Пример кода

Модуль 8: Работа с наследованием

Урок 1: объявление наследования и его преимущества and its benefits

  1.1: Понимание интерфейса и реализации наследования

  1.2: Базовый код реализации наследования

  1.3: Изменение унаследованного поведения

  1.4: Примеры кода

  1.5: Философия и терминология наследования (Часть 1)

  1.6: Философия и терминология наследования (Часть 2)

Урок 2: Разработка кода который демонстрирует использование полиморфизма

  2.1: Понимание концепций полиморфизма

  2.2: Примеры кода

  2.3: Понимание главной терминологии полиморфизма

  2.4: Понимание типа переменных и типа объектов

  2.5: определение типа объектов

  2.6: Примеры кода

Урок 3: Определение когда необходимо приведение типов

  3.1: Понимание принципа подстановки Liskov'а и отношение являться"is a"

  3.2: Распознавание невозможного присвоения

  3.3: Понимание приведение типов интерфейса в присвоениях

Урок 4: Использование выражения "super" и "this" для доступа объектов и конструкторов

  4.1: Понимание "this" для доступа особенностей объекта

  4.2: Понимание "super" для доступа особенностей родительского объекта

  4.3: Понимание "this()" для доступа перегруженных конструкторов

  4.4: Понимание "super()" для доступа к родительским конструкторам

  4.5: Понимание глубинных принципов "this" и "super" для вызова других конструкторов

  4.6: Примеры кода

Урок 5: Используем абстрактные классы и интерфейсов

  5.1: Предотвращение создания экземпляра

  5.2: Помечаем поведение абстрактного объекта

  5.3: Понимание правил работы абстрактных классов и методов

  5.4: Понимание и определение интерфейсов

  5.5: Реализуем and используем интерфейсы

  5.6: Примеры кода для интерфейсов

  5.7: Понимание правил взаимодействия с интерфейсами

Модуль 9: Обработка Исключений

Урок 1: Различие между checked exceptions, RuntimeExceptions и Errors

  1.1: Понимание типов exception(исключений)

Урок 2: Создание конструкции try-catch и определение как exceptions(исключения) изменяют нормальное поведение программы

  2.1: Пишем try и catch в коде

  2.2: Передаём exception(исключение) на вызывающий метод

  2.3: Использование конструкции finally для подчистки ресурсов

  2.4: Использование конструкции try with resources

  2.5: Пример кода для конструкции вида try / catch / finally

  2.6: Пример кода для конструкции вида try with resources

Урок 3: Описание преимуществ обработки класса Exception(Исключения)

  3.1: Разбор философии механизма исключений

Урок 4: Создание и вызов метода который throws(выбрасывает) exception(исключение)

  4.1: Обработка выбрасываемых exceptions(исключений)

  4.2: Примеры кода

Урок 5: Определение общих классов exception(исключений) и категорий (таких как NullPointerException, ArithmenticException, ArrayIndexOutOfBoundsException, ClassCastException)

  5.1: Общие классы Exception(Исключения)

Модуль 10: Работа с отобранными классами из Java API

Урок 1: Понимание общих конструкторов класса StringBuilder

  1.1: Понимание общих конструкторов класса StringBuilder

  1.2: Использование методов которые изменяют состояние класса StringBuilder

  1.3 Использование методов чтобы читать и искать в классе StringBuilder, и использование методов для взаимодействия с внутренним хранилищем классов типа StringBuilder

Урок 2: Создание и управление классами String

  2.1: Создание классов типа String

  2.2: Понимание общих методов класса String: Immutability(Неизменность)

  2.3: Использование общих методов класса String

  2.4: Использование common String methods to perform comparisons

Урок 3: Создание и управление данными календаря используя классы из java.time.LocalDateTime, java.time.LocalDate, java.time.LocalTime, java.time.format.DateTimeFormatter, java.time.Period

  3.1: Создание объектов Time(времени) и Date(даты)

  3.2: Изменение Times(времен) и Dates(дат)

  3.3: Использование форматирования через DateTimeFormatter

  3.4: Сравнение и упорядочивание Times(часового времени) и Dates(времени дат) и использование класса Period(времени периодов)

Урок 4: Объявление и использование ArrayList-а и данных типов

  4.1: Понимание цели и преимуществ ArrayList-а

  4.2: Объявление и инициализация ArrayList-а

  4.3: Использование общих методов и использования ArrayList-а

  4.4: Использование документации и кода для ArrayList-а

  4.5: Понимание работы простых дженериков с ArrayList

Урок 5: Написать простое Lambda(Лямбда) выражение, которое потребляет как Lambda(Лямбда) Predicate(Предикат) выражение

  5.1: Понимание Predicate(Предикат) интерфейса

  5.2: Создание Lambda(Лямбда) выражений для Predicates(Предикатов)

  5.3: Пересмотреть правила для Lambda(Лямбда) выражений

Вывод

November 14, 2018
by Timur Isa