10 клас
|
||
1.2. Оголошення
змінних. Ідентифікатори. Ключові слова. Типи даних String, int. Oператор
System.out.print(). Конкатенація
1.3. Арифметичні операції. Тип даних double. Операція ділення за модулем, в т.ч. ділення за модулем від’ємних чисел. Взаємні перетворення (casting) типів int та double. 1.4. Двійкова система числення. Взаємні перетворення цілих чисел в двійковій та десятковій системах числення. Додавання в двійковій системі. Шістнадцяткова та вісімкова системи числення 1.5. Розрядна сітка комп’ютера та діапазони представлення чисел. Представлення цілих від’ємних чисел в двійковій системі. Типи даних byte, short, long 1.6. Тип даних float. Перетворення типів даних 1.7. Інкремент та декремент. Операції з присвоєнням |
||
2.1. Операції порівняння. Формат boolean.
Оператори if та if-else.
2.2. Тернарний оператор. 2.3. Вкладені оператори if. Практична робота №1 2.4. Оператор switch-case. 2.5. Логічні функції NOT, AND, OR, XOR. 2.6. Замикальні функції. 2.7. Аналогія та різниця між вкладеними операторами if, простими та замикальними логічними функціями. 2.8. Побітові функції NOT, AND, OR, XOR. 2.9. Пріоритети виконання арифметичних та логічних операцій. |
||
3.1. Цикли.
Оператор for.
Лабораторна робота: «Циклічне
виведення числових послідовностей в прямому, зворотньому порядках»
Лабораторна робота: «Виведення
чисел Фібоначі»
Лабораторна робота: «Виведення
чисел, що діляться без залишку на декілька дільників»
Лабораторна робота: «Виведення
простих чисел»
3.5. Вкладені
цикли.
Лабораторна робота: «Табличне
виведення числових послідовностей»
Лабораторна робота: «Виведення
точкових трикутників»
|
||
4.1. Одновимірні масиви. Поле length.
Лабораторна робота: «Визначення максимального та мінімального елементів масиву» Лабораторна робота: «Пошук елемента в масиві та визначення кількості повторів елемента» 4.2. Обробка масивів без розгалужень. Лабораторна робота: «Визначення середнього арифметичного елементів масиву та кількості елементів, що є більшими за середнє арифметичне» Лабораторна робота: «Утворення третього масиву як попарної суми елементів двох масивів однакової довжини» 4.3. Оператор foreach. Лабораторна робота: «Утворення третього масиву як конкатенації двох масивів різної довжини» Лабораторна робота: «В масиві з елементами, що не повторюються, поміняти місцями максимум та мінімум» 4.4. Введення рядкового масиву з командного рядка аргументом методу main(). Лабораторна робота: «В масиві з елементами, що не повторюються, усунути максимум та мінімум» Лабораторна робота: «Масив поділити на два масиви: з додатніх та від’ємних елементів» 4.5. Обробка масивів із розгалуженням. Лабораторна робота: «З масиву видалити дублікати максимума та мінімума» 4.6. Обробка масивів із утворенням масиву-результату відомої довжини. Лабораторна робота:«Виконати циклічний зсув матриці на k1 позицій вправо та на k2 догори» Лабораторна робота:«Відняти від елементів кожного рядка матриці середнє арифметичне рядка» 4.7. Обробка масивів із утворенням масиву-результату невідомої довжини. Лабораторна робота: «Видалити в двовимірній матриці з елементами, що не повторюються, рядок та стовпчик із максимальним елементом» 4.8. Двовимірні масиви. Лабораторна робота: «В двовимірній матриці з елементами, що не повторюються, поміняти місцями рядок і стовпчик з максимумом та рядок і стовпчик з мінімумом» |
||
5.6. Оголошення
методів.
5.9. Передавання в
метод в якості аргументів примітивів та посилань.
Лабораторна робота: «Розробка проекту Calculator для виконання арифметичних операцій над цілими числами»
5.10. Типи методів. Конструктори.
Лабораторна робота: «Розробка проекту FractionCalculator для виконання арифметичних операцій над звичайними дробами»
5.11. Перевантаження конструкторів.
Лабораторна робота: «Розробка проекту VectorCalculator для виконання операцій з векторами»
5.12. Перевантаження методів.
Лабораторна робота: «Виведення українізованого календаря поточного місяця із використанням АРІ класу GregorianCalendar»
5.13. Особливості ініціалізації змінних: способи, блоки,
порядок.
Лабораторна робота: «Виведення днів тижня власної дати народження останніх років із використанням АРІ класу GregorianCalendar» |
||
6.1. Поняття наслідування, відношення is-a, has-a.
6.2. UML- діаграми 6.3. Пакети. Import. Static import 6.4. Модифікатори доступу. Лабораторна робота: «Дослідження доступу до полів класу із різними модифікаторами» |
||
7.1. Ключове
слово this.
7.2. Ключове слово super. 7.3. Клас Object. 7.4. Перевизначення методів. 7.5. Перевизначення методів toString(), equals() класу Object. Лабораторна робота: «Розробка підкласів із перевизначеними методами toString()» 7.6. Метод hashCode(). Лабораторна робота: «Розробка підкласів із перевизначеними методами equals ()» 7.7. Covariant Returns.
7.8. Поліморфізм.
Лабораторна робота: «Дослідження переваг та обмежень методів із поліморфними аргументами» 7.9. Раннє та пізнє зв’язування. 7.10. Ключове слово final – методи та класи. 7.11. Ключове слово final – примітивні змінні. 7.12. Ключове слово final – об’єктні змінні. 7.13. Приведення типів. 7.14. Оператор instanceof. Лабораторна робота: «Дослідження методів із коваріантним повертанням» |
||
8.1. Абстрактні класи.
8.2. Інтерфейси. 8.3. Реалізація множинного наслідування через інтерфейси. 8.4. Інтерфейс Comparable. 8.5. Інтерфейс Comparator. 8.6. Колекція ArrayList. 8.7. Сортування масивів та ArrayList за допомогою інтерфейсів Comparable та Comparator. Лабораторна робота: «Сортування масивів та ArrayList за допомогою інтерфейсів Comparable та Comparator» |
||
9.1. Типи переривань. Exceptions.
9.2. Блоки try, catch, finally. 9.3. Множинний catch. 9.4. Розповсюдження неперехоплених винятків. Лабораторна робота: «Дослідження методів із ArithmeticException та ArrayIndexOfBoundsException» 9.5. Оператор throws. 9.6. Оператор throw. 9.7. Ієрархія Throwable. Контрольовані та неконтрольовані винятки. Лабораторна робота:«Дослідження методів із IOException» 9.8. Класи винятків, створені користувачем. 9.9. Винятки в перевизначених методах. Лабораторна робота: «Використання оператора throws в методах із контрольованими та неконтрольованими винятками» |
||
10.1. Strings – властивість immutable.
10.2. Особливості літеральних Strings, поняття пула для Strings. 10.3. Класи StringBuffer, StringBuilder. 10.4. Збирач сміття Garbage Сollector. 10.5. Використання var-args. Лабораторна робота: «Використання операції “ = = ” та методу equals( ) для порівняння Strings, StringBuilder, Wrappers» 10.6. Вимоги стандарту JavaBeansNaming. 10.7. Wrappers, autoboxing, autounboxing. Пул для Wrappers. Лабораторна робота: «Взаємні перетворення Strings та Wrappers» 10.8. Класи Date, Locale. 10.9. Класи пакету java.time. Лабораторна робота: «Робота з класами пакету java.time» 10.10. Призначення Lambda-виразів. 10.11. Синтаксис Lambda-виразів. Лабораторна робота: «Дослідження Lambda-виразів» 10.12. Пакет java.util.function. Функціональний інтерфейс Predicate. |
||
Лабораторна робота: «Реалізація множинного
наслідування через анонімні внутрішні класи»
11.13 Класи
DirectoryStream, FileVisitor, PathMatcher, WatchService.
Лабораторна робота: «Розробка
шифратора файлових даних засобами Swing»
|
||
11 клас
|
||
1.1. Байтові потоки. Ієрархія.
1.2. Серіалізація. 1.3. Серіалізація та наслідування. 1.4. Нестандартна серіалізація. 1.5. Інтерфейс Externalizable. Практична робота Практична робота: «Використання privat-методів та інтерфейсу Externalizable для збереження у файлі об’єктів класів із несеріалізованими суперкласами та несеріалізованими полями» 1.6. Основи JavaFX. 1.7. Властивості JavaFX. 1.8. Компоновка в JavaFX. 1.9. Мова розмітки FXML. Практична робота Практична робота: «Розробка шифратора файлових даних засобами JavaFX» |
||
Розкладання
рядків на лексеми. Форматоване виведення даних
Клас StringBuffer 2.1 Основи рarsing, клас StringTokenizer. Лабораторна робота 1. «Пошук та виведення без повторів слів заданої довжини в запитальних реченнях» 2.2 Основи технології регулярних виразів. Класи Pattern, Matcher, Scanner. Лабораторна робота 2. «Визначення кількості всіх розділових знаків у тексті» 2.3 Приклади обробки Strings із використанням технології регулярних виразів. 2.4 Клас Formatter. Форматоване виведення чисел та грошових даних. |
||
Лабораторна робота: «Використання еnums в проекті seasons
з перевизначеним методом relax() для літа та зими»
3.3. Клас java.lang.Class. Основи рефлексії. 3.4. Використання аssertions. 3.5. Пошук файлів за допомогою classpath.
Лабораторна робота: «Використання
опції – classpath для компіляції програми»
3.6. Використання jar-файлів. 3.7. Aнотації. |
||
4.1. Створення,
побудова та ініціалізація одно- та багатовимірних масивів примітивних та
об’єктних змінних.
4.2. Клас Arrays.
Лабораторна робота: «Дослідження
методів класу Arrays»
4.3. Ієрархія колекцій. Інтерфейс Collections. 4.4. Інтерфейси List, Set, Queue. Класи, що реалізують ці інтерфейси. 4.5. Інтерфейси Map та MapEntry. 4.6. Взаємні перетворення колекцій та карт.
Лабораторна робота: «Взаємні перетворення колекцій та
карт»
4.7. Backed Collections. 4.8. Hash-таблиці. 4.9. Hash-контракт для ключів HashMaps. Лабораторна робота: «Дослідження hash-контрактів ключів при пошуку даних в HashMaps» |
||
5.1.
Оголошення Generic-класів. Призначення Generics.
5.2. Оголошення Generic-методів. 5.3. Обмеження при оголошенні Generic-класів. 5.4. Шаблони в Generic-аргументах методів. 5.5. Generic-колекції. 5.6. Ключові слова extends та super в Generic-оголошеннях. 5.7. Алгоритми Generic-колекцій класу Collection. Лабораторна робота: «Дослідження алгоритмів класу Collection» |
||
6.1. Структура Android-проекту.
6.2. Прості Android-проекти із використанням текстів та кнопок. 6.3. Навігація між вікнами Android-проекту.
Лабораторна робота: «Розробка одновіконного калькулятора»
6.4. Використання адаптерів для виведення списків в Android-проекті. Лабораторні роботи: «Розробка двохвіконного калькулятора із виведенням результатів в другому вікні» «Розробка багатофункціонального записника на основі телефонного довідника» |
||
7.1.
Основи баз даних - таблиці, ключі, зв’язки таблиць.
7.2.Основи мови SQL - оператори select, insert, update, delete. 7.3.Встановлення з’єднання з базою даних засобами JDBC. Класи DriverManager та Connection. 7.4.Створення запитів. Класи Statement та ResultSet. Інтерфейси PreparedStatement та CallableStatement 7.5. Обробка результатів запитів. Клас ResultSet. Лабораторна робота: «Пошук в базі даних рядків, параметри яких задовольняють заданим умовам, та форматоване занесення у файл відсортованих знайдених даних» |
||
8.1. Поняття багатопотоковості. Прості методи класу
Threads.
8.2. Способи створення потоків. 8.3. Стани потоків. Планувальник черги потоків. Методи join(), yield(). 8.4. Приклади аналізу багатопотокових кодів. 8.5. Синхронізація потоків.
Лабораторна робота:
«Дослідження циклічних процесів виконання арифметичних операцій в багатопотоковому асинхронному режимі» 8.6. Взаємодія потоків. Методи wait(), notify(). Лабораторна робота: «Розробка синхронізованої багатопотокової системи продажу квитків» |
||
9.1.
Пакети java.util.concurrent, java.util.concurrent.atomic,
java.util.concurrent.locks.
9.2. Потокобезпечні колекції. 9.3. Інтерфейси Callable та Future. 9.4. Клас Executors. 9.5. Класи-синхронізатори. 9.6. Фреймворк Fork/Join. Лабораторна робота: «Розробка паралельної системи пошуку файлів по заданому критерію» |
||
10.1.
Призначення та типи шаблонів проектування
10.2. Шаблон Singleton. 10.3. Шаблон Factory. 10.4. Шаблон DAO (Data Access Object). |
||
11.1.
Зміни в структурі інтерфейсів.
11.2. Функціональні інтерфейси пакету java.util.function. 11.3. Посилання на методи та конструктори. 11.4. Обробка колекцій із використанням Lambda-виразів. 11.5. Представлення колекцій паралельними потоками введення-виведення. 11.6. Групові операції. Клас Collectors. 11.7. Декомпоиція та редукція потоків. 11.8. Збереження стану потоків, операції зведення. Тип даних Optional. Лабораторна робота: «Визначення в багатопотоковому режимі середнього арифметичного елементів списку цілих чисел» |
||
12.1.
Основи JavaScript. Функції JavaScript.
12.2. Призначення та способи виконання інтерпретатора Nashorn. 12.2. Робота з числами, рядками, масивами, колекціями, методами, об’єктами. 12.3. Функція Java.extend(). 12.4. Інтерпретація лямбда-виразів та винятків. 12.5. Використання інтерпретатора Nashorn в графічних проектах JavaFX. Лабораторна робота: «Порівняльна розробка графічних систем виведення числових даних з файлу у вигляді кругових діаграм із використанням JavaFX та інтерпретатора Nashorn» |